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