| 
1
 | 
     1 <html>
 | 
| 
 | 
     2 <head>
 | 
| 
 | 
     3 <title>MayaChemTools:Documentation:MolecularDescriptors::MolecularDescriptorsGenerator.pm</title>
 | 
| 
 | 
     4 <meta http-equiv="content-type" content="text/html;charset=utf-8">
 | 
| 
 | 
     5 <link rel="stylesheet" type="text/css" href="../../css/MayaChemTools.css">
 | 
| 
 | 
     6 </head>
 | 
| 
 | 
     7 <body leftmargin="20" rightmargin="20" topmargin="10" bottommargin="10">
 | 
| 
 | 
     8 <br/>
 | 
| 
 | 
     9 <center>
 | 
| 
 | 
    10 <a href="http://www.mayachemtools.org" title="MayaChemTools Home"><img src="../../images/MayaChemToolsLogo.gif" border="0" alt="MayaChemTools"></a>
 | 
| 
 | 
    11 </center>
 | 
| 
 | 
    12 <br/>
 | 
| 
 | 
    13 <div class="DocNav">
 | 
| 
 | 
    14 <table width="100%" border=0 cellpadding=0 cellspacing=2>
 | 
| 
 | 
    15 <tr align="left" valign="top"><td width="33%" align="left"><a href="./MolecularDescriptors.html" title="MolecularDescriptors.html">Previous</a>  <a href="./index.html" title="Table of Contents">TOC</a>  <a href="./MolecularVolumeDescriptors.html" title="MolecularVolumeDescriptors.html">Next</a></td><td width="34%" align="middle"><strong>MolecularDescriptors::MolecularDescriptorsGenerator.pm</strong></td><td width="33%" align="right"><a href="././code/MolecularDescriptorsGenerator.html" title="View source code">Code</a> | <a href="./../pdf/MolecularDescriptorsGenerator.pdf" title="PDF US Letter Size">PDF</a> | <a href="./../pdfgreen/MolecularDescriptorsGenerator.pdf" title="PDF US Letter Size with narrow margins: www.changethemargins.com">PDFGreen</a> | <a href="./../pdfa4/MolecularDescriptorsGenerator.pdf" title="PDF A4 Size">PDFA4</a> | <a href="./../pdfa4green/MolecularDescriptorsGenerator.pdf" title="PDF A4 Size with narrow margins: www.changethemargins.com">PDFA4Green</a></td></tr>
 | 
| 
 | 
    16 </table>
 | 
| 
 | 
    17 </div>
 | 
| 
 | 
    18 <p>
 | 
| 
 | 
    19 </p>
 | 
| 
 | 
    20 <h2>NAME</h2>
 | 
| 
 | 
    21 <p>MolecularDescriptorsGenerator</p>
 | 
| 
 | 
    22 <p>
 | 
| 
 | 
    23 </p>
 | 
| 
 | 
    24 <h2>SYNOPSIS</h2>
 | 
| 
 | 
    25 <p>use MolecularDescriptors::MolecularDescriptorsGenerator;</p>
 | 
| 
 | 
    26 <p>use MolecularDescriptors::MolecularDescriptorsGenerator qw(:all);</p>
 | 
| 
 | 
    27 <p>
 | 
| 
 | 
    28 </p>
 | 
| 
 | 
    29 <h2>DESCRIPTION</h2>
 | 
| 
 | 
    30 <p><strong>MolecularDescriptorsGenerator</strong> class provides the following methods:</p>
 | 
| 
 | 
    31 <p> <a href="#new">new</a>, <a href="#generatedescriptors">GenerateDescriptors</a>, <a href="#getavailableclassanddescriptornames">GetAvailableClassAndDescriptorNames</a>
 | 
| 
 | 
    32 , <a href="#getavailableclassnamefordescriptorname">GetAvailableClassNameForDescriptorName</a>, <a href="#getavailabledescriptorclassnames">GetAvailableDescriptorClassNames</a>
 | 
| 
 | 
    33 , <a href="#getavailabledescriptornames">GetAvailableDescriptorNames</a>, <a href="#getavailabledescriptornamesfordescriptorclass">GetAvailableDescriptorNamesForDescriptorClass</a>
 | 
| 
 | 
    34 , <a href="#getdescriptorclassparameters">GetDescriptorClassParameters</a>, <a href="#getdescriptornames">GetDescriptorNames</a>, <a href="#getdescriptornamesandvalues">GetDescriptorNamesAndValues</a>
 | 
| 
 | 
    35 , <a href="#getdescriptorvaluebyname">GetDescriptorValueByName</a>, <a href="#getdescriptorvalues">GetDescriptorValues</a>, <a href="#getruleof3descriptornames">GetRuleOf3DescriptorNames</a>
 | 
| 
 | 
    36 , <a href="#getruleof5descriptornames">GetRuleOf5DescriptorNames</a>, <a href="#isdescriptorclassnameavailable">IsDescriptorClassNameAvailable</a>
 | 
| 
 | 
    37 , <a href="#isdescriptornameavailable">IsDescriptorNameAvailable</a>, <a href="#isdescriptorsgenerationsuccessful">IsDescriptorsGenerationSuccessful</a>
 | 
| 
 | 
    38 , <a href="#setdescriptorclassparameters">SetDescriptorClassParameters</a>, <a href="#setdescriptornames">SetDescriptorNames</a>, <a href="#setmode">SetMode</a>, <a href="#setmolecule">SetMolecule</a>
 | 
| 
 | 
    39 , <a href="#stringifymoleculardescriptorsgenerator">StringifyMolecularDescriptorsGenerator</a>
 | 
| 
 | 
    40 </p><p><strong>MolecularDescriptorsGenerator</strong> is derived from is derived from <strong>ObjectProperty</strong>
 | 
| 
 | 
    41 base class that provides methods not explicitly defined in <strong>MolecularDescriptorsGenerator</strong>
 | 
| 
 | 
    42 or <strong>ObjectProperty</strong> classes using Perl's AUTOLOAD functionality. These methods are
 | 
| 
 | 
    43 generated on-the-fly for a specified object property:</p>
 | 
| 
 | 
    44 <div class="OptionsBox">
 | 
| 
 | 
    45     Set<PropertyName>(<PropertyValue>);
 | 
| 
 | 
    46 <br/>    $PropertyValue = Get<PropertyName>();
 | 
| 
 | 
    47 <br/>    Delete<PropertyName>();</div>
 | 
| 
 | 
    48 <p><strong>MolecularDescriptorsGenerator</strong> is designed to provide a plug-in environment for
 | 
| 
 | 
    49 molecular descriptors development. The molecular descriptor class modules available
 | 
| 
 | 
    50 in <strong>MolecularDescriptors</strong> directory under <strong>MayaChemTools/lib</strong> directory are
 | 
| 
 | 
    51 automatically detected and loaded into the system. The descriptor names provided
 | 
| 
 | 
    52 by each descriptor class module through its <strong>GetDescriptorNames</strong> function are
 | 
| 
 | 
    53 retrieved and are made available for calculations of their values for a specified
 | 
| 
 | 
    54 molecule.</p>
 | 
| 
 | 
    55 <p>Any combination of available descriptor names can be specified during calculation
 | 
| 
 | 
    56 of descriptor values using <strong>GenerateDescriptors</strong> method. The current release of
 | 
| 
 | 
    57 MayaChemTools supports generation of four sets of descriptors: All available
 | 
| 
 | 
    58 descriptors, rule of 5 or 3 descriptors, or a specified set of descriptor names.</p>
 | 
| 
 | 
    59 <p>RuleOf5 [ Ref 91 ] descriptor names are: MolecularWeight, HydrogenBondDonors,
 | 
| 
 | 
    60 HydrogenBondAcceptors, SLogP. RuleOf5 states: MolecularWeight <= 500,
 | 
| 
 | 
    61 HydrogenBondDonors <= 5, HydrogenBondAcceptors <= 10, and logP <= 5.</p>
 | 
| 
 | 
    62 <p>RuleOf3 [ Ref 92 ] descriptor names are: MolecularWeight, RotatableBonds,
 | 
| 
 | 
    63 HydrogenBondDonors, HydrogenBondAcceptors, SLogP, TPSA. RuleOf3 states:
 | 
| 
 | 
    64 MolecularWeight <= 300, RotatableBonds <= 3, HydrogenBondDonors <= 3,
 | 
| 
 | 
    65 HydrogenBondAcceptors <= 3, logP <= 3, and TPSA <= 60.</p>
 | 
| 
 | 
    66 <p>Before calculation of a specified set of descriptors by <strong>GenerateDescriptors</strong>
 | 
| 
 | 
    67 method, a set of descriptor calculation control parameters for a specific descriptor
 | 
| 
 | 
    68 class name can be set using <strong>SetDescriptorClassParameters</strong> method. The specified
 | 
| 
 | 
    69 control parameter names and values are simply passed on to specified descriptor
 | 
| 
 | 
    70 class during instantiation of descriptor class object without performing any validation
 | 
| 
 | 
    71 of parameter names and associated values. It's up to the appropriate descriptor class methods
 | 
| 
 | 
    72 to validate these parameters and values. In addition to specified parameter names and
 | 
| 
 | 
    73 values, the parameter hash must also contain descriptor class name as key and
 | 
| 
 | 
    74 value pair with DescriptorClassName as key with class name as value.</p>
 | 
| 
 | 
    75 <p>
 | 
| 
 | 
    76 </p>
 | 
| 
 | 
    77 <h2>METHODS</h2>
 | 
| 
 | 
    78 <dl>
 | 
| 
 | 
    79 <dt><strong><a name="new" class="item"><strong>new</strong></a></strong></dt>
 | 
| 
 | 
    80 <dd>
 | 
| 
 | 
    81 <div class="OptionsBox">
 | 
| 
 | 
    82     $NewMolecularDescriptorsGenerator = new MolecularDescriptors::
 | 
| 
 | 
    83                                         MolecularDescriptorsGenerator(
 | 
| 
 | 
    84                                         %NamesAndValues);</div>
 | 
| 
 | 
    85 <p>Using specified <em>MolecularDescriptorsGenerator</em> property names and values hash, <strong>new</strong>
 | 
| 
 | 
    86 method creates a new object and returns a reference to newly created <strong>MolecularDescriptorsGenerator</strong>
 | 
| 
 | 
    87 object. By default, the following properties are initialized:</p>
 | 
| 
 | 
    88 <div class="OptionsBox">
 | 
| 
 | 
    89     Mode = 'All'
 | 
| 
 | 
    90 <br/>    @{$This->{DescriptorNames}} = ()
 | 
| 
 | 
    91 <br/>    %{$This->{DescriptorClassParameters}} = ()
 | 
| 
 | 
    92 <br/>    @{$This->{DescriptorClassNames}} = ()
 | 
| 
 | 
    93 <br/>    %{$This->{DescriptorClassObjects}} = ()
 | 
| 
 | 
    94 <br/>    @{$This->{DescriptorValues}} = ()</div>
 | 
| 
 | 
    95 <p>Examples:</p>
 | 
| 
 | 
    96 <div class="OptionsBox">
 | 
| 
 | 
    97     $MolecularDescriptorsGenerator = new MolecularDescriptors::
 | 
| 
 | 
    98                                      MolecularDescriptorsGenerator(
 | 
| 
 | 
    99                               'Molecule' => $Molecule);</div>
 | 
| 
 | 
   100 <div class="OptionsBox">
 | 
| 
 | 
   101     @DescriptorNames = qw(MolecularWeight HydrogenBondDonors Fsp3Carbons)
 | 
| 
 | 
   102 <br/>    $MolecularDescriptorsGenerator = new MolecularDescriptors::
 | 
| 
 | 
   103                                      MolecularDescriptorsGenerator(
 | 
| 
 | 
   104                               'Mode' => 'Specify',
 | 
| 
 | 
   105                               'DescriptorNames' => \@DescriptorNames);</div>
 | 
| 
 | 
   106 <div class="OptionsBox">
 | 
| 
 | 
   107     $MolecularDescriptorsGenerator->SetDescriptorClassParameters(
 | 
| 
 | 
   108                               'DescriptorClassName' => 'WeightAndMassDescriptors',
 | 
| 
 | 
   109                               'WeightPrecision' => 2,
 | 
| 
 | 
   110                               'MassPrecision' => 2);</div>
 | 
| 
 | 
   111 <div class="OptionsBox">
 | 
| 
 | 
   112     $MolecularDescriptorsGenerator->SetDescriptorClassParameters(
 | 
| 
 | 
   113                               'DescriptorClassName' => 'HydrogenBondsDescriptors',
 | 
| 
 | 
   114                               'HydrogenBondsType' => 'HBondsType1');</div>
 | 
| 
 | 
   115 <div class="OptionsBox">
 | 
| 
 | 
   116     $MolecularDescriptorsGenerator->SetMolecule($Molecule);
 | 
| 
 | 
   117 <br/>    $MolecularDescriptorsGenerator->GenerateDescriptors();
 | 
| 
 | 
   118 <br/>    print "MolecularDescriptorsGenerator: $MolecularDescriptorsGenerator\n";</div>
 | 
| 
 | 
   119 </dd>
 | 
| 
 | 
   120 <dt><strong><a name="generatedescriptors" class="item"><strong>GenerateDescriptors</strong></a></strong></dt>
 | 
| 
 | 
   121 <dd>
 | 
| 
 | 
   122 <div class="OptionsBox">
 | 
| 
 | 
   123     $MolecularDescriptorsGenerator->GenerateDescriptors();</div>
 | 
| 
 | 
   124 <p>Calculates descriptor values for specified descriptors and returns <em>MolecularDescriptorsGenerator</em>.</p>
 | 
| 
 | 
   125 <p>Descriptor class objects are instantiated only once at first invocation. During
 | 
| 
 | 
   126 subsequent calls to <strong>GenerateDescriptors</strong> method, descriptor values are
 | 
| 
 | 
   127 initialized and <strong>GenerateDescriptors</strong> method provided by descriptor class is
 | 
| 
 | 
   128 used to calculate descriptor values for specified descriptors.</p>
 | 
| 
 | 
   129 </dd>
 | 
| 
 | 
   130 <dt><strong><a name="getavailableclassanddescriptornames" class="item"><strong>GetAvailableClassAndDescriptorNames</strong></a></strong></dt>
 | 
| 
 | 
   131 <dd>
 | 
| 
 | 
   132 <div class="OptionsBox">
 | 
| 
 | 
   133     %ClassAndDescriptorNames = $MolecularDescriptorsGenerator->
 | 
| 
 | 
   134                               GetAvailableClassAndDescriptorNames();
 | 
| 
 | 
   135 <br/>    %ClassAndDescriptorNames = MolecularDescriptors::
 | 
| 
 | 
   136                                MolecularDescriptorsGenerator::
 | 
| 
 | 
   137                                GetAvailableClassAndDescriptorNames();</div>
 | 
| 
 | 
   138 <p>Returns available descriptors class and descriptors names as a hash containing key
 | 
| 
 | 
   139 and value pairs corresponding to class name and an array of descriptor names
 | 
| 
 | 
   140 available for the class.</p>
 | 
| 
 | 
   141 </dd>
 | 
| 
 | 
   142 <dt><strong><a name="getavailableclassnamefordescriptorname" class="item"><strong>GetAvailableClassNameForDescriptorName</strong></a></strong></dt>
 | 
| 
 | 
   143 <dd>
 | 
| 
 | 
   144 <div class="OptionsBox">
 | 
| 
 | 
   145     $DescriptorClassName = $MolecularDescriptorsGenerator->
 | 
| 
 | 
   146                       GetAvailableClassNameForDescriptorName($DescriptorName);</div>
 | 
| 
 | 
   147 <div class="OptionsBox">
 | 
| 
 | 
   148     $DescriptorClassName = MolecularDescriptors::MolecularDescriptorsGenerator::
 | 
| 
 | 
   149                       GetAvailableClassNameForDescriptorName($DescriptorName);</div>
 | 
| 
 | 
   150 <p>Returns available descriptor class name for a descriptor name.</p>
 | 
| 
 | 
   151 </dd>
 | 
| 
 | 
   152 <dt><strong><a name="getavailabledescriptorclassnames" class="item"><strong>GetAvailableDescriptorClassNames</strong></a></strong></dt>
 | 
| 
 | 
   153 <dd>
 | 
| 
 | 
   154 <div class="OptionsBox">
 | 
| 
 | 
   155     $Return = $MolecularDescriptorsGenerator->GetAvailableDescriptorClassNames();</div>
 | 
| 
 | 
   156 <div class="OptionsBox">
 | 
| 
 | 
   157     @DescriptorClassNames = $MolecularDescriptorsGenerator->
 | 
| 
 | 
   158                               GetAvailableDescriptorClassNames();
 | 
| 
 | 
   159 <br/>    @DescriptorClassNames = MolecularDescriptors::
 | 
| 
 | 
   160                               MolecularDescriptorsGenerator::
 | 
| 
 | 
   161                               GetAvailableDescriptorClassNames();</div>
 | 
| 
 | 
   162 <p>Returns available descriptor class names as an array or number of available descriptor
 | 
| 
 | 
   163 class names in scalar context.</p>
 | 
| 
 | 
   164 </dd>
 | 
| 
 | 
   165 <dt><strong><a name="getavailabledescriptornames" class="item"><strong>GetAvailableDescriptorNames</strong></a></strong></dt>
 | 
| 
 | 
   166 <dd>
 | 
| 
 | 
   167 <div class="OptionsBox">
 | 
| 
 | 
   168     @DescriptorNames = $MolecularDescriptorsGenerator->
 | 
| 
 | 
   169                               GetAvailableDescriptorNames();
 | 
| 
 | 
   170 <br/>    @DescriptorNames = MolecularDescriptors::
 | 
| 
 | 
   171                               MolecularDescriptorsGenerator::
 | 
| 
 | 
   172                               GetAvailableDescriptorNames();</div>
 | 
| 
 | 
   173 <p>Returns available descriptor names as an array or number of available descriptor
 | 
| 
 | 
   174 names in scalar context.</p>
 | 
| 
 | 
   175 </dd>
 | 
| 
 | 
   176 <dt><strong><a name="getavailabledescriptornamesfordescriptorclass" class="item"><strong>GetAvailableDescriptorNamesForDescriptorClass</strong></a></strong></dt>
 | 
| 
 | 
   177 <dd>
 | 
| 
 | 
   178 <div class="OptionsBox">
 | 
| 
 | 
   179     @DescriptorNames = $MolecularDescriptorsGenerator->
 | 
| 
 | 
   180           GetAvailableDescriptorNamesForDescriptorClass($DescriptorClassName);
 | 
| 
 | 
   181 <br/>    @DescriptorNames = MolecularDescriptors::
 | 
| 
 | 
   182                        MolecularDescriptorsGenerator::
 | 
| 
 | 
   183           GetAvailableDescriptorNamesForDescriptorClass($DescriptorClassName);</div>
 | 
| 
 | 
   184 <p>Returns available descriptors names for a descriptor class as an array or number
 | 
| 
 | 
   185 of available descriptor names in scalar context.</p>
 | 
| 
 | 
   186 </dd>
 | 
| 
 | 
   187 <dt><strong><a name="getdescriptorclassparameters" class="item"><strong>GetDescriptorClassParameters</strong></a></strong></dt>
 | 
| 
 | 
   188 <dd>
 | 
| 
 | 
   189 <div class="OptionsBox">
 | 
| 
 | 
   190     $DescriptorClassParametersRef = $MolecularDescriptorsGenerator->
 | 
| 
 | 
   191                               GetDescriptorClassParameters();
 | 
| 
 | 
   192 <br/>    $DescriptorClassParametersRef = MolecularDescriptors::
 | 
| 
 | 
   193                                     MolecularDescriptorsGenerator::
 | 
| 
 | 
   194                                     GetDescriptorClassParameters();</div>
 | 
| 
 | 
   195 <p>Returns descriptor name parameters as a reference to hash of hashes with hash
 | 
| 
 | 
   196 keys corresponding to class name and class parameter name with hash value
 | 
| 
 | 
   197 as class parameter value.</p>
 | 
| 
 | 
   198 </dd>
 | 
| 
 | 
   199 <dt><strong><a name="getdescriptornames" class="item"><strong>GetDescriptorNames</strong></a></strong></dt>
 | 
| 
 | 
   200 <dd>
 | 
| 
 | 
   201 <div class="OptionsBox">
 | 
| 
 | 
   202     @DescriptorNames = $MolecularDescriptorsGenerator->GetDescriptorNames();
 | 
| 
 | 
   203 <br/>    @DescriptorNames = MolecularDescriptors::MolecularDescriptorsGenerator::
 | 
| 
 | 
   204                        GetDescriptorNames();</div>
 | 
| 
 | 
   205 <p>Returns all available descriptor names as an array or number of available descriptors
 | 
| 
 | 
   206 in scalar context.</p>
 | 
| 
 | 
   207 </dd>
 | 
| 
 | 
   208 <dt><strong><a name="getdescriptornamesandvalues" class="item"><strong>GetDescriptorNamesAndValues</strong></a></strong></dt>
 | 
| 
 | 
   209 <dd>
 | 
| 
 | 
   210 <div class="OptionsBox">
 | 
| 
 | 
   211     %NamesAndValues = $MolecularDescriptorsGenerator->
 | 
| 
 | 
   212                               GetDescriptorNamesAndValues();</div>
 | 
| 
 | 
   213 <p>Returns calculated molecular descriptor names and values as a hash with descriptor
 | 
| 
 | 
   214 names and values as hash key and value pairs.</p>
 | 
| 
 | 
   215 </dd>
 | 
| 
 | 
   216 <dt><strong><a name="getdescriptorvaluebyname" class="item"><strong>GetDescriptorValueByName</strong></a></strong></dt>
 | 
| 
 | 
   217 <dd>
 | 
| 
 | 
   218 <div class="OptionsBox">
 | 
| 
 | 
   219     $Value = $MolecularDescriptorsGenerator->
 | 
| 
 | 
   220                               GetDescriptorValueByName($Name);</div>
 | 
| 
 | 
   221 <p>Returns calculated descriptor values for a specified descriptor name.</p>
 | 
| 
 | 
   222 </dd>
 | 
| 
 | 
   223 <dt><strong><a name="getdescriptorvalues" class="item"><strong>GetDescriptorValues</strong></a></strong></dt>
 | 
| 
 | 
   224 <dd>
 | 
| 
 | 
   225 <div class="OptionsBox">
 | 
| 
 | 
   226     @DescriptorValues = $MolecularDescriptorsGenerator->GetDescriptorValues();</div>
 | 
| 
 | 
   227 <p>Returns all calculated descriptor values as an array corresponding to specified
 | 
| 
 | 
   228 descriptor names.</p>
 | 
| 
 | 
   229 </dd>
 | 
| 
 | 
   230 <dt><strong><a name="getruleof3descriptornames" class="item"><strong>GetRuleOf3DescriptorNames</strong></a></strong></dt>
 | 
| 
 | 
   231 <dd>
 | 
| 
 | 
   232 <div class="OptionsBox">
 | 
| 
 | 
   233     @DescriptorNames = $MolecularDescriptorsGenerator->
 | 
| 
 | 
   234                        GetRuleOf3DescriptorNames();
 | 
| 
 | 
   235 <br/>    @DescriptorNames = MolecularDescriptors::
 | 
| 
 | 
   236                        MolecularDescriptorsGenerator::
 | 
| 
 | 
   237                        GetRuleOf3DescriptorNames();</div>
 | 
| 
 | 
   238 <p>Returns rule of 3  descriptor names as an array or number of rule of 3 descriptors in scalar
 | 
| 
 | 
   239 context.</p>
 | 
| 
 | 
   240 <p>RuleOf3 [ Ref 92 ] descriptor names are: MolecularWeight, RotatableBonds,
 | 
| 
 | 
   241 HydrogenBondDonors, HydrogenBondAcceptors, SLogP, TPSA. RuleOf3 states:
 | 
| 
 | 
   242 MolecularWeight <= 300, RotatableBonds <= 3, HydrogenBondDonors <= 3,
 | 
| 
 | 
   243 HydrogenBondAcceptors <= 3, logP <= 3, and TPSA <= 60.</p>
 | 
| 
 | 
   244 </dd>
 | 
| 
 | 
   245 <dt><strong><a name="getruleof5descriptornames" class="item"><strong>GetRuleOf5DescriptorNames</strong></a></strong></dt>
 | 
| 
 | 
   246 <dd>
 | 
| 
 | 
   247 <div class="OptionsBox">
 | 
| 
 | 
   248     @DescriptorNames = $MolecularDescriptorsGenerator->
 | 
| 
 | 
   249                               GetRuleOf5DescriptorNames();
 | 
| 
 | 
   250 <br/>    @DescriptorNames = $MolecularDescriptorsGenerator::
 | 
| 
 | 
   251                              GetRuleOf5DescriptorNames();</div>
 | 
| 
 | 
   252 <p>Returns rule of 5  descriptor names as an array or number of rule of 4 descriptors in scalar
 | 
| 
 | 
   253 context.</p>
 | 
| 
 | 
   254 <p>RuleOf5 [ Ref 91 ] descriptor names are: MolecularWeight, HydrogenBondDonors,
 | 
| 
 | 
   255 HydrogenBondAcceptors, SLogP. RuleOf5 states: MolecularWeight <= 500,
 | 
| 
 | 
   256 HydrogenBondDonors <= 5, HydrogenBondAcceptors <= 10, and logP <= 5.</p>
 | 
| 
 | 
   257 </dd>
 | 
| 
 | 
   258 <dt><strong><a name="isdescriptorclassnameavailable" class="item"><strong>IsDescriptorClassNameAvailable</strong></a></strong></dt>
 | 
| 
 | 
   259 <dd>
 | 
| 
 | 
   260 <div class="OptionsBox">
 | 
| 
 | 
   261     $Status = $MolecularDescriptorsGenerator->
 | 
| 
 | 
   262                               IsDescriptorClassNameAvailable($ClassName);
 | 
| 
 | 
   263 <br/>    $Status = MolecularDescriptors::
 | 
| 
 | 
   264                               MolecularDescriptorsGenerator::
 | 
| 
 | 
   265                               IsDescriptorClassNameAvailable($ClassName);</div>
 | 
| 
 | 
   266 <p>Returns 1 or 0 based on whether specified descriptor class name is available.</p>
 | 
| 
 | 
   267 </dd>
 | 
| 
 | 
   268 <dt><strong><a name="isdescriptornameavailable" class="item"><strong>IsDescriptorNameAvailable</strong></a></strong></dt>
 | 
| 
 | 
   269 <dd>
 | 
| 
 | 
   270 <div class="OptionsBox">
 | 
| 
 | 
   271     $Status = $MolecularDescriptorsGenerator->
 | 
| 
 | 
   272                               IsDescriptorNameAvailable($DescriptorName);
 | 
| 
 | 
   273 <br/>    $Status = MolecularDescriptors::
 | 
| 
 | 
   274                               MolecularDescriptorsGenerator::
 | 
| 
 | 
   275                               IsDescriptorNameAvailable($DescriptorName);</div>
 | 
| 
 | 
   276 <p>Returns 1 or 0 based on whether specified descriptor name is available.</p>
 | 
| 
 | 
   277 </dd>
 | 
| 
 | 
   278 <dt><strong><a name="isdescriptorsgenerationsuccessful" class="item"><strong>IsDescriptorsGenerationSuccessful</strong></a></strong></dt>
 | 
| 
 | 
   279 <dd>
 | 
| 
 | 
   280 <div class="OptionsBox">
 | 
| 
 | 
   281     $Status = $MolecularDescriptorsGenerator->
 | 
| 
 | 
   282                               IsDescriptorsGenerationSuccessful();</div>
 | 
| 
 | 
   283 <p>Returns 1 or 0 based on whether descriptors generation is successful.</p>
 | 
| 
 | 
   284 </dd>
 | 
| 
 | 
   285 <dt><strong><a name="setdescriptorclassparameters" class="item"><strong>SetDescriptorClassParameters</strong></a></strong></dt>
 | 
| 
 | 
   286 <dd>
 | 
| 
 | 
   287 <div class="OptionsBox">
 | 
| 
 | 
   288     $MolecularDescriptorsGenerator->SetDescriptorClassParameters(
 | 
| 
 | 
   289                               %NamesAndValues);</div>
 | 
| 
 | 
   290 <p>Sets descriptor calculation control parameters for a specified descriptor class name
 | 
| 
 | 
   291 and returns <em>MolecularDescriptorsGenerator</em>.</p>
 | 
| 
 | 
   292 <p>The specified parameter names and values are simply passed on to specified descriptor
 | 
| 
 | 
   293 class during instantiation of descriptor class object without any performing any validation
 | 
| 
 | 
   294 of parameter names and associated values. It's up to the appropriate descriptor class methods
 | 
| 
 | 
   295 to validate these parameters and values.</p>
 | 
| 
 | 
   296 <p>In addition to specified parameter names and values, the parameter hash must also contain
 | 
| 
 | 
   297 descriptor class name as key and value pair with DescriptorClassName as key with class
 | 
| 
 | 
   298 name as value.</p>
 | 
| 
 | 
   299 </dd>
 | 
| 
 | 
   300 <dt><strong><a name="setdescriptornames" class="item"><strong>SetDescriptorNames</strong></a></strong></dt>
 | 
| 
 | 
   301 <dd>
 | 
| 
 | 
   302 <div class="OptionsBox">
 | 
| 
 | 
   303     $MolecularDescriptorsGenerator->SetDescriptorNames(@Names);
 | 
| 
 | 
   304 <br/>    $MolecularDescriptorsGenerator->SetDescriptorNames(\@Names);</div>
 | 
| 
 | 
   305 <p>Sets descriptor names to use for generating descriptor values using an array
 | 
| 
 | 
   306 or reference to an array and returns <em>MolecularDescriptorsGenerator</em>.</p>
 | 
| 
 | 
   307 </dd>
 | 
| 
 | 
   308 <dt><strong><a name="setmode" class="item"><strong>SetMode</strong></a></strong></dt>
 | 
| 
 | 
   309 <dd>
 | 
| 
 | 
   310 <div class="OptionsBox">
 | 
| 
 | 
   311     $MolecularDescriptorsGenerator->SetMode($Mode);</div>
 | 
| 
 | 
   312 <p>Sets descriptors generation mode and returns <em>MolecularDescriptorsGenerator</em>.
 | 
| 
 | 
   313 Possible <em>Mode</em> values: <em>All, RuleOf5, RuleOf3, Specify</em>.</p>
 | 
| 
 | 
   314 </dd>
 | 
| 
 | 
   315 <dt><strong><a name="setmolecule" class="item"><strong>SetMolecule</strong></a></strong></dt>
 | 
| 
 | 
   316 <dd>
 | 
| 
 | 
   317 <div class="OptionsBox">
 | 
| 
 | 
   318     $MolecularDescriptorsGenerator->SetMolecule($Molecule);</div>
 | 
| 
 | 
   319 <p>Sets molecule to use during calculation of molecular descriptors and returns
 | 
| 
 | 
   320 <em>MolecularDescriptorsGenerator</em>.</p>
 | 
| 
 | 
   321 </dd>
 | 
| 
 | 
   322 <dt><strong><a name="stringifymoleculardescriptorsgenerator" class="item"><strong>StringifyMolecularDescriptorsGenerator</strong></a></strong></dt>
 | 
| 
 | 
   323 <dd>
 | 
| 
 | 
   324 <div class="OptionsBox">
 | 
| 
 | 
   325     $String = $MolecularDescriptorsGenerator->StringifyMolecularDescriptorsGenerator();</div>
 | 
| 
 | 
   326 <p>Returns a string containing information about <em>MolecularDescriptorsGenerator</em> object.</p>
 | 
| 
 | 
   327 </dd>
 | 
| 
 | 
   328 </dl>
 | 
| 
 | 
   329 <p>
 | 
| 
 | 
   330 </p>
 | 
| 
 | 
   331 <h2>AUTHOR</h2>
 | 
| 
 | 
   332 <p><a href="mailto:msud@san.rr.com">Manish Sud</a></p>
 | 
| 
 | 
   333 <p>
 | 
| 
 | 
   334 </p>
 | 
| 
 | 
   335 <h2>SEE ALSO</h2>
 | 
| 
 | 
   336 <p><a href="./MolecularDescriptors.html">MolecularDescriptors.pm</a>
 | 
| 
 | 
   337 </p>
 | 
| 
 | 
   338 <p>
 | 
| 
 | 
   339 </p>
 | 
| 
 | 
   340 <h2>COPYRIGHT</h2>
 | 
| 
 | 
   341 <p>Copyright (C) 2015 Manish Sud. All rights reserved.</p>
 | 
| 
 | 
   342 <p>This file is part of MayaChemTools.</p>
 | 
| 
 | 
   343 <p>MayaChemTools is free software; you can redistribute it and/or modify it under
 | 
| 
 | 
   344 the terms of the GNU Lesser General Public License as published by the Free
 | 
| 
 | 
   345 Software Foundation; either version 3 of the License, or (at your option)
 | 
| 
 | 
   346 any later version.</p>
 | 
| 
 | 
   347 <p> </p><p> </p><div class="DocNav">
 | 
| 
 | 
   348 <table width="100%" border=0 cellpadding=0 cellspacing=2>
 | 
| 
 | 
   349 <tr align="left" valign="top"><td width="33%" align="left"><a href="./MolecularDescriptors.html" title="MolecularDescriptors.html">Previous</a>  <a href="./index.html" title="Table of Contents">TOC</a>  <a href="./MolecularVolumeDescriptors.html" title="MolecularVolumeDescriptors.html">Next</a></td><td width="34%" align="middle"><strong>March 29, 2015</strong></td><td width="33%" align="right"><strong>MolecularDescriptors::MolecularDescriptorsGenerator.pm</strong></td></tr>
 | 
| 
 | 
   350 </table>
 | 
| 
 | 
   351 </div>
 | 
| 
 | 
   352 <br />
 | 
| 
 | 
   353 <center>
 | 
| 
 | 
   354 <img src="../../images/h2o2.png">
 | 
| 
 | 
   355 </center>
 | 
| 
 | 
   356 </body>
 | 
| 
 | 
   357 </html>
 |