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