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