Mercurial > repos > deepakjadmin > mayatool3_test2
comparison docs/modules/txt/MolecularDescriptorsGenerator.txt @ 0:4816e4a8ae95 draft default tip
Uploaded
| author | deepakjadmin |
|---|---|
| date | Wed, 20 Jan 2016 09:23:18 -0500 |
| parents | |
| children |
comparison
equal
deleted
inserted
replaced
| -1:000000000000 | 0:4816e4a8ae95 |
|---|---|
| 1 NAME | |
| 2 MolecularDescriptorsGenerator | |
| 3 | |
| 4 SYNOPSIS | |
| 5 use MolecularDescriptors::MolecularDescriptorsGenerator; | |
| 6 | |
| 7 use MolecularDescriptors::MolecularDescriptorsGenerator qw(:all); | |
| 8 | |
| 9 DESCRIPTION | |
| 10 MolecularDescriptorsGenerator class provides the following methods: | |
| 11 | |
| 12 new, GenerateDescriptors, GetAvailableClassAndDescriptorNames, | |
| 13 GetAvailableClassNameForDescriptorName, | |
| 14 GetAvailableDescriptorClassNames, GetAvailableDescriptorNames, | |
| 15 GetAvailableDescriptorNamesForDescriptorClass, | |
| 16 GetDescriptorClassParameters, GetDescriptorNames, | |
| 17 GetDescriptorNamesAndValues, GetDescriptorValueByName, | |
| 18 GetDescriptorValues, GetRuleOf3DescriptorNames, | |
| 19 GetRuleOf5DescriptorNames, IsDescriptorClassNameAvailable, | |
| 20 IsDescriptorNameAvailable, IsDescriptorsGenerationSuccessful, | |
| 21 SetDescriptorClassParameters, SetDescriptorNames, SetMode, SetMolecule, | |
| 22 StringifyMolecularDescriptorsGenerator | |
| 23 | |
| 24 MolecularDescriptorsGenerator is derived from is derived from | |
| 25 ObjectProperty base class that provides methods not explicitly defined | |
| 26 in MolecularDescriptorsGenerator or ObjectProperty classes using Perl's | |
| 27 AUTOLOAD functionality. These methods are generated on-the-fly for a | |
| 28 specified object property: | |
| 29 | |
| 30 Set<PropertyName>(<PropertyValue>); | |
| 31 $PropertyValue = Get<PropertyName>(); | |
| 32 Delete<PropertyName>(); | |
| 33 | |
| 34 MolecularDescriptorsGenerator is designed to provide a plug-in | |
| 35 environment for molecular descriptors development. The molecular | |
| 36 descriptor class modules available in MolecularDescriptors directory | |
| 37 under MayaChemTools/lib directory are automatically detected and loaded | |
| 38 into the system. The descriptor names provided by each descriptor class | |
| 39 module through its GetDescriptorNames function are retrieved and are | |
| 40 made available for calculations of their values for a specified | |
| 41 molecule. | |
| 42 | |
| 43 Any combination of available descriptor names can be specified during | |
| 44 calculation of descriptor values using GenerateDescriptors method. The | |
| 45 current release of MayaChemTools supports generation of four sets of | |
| 46 descriptors: All available descriptors, rule of 5 or 3 descriptors, or a | |
| 47 specified set of descriptor names. | |
| 48 | |
| 49 RuleOf5 [ Ref 91 ] descriptor names are: MolecularWeight, | |
| 50 HydrogenBondDonors, HydrogenBondAcceptors, SLogP. RuleOf5 states: | |
| 51 MolecularWeight <= 500, HydrogenBondDonors <= 5, HydrogenBondAcceptors | |
| 52 <= 10, and logP <= 5. | |
| 53 | |
| 54 RuleOf3 [ Ref 92 ] descriptor names are: MolecularWeight, | |
| 55 RotatableBonds, HydrogenBondDonors, HydrogenBondAcceptors, SLogP, TPSA. | |
| 56 RuleOf3 states: MolecularWeight <= 300, RotatableBonds <= 3, | |
| 57 HydrogenBondDonors <= 3, HydrogenBondAcceptors <= 3, logP <= 3, and TPSA | |
| 58 <= 60. | |
| 59 | |
| 60 Before calculation of a specified set of descriptors by | |
| 61 GenerateDescriptors method, a set of descriptor calculation control | |
| 62 parameters for a specific descriptor class name can be set using | |
| 63 SetDescriptorClassParameters method. The specified control parameter | |
| 64 names and values are simply passed on to specified descriptor class | |
| 65 during instantiation of descriptor class object without performing any | |
| 66 validation of parameter names and associated values. It's up to the | |
| 67 appropriate descriptor class methods to validate these parameters and | |
| 68 values. In addition to specified parameter names and values, the | |
| 69 parameter hash must also contain descriptor class name as key and value | |
| 70 pair with DescriptorClassName as key with class name as value. | |
| 71 | |
| 72 METHODS | |
| 73 new | |
| 74 $NewMolecularDescriptorsGenerator = new MolecularDescriptors:: | |
| 75 MolecularDescriptorsGenerator( | |
| 76 %NamesAndValues); | |
| 77 | |
| 78 Using specified *MolecularDescriptorsGenerator* property names and | |
| 79 values hash, new method creates a new object and returns a reference | |
| 80 to newly created MolecularDescriptorsGenerator object. By default, | |
| 81 the following properties are initialized: | |
| 82 | |
| 83 Mode = 'All' | |
| 84 @{$This->{DescriptorNames}} = () | |
| 85 %{$This->{DescriptorClassParameters}} = () | |
| 86 @{$This->{DescriptorClassNames}} = () | |
| 87 %{$This->{DescriptorClassObjects}} = () | |
| 88 @{$This->{DescriptorValues}} = () | |
| 89 | |
| 90 Examples: | |
| 91 | |
| 92 $MolecularDescriptorsGenerator = new MolecularDescriptors:: | |
| 93 MolecularDescriptorsGenerator( | |
| 94 'Molecule' => $Molecule); | |
| 95 | |
| 96 @DescriptorNames = qw(MolecularWeight HydrogenBondDonors Fsp3Carbons) | |
| 97 $MolecularDescriptorsGenerator = new MolecularDescriptors:: | |
| 98 MolecularDescriptorsGenerator( | |
| 99 'Mode' => 'Specify', | |
| 100 'DescriptorNames' => \@DescriptorNames); | |
| 101 | |
| 102 $MolecularDescriptorsGenerator->SetDescriptorClassParameters( | |
| 103 'DescriptorClassName' => 'WeightAndMassDescriptors', | |
| 104 'WeightPrecision' => 2, | |
| 105 'MassPrecision' => 2); | |
| 106 | |
| 107 $MolecularDescriptorsGenerator->SetDescriptorClassParameters( | |
| 108 'DescriptorClassName' => 'HydrogenBondsDescriptors', | |
| 109 'HydrogenBondsType' => 'HBondsType1'); | |
| 110 | |
| 111 $MolecularDescriptorsGenerator->SetMolecule($Molecule); | |
| 112 $MolecularDescriptorsGenerator->GenerateDescriptors(); | |
| 113 print "MolecularDescriptorsGenerator: $MolecularDescriptorsGenerator\n"; | |
| 114 | |
| 115 GenerateDescriptors | |
| 116 $MolecularDescriptorsGenerator->GenerateDescriptors(); | |
| 117 | |
| 118 Calculates descriptor values for specified descriptors and returns | |
| 119 *MolecularDescriptorsGenerator*. | |
| 120 | |
| 121 Descriptor class objects are instantiated only once at first | |
| 122 invocation. During subsequent calls to GenerateDescriptors method, | |
| 123 descriptor values are initialized and GenerateDescriptors method | |
| 124 provided by descriptor class is used to calculate descriptor values | |
| 125 for specified descriptors. | |
| 126 | |
| 127 GetAvailableClassAndDescriptorNames | |
| 128 %ClassAndDescriptorNames = $MolecularDescriptorsGenerator-> | |
| 129 GetAvailableClassAndDescriptorNames(); | |
| 130 %ClassAndDescriptorNames = MolecularDescriptors:: | |
| 131 MolecularDescriptorsGenerator:: | |
| 132 GetAvailableClassAndDescriptorNames(); | |
| 133 | |
| 134 Returns available descriptors class and descriptors names as a hash | |
| 135 containing key and value pairs corresponding to class name and an | |
| 136 array of descriptor names available for the class. | |
| 137 | |
| 138 GetAvailableClassNameForDescriptorName | |
| 139 $DescriptorClassName = $MolecularDescriptorsGenerator-> | |
| 140 GetAvailableClassNameForDescriptorName($DescriptorName); | |
| 141 | |
| 142 $DescriptorClassName = MolecularDescriptors::MolecularDescriptorsGenerator:: | |
| 143 GetAvailableClassNameForDescriptorName($DescriptorName); | |
| 144 | |
| 145 Returns available descriptor class name for a descriptor name. | |
| 146 | |
| 147 GetAvailableDescriptorClassNames | |
| 148 $Return = $MolecularDescriptorsGenerator->GetAvailableDescriptorClassNames(); | |
| 149 | |
| 150 @DescriptorClassNames = $MolecularDescriptorsGenerator-> | |
| 151 GetAvailableDescriptorClassNames(); | |
| 152 @DescriptorClassNames = MolecularDescriptors:: | |
| 153 MolecularDescriptorsGenerator:: | |
| 154 GetAvailableDescriptorClassNames(); | |
| 155 | |
| 156 Returns available descriptor class names as an array or number of | |
| 157 available descriptor class names in scalar context. | |
| 158 | |
| 159 GetAvailableDescriptorNames | |
| 160 @DescriptorNames = $MolecularDescriptorsGenerator-> | |
| 161 GetAvailableDescriptorNames(); | |
| 162 @DescriptorNames = MolecularDescriptors:: | |
| 163 MolecularDescriptorsGenerator:: | |
| 164 GetAvailableDescriptorNames(); | |
| 165 | |
| 166 Returns available descriptor names as an array or number of | |
| 167 available descriptor names in scalar context. | |
| 168 | |
| 169 GetAvailableDescriptorNamesForDescriptorClass | |
| 170 @DescriptorNames = $MolecularDescriptorsGenerator-> | |
| 171 GetAvailableDescriptorNamesForDescriptorClass($DescriptorClassName); | |
| 172 @DescriptorNames = MolecularDescriptors:: | |
| 173 MolecularDescriptorsGenerator:: | |
| 174 GetAvailableDescriptorNamesForDescriptorClass($DescriptorClassName); | |
| 175 | |
| 176 Returns available descriptors names for a descriptor class as an | |
| 177 array or number of available descriptor names in scalar context. | |
| 178 | |
| 179 GetDescriptorClassParameters | |
| 180 $DescriptorClassParametersRef = $MolecularDescriptorsGenerator-> | |
| 181 GetDescriptorClassParameters(); | |
| 182 $DescriptorClassParametersRef = MolecularDescriptors:: | |
| 183 MolecularDescriptorsGenerator:: | |
| 184 GetDescriptorClassParameters(); | |
| 185 | |
| 186 Returns descriptor name parameters as a reference to hash of hashes | |
| 187 with hash keys corresponding to class name and class parameter name | |
| 188 with hash value as class parameter value. | |
| 189 | |
| 190 GetDescriptorNames | |
| 191 @DescriptorNames = $MolecularDescriptorsGenerator->GetDescriptorNames(); | |
| 192 @DescriptorNames = MolecularDescriptors::MolecularDescriptorsGenerator:: | |
| 193 GetDescriptorNames(); | |
| 194 | |
| 195 Returns all available descriptor names as an array or number of | |
| 196 available descriptors in scalar context. | |
| 197 | |
| 198 GetDescriptorNamesAndValues | |
| 199 %NamesAndValues = $MolecularDescriptorsGenerator-> | |
| 200 GetDescriptorNamesAndValues(); | |
| 201 | |
| 202 Returns calculated molecular descriptor names and values as a hash | |
| 203 with descriptor names and values as hash key and value pairs. | |
| 204 | |
| 205 GetDescriptorValueByName | |
| 206 $Value = $MolecularDescriptorsGenerator-> | |
| 207 GetDescriptorValueByName($Name); | |
| 208 | |
| 209 Returns calculated descriptor values for a specified descriptor | |
| 210 name. | |
| 211 | |
| 212 GetDescriptorValues | |
| 213 @DescriptorValues = $MolecularDescriptorsGenerator->GetDescriptorValues(); | |
| 214 | |
| 215 Returns all calculated descriptor values as an array corresponding | |
| 216 to specified descriptor names. | |
| 217 | |
| 218 GetRuleOf3DescriptorNames | |
| 219 @DescriptorNames = $MolecularDescriptorsGenerator-> | |
| 220 GetRuleOf3DescriptorNames(); | |
| 221 @DescriptorNames = MolecularDescriptors:: | |
| 222 MolecularDescriptorsGenerator:: | |
| 223 GetRuleOf3DescriptorNames(); | |
| 224 | |
| 225 Returns rule of 3 descriptor names as an array or number of rule of | |
| 226 3 descriptors in scalar context. | |
| 227 | |
| 228 RuleOf3 [ Ref 92 ] descriptor names are: MolecularWeight, | |
| 229 RotatableBonds, HydrogenBondDonors, HydrogenBondAcceptors, SLogP, | |
| 230 TPSA. RuleOf3 states: MolecularWeight <= 300, RotatableBonds <= 3, | |
| 231 HydrogenBondDonors <= 3, HydrogenBondAcceptors <= 3, logP <= 3, and | |
| 232 TPSA <= 60. | |
| 233 | |
| 234 GetRuleOf5DescriptorNames | |
| 235 @DescriptorNames = $MolecularDescriptorsGenerator-> | |
| 236 GetRuleOf5DescriptorNames(); | |
| 237 @DescriptorNames = $MolecularDescriptorsGenerator:: | |
| 238 GetRuleOf5DescriptorNames(); | |
| 239 | |
| 240 Returns rule of 5 descriptor names as an array or number of rule of | |
| 241 4 descriptors in scalar context. | |
| 242 | |
| 243 RuleOf5 [ Ref 91 ] descriptor names are: MolecularWeight, | |
| 244 HydrogenBondDonors, HydrogenBondAcceptors, SLogP. RuleOf5 states: | |
| 245 MolecularWeight <= 500, HydrogenBondDonors <= 5, | |
| 246 HydrogenBondAcceptors <= 10, and logP <= 5. | |
| 247 | |
| 248 IsDescriptorClassNameAvailable | |
| 249 $Status = $MolecularDescriptorsGenerator-> | |
| 250 IsDescriptorClassNameAvailable($ClassName); | |
| 251 $Status = MolecularDescriptors:: | |
| 252 MolecularDescriptorsGenerator:: | |
| 253 IsDescriptorClassNameAvailable($ClassName); | |
| 254 | |
| 255 Returns 1 or 0 based on whether specified descriptor class name is | |
| 256 available. | |
| 257 | |
| 258 IsDescriptorNameAvailable | |
| 259 $Status = $MolecularDescriptorsGenerator-> | |
| 260 IsDescriptorNameAvailable($DescriptorName); | |
| 261 $Status = MolecularDescriptors:: | |
| 262 MolecularDescriptorsGenerator:: | |
| 263 IsDescriptorNameAvailable($DescriptorName); | |
| 264 | |
| 265 Returns 1 or 0 based on whether specified descriptor name is | |
| 266 available. | |
| 267 | |
| 268 IsDescriptorsGenerationSuccessful | |
| 269 $Status = $MolecularDescriptorsGenerator-> | |
| 270 IsDescriptorsGenerationSuccessful(); | |
| 271 | |
| 272 Returns 1 or 0 based on whether descriptors generation is | |
| 273 successful. | |
| 274 | |
| 275 SetDescriptorClassParameters | |
| 276 $MolecularDescriptorsGenerator->SetDescriptorClassParameters( | |
| 277 %NamesAndValues); | |
| 278 | |
| 279 Sets descriptor calculation control parameters for a specified | |
| 280 descriptor class name and returns *MolecularDescriptorsGenerator*. | |
| 281 | |
| 282 The specified parameter names and values are simply passed on to | |
| 283 specified descriptor class during instantiation of descriptor class | |
| 284 object without any performing any validation of parameter names and | |
| 285 associated values. It's up to the appropriate descriptor class | |
| 286 methods to validate these parameters and values. | |
| 287 | |
| 288 In addition to specified parameter names and values, the parameter | |
| 289 hash must also contain descriptor class name as key and value pair | |
| 290 with DescriptorClassName as key with class name as value. | |
| 291 | |
| 292 SetDescriptorNames | |
| 293 $MolecularDescriptorsGenerator->SetDescriptorNames(@Names); | |
| 294 $MolecularDescriptorsGenerator->SetDescriptorNames(\@Names); | |
| 295 | |
| 296 Sets descriptor names to use for generating descriptor values using | |
| 297 an array or reference to an array and returns | |
| 298 *MolecularDescriptorsGenerator*. | |
| 299 | |
| 300 SetMode | |
| 301 $MolecularDescriptorsGenerator->SetMode($Mode); | |
| 302 | |
| 303 Sets descriptors generation mode and returns | |
| 304 *MolecularDescriptorsGenerator*. Possible *Mode* values: *All, | |
| 305 RuleOf5, RuleOf3, Specify*. | |
| 306 | |
| 307 SetMolecule | |
| 308 $MolecularDescriptorsGenerator->SetMolecule($Molecule); | |
| 309 | |
| 310 Sets molecule to use during calculation of molecular descriptors and | |
| 311 returns *MolecularDescriptorsGenerator*. | |
| 312 | |
| 313 StringifyMolecularDescriptorsGenerator | |
| 314 $String = $MolecularDescriptorsGenerator->StringifyMolecularDescriptorsGenerator(); | |
| 315 | |
| 316 Returns a string containing information about | |
| 317 *MolecularDescriptorsGenerator* object. | |
| 318 | |
| 319 AUTHOR | |
| 320 Manish Sud <msud@san.rr.com> | |
| 321 | |
| 322 SEE ALSO | |
| 323 MolecularDescriptors.pm | |
| 324 | |
| 325 COPYRIGHT | |
| 326 Copyright (C) 2015 Manish Sud. All rights reserved. | |
| 327 | |
| 328 This file is part of MayaChemTools. | |
| 329 | |
| 330 MayaChemTools is free software; you can redistribute it and/or modify it | |
| 331 under the terms of the GNU Lesser General Public License as published by | |
| 332 the Free Software Foundation; either version 3 of the License, or (at | |
| 333 your option) any later version. | |
| 334 |
