Mercurial > repos > deepakjadmin > mayatool3_test2
comparison docs/modules/txt/TopologicalAtomTorsionsFingerprints.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 TopologicalAtomTorsionsFingerprints | |
| 3 | |
| 4 SYNOPSIS | |
| 5 use Fingerprints::TopologicalAtomTorsionsFingerprints; | |
| 6 | |
| 7 use Fingerprints::TopologicalAtomTorsionsFingerprints qw(:all); | |
| 8 | |
| 9 DESCRIPTION | |
| 10 TopologicalAtomTorsionsFingerprints class provides the following | |
| 11 methods: | |
| 12 | |
| 13 new, GenerateFingerprints, GetAtomTorsionsIDs, GetDescription, | |
| 14 SetAtomIdentifierType, SetAtomicInvariantsToUse, | |
| 15 SetFunctionalClassesToUse, StringifyTopologicalAtomTorsionsFingerprints | |
| 16 | |
| 17 TopologicalAtomTorsionsFingerprints is derived from Fingerprints class | |
| 18 which in turn is derived from ObjectProperty base class that provides | |
| 19 methods not explicitly defined in TopologicalAtomTorsionsFingerprints, | |
| 20 Fingerprints or ObjectProperty classes using Perl's AUTOLOAD | |
| 21 functionality. These methods are generated on-the-fly for a specified | |
| 22 object property: | |
| 23 | |
| 24 Set<PropertyName>(<PropertyValue>); | |
| 25 $PropertyValue = Get<PropertyName>(); | |
| 26 Delete<PropertyName>(); | |
| 27 | |
| 28 The current release of MayaChemTools supports generation of | |
| 29 TopologicalAtomTorsionsFingerprints corresponding to following | |
| 30 AtomtomIdentifierTypes: | |
| 31 | |
| 32 AtomicInvariantsAtomTypes, DREIDINGAtomTypes, EStateAtomTypes, | |
| 33 FunctionalClassAtomTypes, MMFF94AtomTypes, SLogPAtomTypes, | |
| 34 SYBYLAtomTypes, TPSAAtomTypes, UFFAtomTypes | |
| 35 | |
| 36 Based on the values specified for AtomIdentifierType along with other | |
| 37 specified parameters such as AtomicInvariantsToUse and | |
| 38 FunctionalClassesToUse, initial atom types are assigned to all | |
| 39 non-hydrogen in a molecule. All unique atom torsions are identified and | |
| 40 an atom torsion identifier is generated; the format of atom torsion | |
| 41 identifier is: | |
| 42 | |
| 43 <AtomType1>-<AtomType2>-<AtomType3>-<AtomType4> | |
| 44 | |
| 45 AtomType1, AtomType2, AtomType3, AtomTyp4: Assigned atom types | |
| 46 | |
| 47 where AtomType1 <= AtomType2 <= AtomType3 <= AtomType4 | |
| 48 | |
| 49 The atom torsion identifiers for all unique atom torsions corresponding | |
| 50 to non-hydrogen atoms constitute topological atom torsions fingerprints | |
| 51 of the molecule. | |
| 52 | |
| 53 The current release of MayaChemTools generates the following types of | |
| 54 topological atom torsions fingerprints vector strings: | |
| 55 | |
| 56 FingerprintsVector;TopologicalAtomTorsions:AtomicInvariantsAtomTypes;3 | |
| 57 3;NumericalValues;IDsAndValuesString;C.X1.BO1.H3-C.X3.BO3.H1-C.X3.BO4- | |
| 58 C.X3.BO4 C.X1.BO1.H3-C.X3.BO3.H1-C.X3.BO4-N.X3.BO3 C.X2.BO2.H2-C.X2.BO | |
| 59 2.H2-C.X3.BO3.H1-C.X2.BO2.H2 C.X2.BO2.H2-C.X2.BO2.H2-C.X3.BO3.H1-O...; | |
| 60 2 2 1 1 2 2 1 1 3 4 4 8 4 2 2 6 2 2 1 2 1 1 2 1 1 2 6 2 4 2 1 3 1 | |
| 61 | |
| 62 FingerprintsVector;TopologicalAtomTorsions:AtomicInvariantsAtomTypes;3 | |
| 63 3;NumericalValues;IDsAndValuesPairsString;C.X1.BO1.H3-C.X3.BO3.H1-C.X3 | |
| 64 .BO4-C.X3.BO4 2 C.X1.BO1.H3-C.X3.BO3.H1-C.X3.BO4-N.X3.BO3 2 C.X2.BO2.H | |
| 65 2-C.X2.BO2.H2-C.X3.BO3.H1-C.X2.BO2.H2 1 C.X2.BO2.H2-C.X2.BO2.H2-C.X3.B | |
| 66 O3.H1-O.X1.BO1.H1 1 C.X2.BO2.H2-C.X2.BO2.H2-N.X3.BO3-C.X3.BO4 2 C.X2.B | |
| 67 O2.H2-C.X3.BO3.H1-C.X2.BO2.H2-C.X3.BO3.H1 2 C.X2.BO2.H2-C.X3.BO3.H1... | |
| 68 | |
| 69 FingerprintsVector;TopologicalAtomTorsions:DREIDINGAtomTypes;27;Numeri | |
| 70 calValues;IDsAndValuesString;C_2-C_3-C_3-C_3 C_2-C_3-C_3-O_3 C_2-C_R-C | |
| 71 _R-C_3 C_2-C_R-C_R-C_R C_2-C_R-C_R-N_R C_2-N_3-C_R-C_R C_3-C_3-C_2-O_2 | |
| 72 C_3-C_3-C_2-O_3 C_3-C_3-C_3-C_3 C_3-C_3-C_3-N_R C_3-C_3-C_3-O_3 C_...; | |
| 73 1 1 1 2 1 2 1 1 3 1 3 2 2 2 1 1 1 3 1 2 2 32 2 2 5 3 1 | |
| 74 | |
| 75 FingerprintsVector;TopologicalAtomTorsions:EStateAtomTypes;36;Numerica | |
| 76 lValues;IDsAndValuesString;aaCH-aaCH-aaCH-aaCH aaCH-aaCH-aaCH-aasC aaC | |
| 77 H-aaCH-aasC-aaCH aaCH-aaCH-aasC-aasC aaCH-aaCH-aasC-sF aaCH-aaCH-aasC- | |
| 78 ssNH aaCH-aasC-aasC-aasC aaCH-aasC-aasC-aasN aaCH-aasC-ssNH-dssC a...; | |
| 79 4 4 8 4 2 2 6 2 2 2 4 3 2 1 3 3 2 2 2 1 2 1 1 1 2 1 1 1 1 1 1 1 2 1 1 2 | |
| 80 | |
| 81 FingerprintsVector;TopologicalAtomTorsions:FunctionalClassAtomTypes;26 | |
| 82 ;NumericalValues;IDsAndValuesString;Ar-Ar-Ar-Ar Ar-Ar-Ar-Ar.HBA Ar-Ar- | |
| 83 Ar-HBD Ar-Ar-Ar-Hal Ar-Ar-Ar-None Ar-Ar-Ar.HBA-Ar Ar-Ar-Ar.HBA-None Ar | |
| 84 -Ar-HBD-None Ar-Ar-None-HBA Ar-Ar-None-HBD Ar-Ar-None-None Ar-Ar.H...; | |
| 85 32 5 2 2 3 3 3 2 2 2 2 1 2 1 1 1 2 1 1 1 1 3 1 1 1 3 | |
| 86 | |
| 87 FingerprintsVector;TopologicalAtomTorsions:MMFF94AtomTypes;43;Numerica | |
| 88 lValues;IDsAndValuesString;C5A-C5B-C5B-C5A C5A-C5B-C5B-C=ON C5A-C5B-C5 | |
| 89 B-CB C5A-C5B-C=ON-NC=O C5A-C5B-C=ON-O=CN C5A-C5B-CB-CB C5A-CB-CB-CB C5 | |
| 90 A-N5-C5A-C5B C5A-N5-C5A-CB C5A-N5-C5A-CR C5A-N5-CR-CR C5B-C5A-CB-C...; | |
| 91 1 1 1 1 1 2 2 2 1 1 2 2 2 2 1 1 2 1 1 2 1 2 1 1 1 2 1 1 1 2 18 2 2 1 1 | |
| 92 1 1 2 1 1 3 1 3 | |
| 93 | |
| 94 FingerprintsVector;TopologicalAtomTorsions:SLogPAtomTypes;49;Numerical | |
| 95 Values;IDsAndValuesPairsString;C1-C10-N11-C20 1 C1-C10-N11-C21 1 C1-C1 | |
| 96 1-C21-C21 2 C1-C11-C21-N11 2 C1-CS-C1-C10 1 C1-CS-C1-C5 1 C1-CS-C1-CS | |
| 97 2 C10-C1-CS-O2 1 C10-N11-C20-C20 2 C10-N11-C21-C11 1 C10-N11-C21-C21 1 | |
| 98 C11-C21-C21-C20 1 C11-C21-C21-C5 1 C11-C21-N11-C20 1 C14-C18-C18-C20 | |
| 99 2 C18-C14-C18-C18 2 C18-C18-C14-F 2 C18-C18-C18-C18 4 C18-C18-C18-C... | |
| 100 | |
| 101 FingerprintsVector;TopologicalAtomTorsions:SYBYLAtomTypes;26;Numerical | |
| 102 Values;IDsAndValuesPairsString;C.2-C.3-C.3-C.3 1 C.2-C.3-C.3-O.3 1 C.2 | |
| 103 -C.ar-C.ar-C.3 1 C.2-C.ar-C.ar-C.ar 2 C.2-C.ar-C.ar-N.ar 1 C.2-N.am-C. | |
| 104 ar-C.ar 2 C.3-C.3-C.2-O.co2 2 C.3-C.3-C.3-C.3 3 C.3-C.3-C.3-N.ar 1 C.3 | |
| 105 -C.3-C.3-O.3 3 C.3-C.3-C.ar-C.ar 2 C.3-C.3-C.ar-N.ar 2 C.3-C.3-N.ar-C. | |
| 106 ar 2 C.3-C.ar-C.ar-C.ar 1 C.3-C.ar-N.ar-C.3 1 C.3-C.ar-N.ar-C.ar 1 ... | |
| 107 | |
| 108 FingerprintsVector;TopologicalAtomTorsions:TPSAAtomTypes;8;NumericalVa | |
| 109 lues;IDsAndValuesPairsString;N21-None-None-None 9 N7-None-None-None 4 | |
| 110 None-N21-None-None 10 None-N7-None-None 3 None-N7-None-O3 1 None-None- | |
| 111 None-None 44 None-None-None-O3 3 None-None-None-O4 5 | |
| 112 | |
| 113 FingerprintsVector;TopologicalAtomTorsions:UFFAtomTypes;27;NumericalVa | |
| 114 lues;IDsAndValuesPairsString;C_2-C_3-C_3-C_3 1 C_2-C_3-C_3-O_3 1 C_2-C | |
| 115 _R-C_R-C_3 1 C_2-C_R-C_R-C_R 2 C_2-C_R-C_R-N_R 1 C_2-N_3-C_R-C_R 2 C_3 | |
| 116 -C_3-C_2-O_2 1 C_3-C_3-C_2-O_3 1 C_3-C_3-C_3-C_3 3 C_3-C_3-C_3-N_R 1 C | |
| 117 _3-C_3-C_3-O_3 3 C_3-C_3-C_R-C_R 2 C_3-C_3-C_R-N_R 2 C_3-C_3-N_R-C_R 2 | |
| 118 C_3-C_R-C_R-C_R 1 C_3-C_R-N_R-C_3 1 C_3-C_R-N_R-C_R 1 C_3-N_R-C_R-... | |
| 119 | |
| 120 METHODS | |
| 121 new | |
| 122 $NewTopologicalAtomTorsionsFingerprints = new TopologicalAtomTorsionsFingerprints( | |
| 123 %NamesAndValues); | |
| 124 | |
| 125 Using specified *TopologicalAtomTorsionsFingerprints* property names | |
| 126 and values hash, new method creates a new object and returns a | |
| 127 reference to newly created TopologicalAtomTorsionsFingerprints | |
| 128 object. By default, the following properties are initialized: | |
| 129 | |
| 130 Molecule = '' | |
| 131 Type = 'TopologicalAtomTorsions' | |
| 132 AtomIdentifierType = '' | |
| 133 AtomicInvariantsToUse = ['AS', 'X', 'BO', 'H', 'FC'] | |
| 134 FunctionalClassesToUse = ['HBD', 'HBA', 'PI', 'NI', 'Ar', 'Hal'] | |
| 135 | |
| 136 Examples: | |
| 137 | |
| 138 $TopologicalAtomTorsionsFingerprints = new TopologicalAtomTorsionsFingerprints( | |
| 139 'Molecule' => $Molecule, | |
| 140 'AtomIdentifierType' => | |
| 141 'AtomicInvariantsAtomTypes'); | |
| 142 | |
| 143 $TopologicalAtomTorsionsFingerprints = new TopologicalAtomTorsionsFingerprints( | |
| 144 'Molecule' => $Molecule, | |
| 145 'AtomIdentifierType' => | |
| 146 'AtomicInvariantsAtomTypes', | |
| 147 'AtomicInvariantsToUse' => | |
| 148 ['AS', 'X', 'BO', 'H', 'FC'] ); | |
| 149 | |
| 150 $TopologicalAtomTorsionsFingerprints = new TopologicalAtomTorsionsFingerprints( | |
| 151 'Molecule' => $Molecule, | |
| 152 'AtomIdentifierType' => | |
| 153 'DREIDINGAtomTypes'); | |
| 154 | |
| 155 $TopologicalAtomTorsionsFingerprints = new TopologicalAtomTorsionsFingerprints( | |
| 156 'Molecule' => $Molecule, | |
| 157 'AtomIdentifierType' => | |
| 158 'SYBYLAtomTypes'); | |
| 159 | |
| 160 $TopologicalAtomTorsionsFingerprints = new TopologicalAtomTorsionsFingerprints( | |
| 161 'Molecule' => $Molecule, | |
| 162 'AtomIdentifierType' => | |
| 163 'SLogPAtomTypes'); | |
| 164 | |
| 165 $TopologicalAtomTorsionsFingerprints = new TopologicalAtomTorsionsFingerprints( | |
| 166 'Molecule' => $Molecule, | |
| 167 'AtomIdentifierType' => | |
| 168 'FunctionalClassAtomTypes', | |
| 169 'FunctionalClassesToUse' => | |
| 170 ['HBD', 'HBA', 'PI', 'NI', 'Ar', 'Hal'] ); | |
| 171 | |
| 172 | |
| 173 $TopologicalAtomTorsionsFingerprints->GenerateFingerprints(); | |
| 174 print "$TopologicalAtomTorsionsFingerprints\n"; | |
| 175 | |
| 176 GetDescription | |
| 177 $Description = $TopologicalAtomTorsionsFingerprints->GetDescription(); | |
| 178 | |
| 179 Returns a string containing description of topological atom torsions | |
| 180 fingerprints. | |
| 181 | |
| 182 GenerateFingerprints | |
| 183 $TopologicalAtomTorsionsFingerprints->GenerateFingerprints(); | |
| 184 | |
| 185 Generates topological atom torsions fingerprints and returns | |
| 186 *TopologicalAtomTorsionsFingerprints*. | |
| 187 | |
| 188 GetAtomTorsionsIDs | |
| 189 $AtomPairIDsRef = $TopologicalAtomTorsionsFingerprints->GetAtomTorsionsIDs(); | |
| 190 @AtomPairIDs = $TopologicalAtomTorsionsFingerprints->GetAtomTorsionsIDs(); | |
| 191 | |
| 192 Returns atom torsion IDs corresponding to atom torsion count values | |
| 193 in topological atom torsions fingerprints vector as an array or | |
| 194 reference to an array. | |
| 195 | |
| 196 SetAtomIdentifierType | |
| 197 $TopologicalAtomTorsionsFingerprints->SetAtomIdentifierType($IdentifierType); | |
| 198 | |
| 199 Sets atom *IdentifierType* to use during atom torsions fingerprints | |
| 200 generation and returns *TopologicalAtomTorsionsFingerprints*. | |
| 201 | |
| 202 Possible values: *AtomicInvariantsAtomTypes, DREIDINGAtomTypes, | |
| 203 EStateAtomTypes, FunctionalClassAtomTypes, MMFF94AtomTypes, | |
| 204 SLogPAtomTypes, SYBYLAtomTypes, TPSAAtomTypes, UFFAtomTypes*. | |
| 205 | |
| 206 SetAtomicInvariantsToUse | |
| 207 $TopologicalAtomTorsionsFingerprints->SetAtomicInvariantsToUse($ValuesRef); | |
| 208 $TopologicalAtomTorsionsFingerprints->SetAtomicInvariantsToUse(@Values); | |
| 209 | |
| 210 Sets atomic invariants to use during *AtomicInvariantsAtomTypes* | |
| 211 value of *AtomIdentifierType* for topological atom torsions | |
| 212 fingerprints generation and returns | |
| 213 *TopologicalAtomTorsionsFingerprints*. | |
| 214 | |
| 215 Possible values for atomic invariants are: *AS, X, BO, LBO, SB, DB, | |
| 216 TB, H, Ar, RA, FC, MN, SM*. Default value: *AS,X,BO,H,FC*. | |
| 217 | |
| 218 The atomic invariants abbreviations correspond to: | |
| 219 | |
| 220 AS = Atom symbol corresponding to element symbol | |
| 221 | |
| 222 X<n> = Number of non-hydrogen atom neighbors or heavy atoms | |
| 223 BO<n> = Sum of bond orders to non-hydrogen atom neighbors or heavy atoms | |
| 224 LBO<n> = Largest bond order of non-hydrogen atom neighbors or heavy atoms | |
| 225 SB<n> = Number of single bonds to non-hydrogen atom neighbors or heavy atoms | |
| 226 DB<n> = Number of double bonds to non-hydrogen atom neighbors or heavy atoms | |
| 227 TB<n> = Number of triple bonds to non-hydrogen atom neighbors or heavy atoms | |
| 228 H<n> = Number of implicit and explicit hydrogens for atom | |
| 229 Ar = Aromatic annotation indicating whether atom is aromatic | |
| 230 RA = Ring atom annotation indicating whether atom is a ring | |
| 231 FC<+n/-n> = Formal charge assigned to atom | |
| 232 MN<n> = Mass number indicating isotope other than most abundant isotope | |
| 233 SM<n> = Spin multiplicity of atom. Possible values: 1 (singlet), 2 (doublet) or | |
| 234 3 (triplet) | |
| 235 | |
| 236 Atom type generated by AtomTypes::AtomicInvariantsAtomTypes class | |
| 237 corresponds to: | |
| 238 | |
| 239 AS.X<n>.BO<n>.LBO<n>.<SB><n>.<DB><n>.<TB><n>.H<n>.Ar.RA.FC<+n/-n>.MN<n>.SM<n> | |
| 240 | |
| 241 Except for AS which is a required atomic invariant in atom types, | |
| 242 all other atomic invariants are optional. Atom type specification | |
| 243 doesn't include atomic invariants with zero or undefined values. | |
| 244 | |
| 245 In addition to usage of abbreviations for specifying atomic | |
| 246 invariants, the following descriptive words are also allowed: | |
| 247 | |
| 248 X : NumOfNonHydrogenAtomNeighbors or NumOfHeavyAtomNeighbors | |
| 249 BO : SumOfBondOrdersToNonHydrogenAtoms or SumOfBondOrdersToHeavyAtoms | |
| 250 LBO : LargestBondOrderToNonHydrogenAtoms or LargestBondOrderToHeavyAtoms | |
| 251 SB : NumOfSingleBondsToNonHydrogenAtoms or NumOfSingleBondsToHeavyAtoms | |
| 252 DB : NumOfDoubleBondsToNonHydrogenAtoms or NumOfDoubleBondsToHeavyAtoms | |
| 253 TB : NumOfTripleBondsToNonHydrogenAtoms or NumOfTripleBondsToHeavyAtoms | |
| 254 H : NumOfImplicitAndExplicitHydrogens | |
| 255 Ar : Aromatic | |
| 256 RA : RingAtom | |
| 257 FC : FormalCharge | |
| 258 MN : MassNumber | |
| 259 SM : SpinMultiplicity | |
| 260 | |
| 261 *AtomTypes::AtomicInvariantsAtomTypes* module is used to assign | |
| 262 atomic invariant atom types. | |
| 263 | |
| 264 SetFunctionalClassesToUse | |
| 265 $TopologicalTorsionsFingerprints->SetFunctionalClassesToUse($ValuesRef); | |
| 266 $TopologicalTorsionsFingerprints->SetFunctionalClassesToUse(@Values); | |
| 267 | |
| 268 Sets functional classes invariants to use during | |
| 269 *FunctionalClassAtomTypes* value of *AtomIdentifierType* for | |
| 270 topological atom torsions fingerprints generation and returns | |
| 271 *TopologicalAtomTorsionsFingerprints*. | |
| 272 | |
| 273 Possible values for atom functional classes are: *Ar, CA, H, HBA, | |
| 274 HBD, Hal, NI, PI, RA*. Default value [ Ref 24 ]: | |
| 275 *HBD,HBA,PI,NI,Ar,Hal*. | |
| 276 | |
| 277 The functional class abbreviations correspond to: | |
| 278 | |
| 279 HBD: HydrogenBondDonor | |
| 280 HBA: HydrogenBondAcceptor | |
| 281 PI : PositivelyIonizable | |
| 282 NI : NegativelyIonizable | |
| 283 Ar : Aromatic | |
| 284 Hal : Halogen | |
| 285 H : Hydrophobic | |
| 286 RA : RingAtom | |
| 287 CA : ChainAtom | |
| 288 | |
| 289 Functional class atom type specification for an atom corresponds to: | |
| 290 | |
| 291 Ar.CA.H.HBA.HBD.Hal.NI.PI.RA or None | |
| 292 | |
| 293 *AtomTypes::FunctionalClassAtomTypes* module is used to assign | |
| 294 functional class atom types. It uses following definitions [ Ref | |
| 295 60-61, Ref 65-66 ]: | |
| 296 | |
| 297 HydrogenBondDonor: NH, NH2, OH | |
| 298 HydrogenBondAcceptor: N[!H], O | |
| 299 PositivelyIonizable: +, NH2 | |
| 300 NegativelyIonizable: -, C(=O)OH, S(=O)OH, P(=O)OH | |
| 301 | |
| 302 StringifyTopologicalAtomTorsionsFingerprints | |
| 303 $String = $TopologicalAtomTorsionsFingerprints-> | |
| 304 StringifyTopologicalAtomTorsionsFingerprints(); | |
| 305 | |
| 306 Returns a string containing information about | |
| 307 *TopologicalAtomTorsionsFingerprints* object. | |
| 308 | |
| 309 AUTHOR | |
| 310 Manish Sud <msud@san.rr.com> | |
| 311 | |
| 312 SEE ALSO | |
| 313 Fingerprints.pm, FingerprintsStringUtil.pm, | |
| 314 AtomNeighborhoodsFingerprints.pm, AtomTypesFingerprints.pm, | |
| 315 EStateIndiciesFingerprints.pm, ExtendedConnectivityFingerprints.pm, | |
| 316 MACCSKeys.pm, PathLengthFingerprints.pm, | |
| 317 TopologicalAtomPairsFingerprints.pm, | |
| 318 TopologicalAtomTripletsFingerprints.pm, | |
| 319 TopologicalPharmacophoreAtomPairsFingerprints.pm, | |
| 320 TopologicalPharmacophoreAtomTripletsFingerprints.pm | |
| 321 | |
| 322 COPYRIGHT | |
| 323 Copyright (C) 2015 Manish Sud. All rights reserved. | |
| 324 | |
| 325 This file is part of MayaChemTools. | |
| 326 | |
| 327 MayaChemTools is free software; you can redistribute it and/or modify it | |
| 328 under the terms of the GNU Lesser General Public License as published by | |
| 329 the Free Software Foundation; either version 3 of the License, or (at | |
| 330 your option) any later version. | |
| 331 |
