comparison docs/modules/txt/TopologicalPharmacophoreAtomPairsFingerprints.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 TopologicalPharmacophoreAtomPairsFingerprints
3
4 SYNOPSIS
5 use Fingerprints::TopologicalPharmacophoreAtomPairsFingerprints;
6
7 use Fingerprints::TopologicalPharmacophoreAtomPairsFingerprints
8 qw(:all);
9
10 DESCRIPTION
11 TopologicalPharmacophoreAtomPairsFingerprints [ Ref 60-62, Ref 65, Ref
12 68 ] class provides the following methods:
13
14 new, GenerateFingerprints, GetDescription, GetAtomPairIDs,
15 SetAtomTypesToUse, SetAtomTypesWeight, SetFuzzFactor,
16 SetFuzzificationMethodology, SetFuzzificationMode, SetMaxDistance,
17 SetMinDistance, SetNormalizationMethodology, SetValuesPrecision,
18 StringifyTopologicalPharmacophoreAtomPairsFingerprints
19
20 TopologicalPharmacophoreAtomPairsFingerprints is derived from
21 Fingerprints class which in turn is derived from ObjectProperty base
22 class that provides methods not explicitly defined in
23 TopologicalPharmacophoreAtomPairsFingerprints, Fingerprints or
24 ObjectProperty classes using Perl's AUTOLOAD functionality. These
25 methods are generated on-the-fly for a specified object property:
26
27 Set<PropertyName>(<PropertyValue>);
28 $PropertyValue = Get<PropertyName>();
29 Delete<PropertyName>();
30
31 Based on the values specified for AtomTypesToUse, pharmacophore atom
32 types are assigned to all non-hydrogen atoms in a molecule and a
33 distance matrix is generated. A pharmacophore atom pairs basis set is
34 initialized for all unique possible pairs within MinDistance and
35 MaxDistance range.
36
37 Let:
38
39 P = Valid pharmacophore atom type
40
41 Px = Pharmacophore atom type x
42 Py = Pharmacophore atom type y
43
44 Dmin = Minimum distance corresponding to number of bonds between two atoms
45 Dmax = Maximum distance corresponding to number of bonds between two atoms
46 D = Distance corresponding to number of bonds between two atoms
47
48 Px-Dn-Py = Pharmacophore atom pair ID for atom types Px and Py at distance Dn
49
50 P = Number of pharmacophore atom types to consider
51 PPDn = Number of possible unique pharmacophore atom pairs at a distance Dn
52
53 PPT = Total number of possible pharmacophore atom pairs at all distances between Dmin and Dmax
54
55 Then:
56
57 PPD = (P * (P - 1))/2 + P
58
59 PPT = ((Dmax - Dmin) + 1) * ((P * (P - 1))/2 + P)
60 = ((Dmax - Dmin) + 1) * PPD
61
62 So for default values of Dmin = 1, Dmax = 10 and P = 5,
63
64 PPD = (5 * (5 - 1))/2 + 5 = 15
65 PPT = ((10 - 1) + 1) * 15 = 150
66
67 The pharmacophore atom pairs bais set includes 150 values.
68
69 The atom pair IDs correspond to:
70
71 Px-Dn-Py = Pharmacophore atom pair ID for atom types Px and Py at distance Dn
72
73 For example: H-D1-H, H-D2-HBA, PI-D5-PI and so on
74
75 Using distance matrix and pharmacohore atom types, occurrence of unique
76 pharmacohore atom pairs is counted. The contribution of each atom type
77 to atom pair interaction is optionally weighted by specified
78 AtomTypesWeight before assigning its count to appropriate distance bin.
79 Based on NormalizationMethodology option, pharmacophore atom pairs count
80 is optionally normalized. Additionally, pharmacohore atom pairs count is
81 optionally fuzzified before or after the normalization controlled by
82 values of FuzzifyAtomPairsCount, FuzzificationMode,
83 FuzzificationMethodology and FuzzFactor.
84
85 The final pharmacophore atom pairs count along with atom pair
86 identifiers involving all non-hydrogen atoms, with optional
87 normalization and fuzzification, constitute pharmacophore topological
88 atom pairs fingerprints of the molecule.
89
90 For *ArbitrarySize* value of AtomPairsSetSizeToUse, the fingerprint
91 vector correspond to only those topological pharmacophore atom pairs
92 which are present and have non-zero count. However, for *FixedSize*
93 value of AtomPairsSetSizeToUse, the fingerprint vector contains all
94 possible valid topological pharmacophore atom pairs with both zero and
95 non-zero count values.
96
97 The current release of MayaChemTools generates the following types of
98 topological pharmacophore atom pairs fingerprints vector strings:
99
100 FingerprintsVector;TopologicalPharmacophoreAtomPairs:ArbitrarySize:Min
101 Distance1:MaxDistance10;54;NumericalValues;IDsAndValuesString;H-D1-H H
102 -D1-NI HBA-D1-NI HBD-D1-NI H-D2-H H-D2-HBA H-D2-HBD HBA-D2-HBA HBA-D2-
103 HBD H-D3-H H-D3-HBA H-D3-HBD H-D3-NI HBA-D3-NI HBD-D3-NI H-D4-H H-D4-H
104 BA H-D4-HBD HBA-D4-HBA HBA-D4-HBD HBD-D4-HBD H-D5-H H-D5-HBA H-D5-...;
105 18 1 2 1 22 12 8 1 2 18 6 3 1 1 1 22 13 6 5 7 2 28 9 5 1 1 1 36 16 10
106 3 4 1 37 10 8 1 35 10 9 3 3 1 28 7 7 4 18 16 12 5 1 2 1
107
108 FingerprintsVector;TopologicalPharmacophoreAtomPairs:FixedSize:MinDist
109 ance1:MaxDistance10;150;OrderedNumericalValues;ValuesString;18 0 0 1 0
110 0 0 2 0 0 1 0 0 0 0 22 12 8 0 0 1 2 0 0 0 0 0 0 0 0 18 6 3 1 0 0 0 1
111 0 0 1 0 0 0 0 22 13 6 0 0 5 7 0 0 2 0 0 0 0 0 28 9 5 1 0 0 0 1 0 0 1 0
112 0 0 0 36 16 10 0 0 3 4 0 0 1 0 0 0 0 0 37 10 8 0 0 0 0 1 0 0 0 0 0 0
113 0 35 10 9 0 0 3 3 0 0 1 0 0 0 0 0 28 7 7 4 0 0 0 0 0 0 0 0 0 0 0 18...
114
115 FingerprintsVector;TopologicalPharmacophoreAtomPairs:FixedSize:MinDist
116 ance1:MaxDistance10;150;OrderedNumericalValues;IDsAndValuesString;H-D1
117 -H H-D1-HBA H-D1-HBD H-D1-NI H-D1-PI HBA-D1-HBA HBA-D1-HBD HBA-D1-NI H
118 BA-D1-PI HBD-D1-HBD HBD-D1-NI HBD-D1-PI NI-D1-NI NI-D1-PI PI-D1-PI H-D
119 2-H H-D2-HBA H-D2-HBD H-D2-NI H-D2-PI HBA-D2-HBA HBA-D2-HBD HBA-D2...;
120 18 0 0 1 0 0 0 2 0 0 1 0 0 0 0 22 12 8 0 0 1 2 0 0 0 0 0 0 0 0 18 6 3
121 1 0 0 0 1 0 0 1 0 0 0 0 22 13 6 0 0 5 7 0 0 2 0 0 0 0 0 28 9 5 1 0 0 0
122 1 0 0 1 0 0 0 0 36 16 10 0 0 3 4 0 0 1 0 0 0 0
123
124 METHODS
125 new
126 $TPAPFP = new TopologicalPharmacophoreAtomPairsFingerprints(
127 %NamesAndValues);
128
129 Using specified *TopologicalPharmacophoreAtomPairsFingerprints*
130 property names and values hash, new method creates a new object and
131 returns a reference to newly created
132 TopologicalPharmacophoreAtomPairsFingerprints object. By default,
133 the following properties are initialized:
134
135 Molecule = ''
136 Type = 'TopologicalPharmacophoreAtomPairs'
137 MinDistance = 1
138 MaxDistance = 10
139 NormalizationMethodology = 'None'
140 AtomTypesToUse = ['HBD', 'HBA', 'PI', 'NI', 'H']
141
142 FuzzifyAtomPairsCount = 0
143 FuzzificationMode = 'AfterNormalization'
144 FuzzificationMethodology = 'FuzzyBinning'
145 FuzzFactor = 0.15
146
147 ValuesPrecision = 2
148
149 Examples:
150
151 $TPAPFP = new TopologicalPharmacophoreAtomPairsFingerprints(
152 'Molecule' => $Molecule);
153
154 $TPAPFP = new TopologicalPharmacophoreAtomPairsFingerprints(
155 'Molecule' => $Molecule,
156 'AtomPairsSetSizeToUse' => 'ArbitrarySize',
157 'MinDistance' => 1,
158 'MaxDistance' => 10,
159 'NormalizationMethodology' => 'None',
160 'AtomTypesToUse' => ['HBD', 'HBA', 'PI', 'NI', 'H'],
161 'FuzzifyAtomPairsCount' => 0);
162
163 $TPAPFP = new TopologicalPharmacophoreAtomPairsFingerprints(
164 'Molecule' => $Molecule,
165 'AtomPairsSetSizeToUse' => 'FizedSize',
166 'MinDistance' => 1,
167 'MaxDistance' => 10,
168 'NormalizationMethodology' => 'None',
169 'AtomTypesToUse' => ['HBD', 'HBA', 'PI', 'NI', 'H'],
170 'FuzzifyAtomPairsCount' => 1,
171 'FuzzificationMethodology' => 'FuzzyBinning',
172 'FuzzFactor' => 0.15,
173 'ValuesPrecision' => 2);
174
175 $TPAPFP->GenerateFingerprints();
176 print "$TPAPFP\n";
177
178 GetDescription
179 $Description = $TopologicalPharmacophoreAtomPairsFP->GetDescription();
180
181 Returns a string containing description of topological pharmacophore
182 atom pairs fingerprints.
183
184 GenerateFingerprints
185 $TopologicalPharmacophoreAtomPairsFP->GenerateFingerprints();
186
187 Generates topological pharmacophore atom pairs fingerprints and
188 returns *TopologicalPharmacophoreAtomPairsFP*.
189
190 GetAtomPairIDs
191 $AtomPairIDsRef = $TopologicalPharmacophoreAtomPairsFP->GetAtomPairIDs();
192 @AtomPairIDs = $TopologicalPharmacophoreAtomPairsFP->GetAtomPairIDs();
193
194 Returns atom pair IDs corresponding to atom pairs count values in
195 topological pharmacophore atom pairs fingerprints vector as an array
196 or reference to an array.
197
198 SetAtomPairsSetSizeToUse
199 $TopologicalPharmacophoreAtomPairsFP->SetAtomPairsSetSizeToUse($Values);
200
201 Sets pharmacophore atom pairs set size to use for topological
202 pharmacophore fingerprints generation and returns
203 *TopologicalPharmacophoreAtomPairsFingerprints*.
204
205 Possible values for pharmacophore atom pairs set size are:
206 *ArbitrarySize, FizedSize*. Default value: *ArbitrarySize*.
207
208 For *ArbitrarySize* value of AtomPairsSetSizeToUse, the fingerprint
209 vector correspond to only those topological pharmacophore atom pairs
210 which are present and have non-zero count. However, for *FixedSize*
211 value of AtomPairsSetSizeToUse, the fingerprint vector contains all
212 possible valid topological pharmacophore atom pairs with both zero
213 and non-zero count values.
214
215 SetAtomTypesToUse
216 $TopologicalPharmacophoreAtomPairsFP->SetAtomTypesToUse($ValuesRef);
217 $TopologicalPharmacophoreAtomPairsFP->SetAtomTypesToUse(@Values);
218
219 Sets pharmacophore atom types to use for topological pharmacophore
220 fingerprints generation and returns
221 *TopologicalPharmacophoreAtomPairsFingerprints*.
222
223 Possible values for pharmacophore atom types are: *Ar, CA, H, HBA,
224 HBD, Hal, NI, PI, RA*. Default value [ Ref 60-62 ] :
225 *HBD,HBA,PI,NI,H*.
226
227 The pharmacophore atom types abbreviations correspond to:
228
229 HBD: HydrogenBondDonor
230 HBA: HydrogenBondAcceptor
231 PI : PositivelyIonizable
232 NI : NegativelyIonizable
233 Ar : Aromatic
234 Hal : Halogen
235 H : Hydrophobic
236 RA : RingAtom
237 CA : ChainAtom
238
239 *AtomTypes::FunctionalClassAtomTypes* module is used to assign
240 pharmacophore atom types. It uses following definitions [ Ref 60-61,
241 Ref 65-66 ]:
242
243 HydrogenBondDonor: NH, NH2, OH
244 HydrogenBondAcceptor: N[!H], O
245 PositivelyIonizable: +, NH2
246 NegativelyIonizable: -, C(=O)OH, S(=O)OH, P(=O)OH
247
248 SetAtomTypesWeight
249 $TopologicalPharmacophoreAtomPairsFP->SetAtomTypesWeight(
250 %AtomTypesToWeight);
251
252 Sets weights of specified pharmacophore atom types to use during
253 calculation of their contribution to atom pair count and returns
254 *TopologicalPharmacophoreAtomPairsFP*. Default values: *1 for each
255 atom type*.
256
257 The weight values allow to increase the importance of specific
258 pharmacophore atom type in the generated fingerprints. A weight
259 value of 0 for an atom type eliminates its contribution to atom pair
260 count where as weight value of 2 doubles its contribution.
261
262 SetFuzzFactor
263 $TopologicalPharmacophoreAtomPairsFP->SetFuzzFactor($Value);
264
265 Sets fuzz factor value to use during fuzzification of atom pairs
266 count and returns *TopologicalPharmacophoreAtomPairsFP*. Default
267 value: *0.15*.
268
269 Valid values: For *FuzzyBinning* value of FuzzificationMethodology:
270 *between 0 and 1.0*; For *FuzzyBinSmoothing* value of
271 FuzzificationMethodology: *between 0 and 0.5*.
272
273 SetFuzzificationMethodology
274 $TopologicalPharmacophoreAtomPairsFP->SetFuzzificationMethodology($Value);
275
276 Sets fuzzification methodology to use for fuzzification of atom
277 pairs count and returns *TopologicalPharmacophoreAtomPairsFP*.
278 Default value: *FuzzyBinning*. Possible values: *FuzzyBinning |
279 FuzzyBinSmoothing*.
280
281 In conjunction with values for options FuzzifyAtomPairsCount,
282 FuzzificationMode and FuzzFactor, FuzzificationMethodology option is
283 used to fuzzify pharmacophore atom pairs count.
284
285 Let:
286
287 Px = Pharmacophore atom type x
288 Py = Pharmacophore atom type y
289 PPxy = Pharmacophore atom pair between atom type Px and Py
290
291 PPxyDn = Pharmacophore atom pairs count between atom type Px and Py
292 at distance Dn
293 PPxyDn-1 = Pharmacophore atom pairs count between atom type Px and Py
294 at distance Dn - 1
295 PPxyDn+1 = Pharmacophore atom pairs count between atom type Px and Py
296 at distance Dn + 1
297
298 FF = FuzzFactor for FuzzyBinning and FuzzyBinSmoothing
299
300 Then:
301
302 For *FuzzyBinning*:
303
304 PPxyDn = PPxyDn (Unchanged)
305
306 PPxyDn-1 = PPxyDn-1 + PPxyDn * FF
307 PPxyDn+1 = PPxyDn+1 + PPxyDn * FF
308
309 For *FuzzyBinSmoothing*:
310
311 PPxyDn = PPxyDn - PPxyDn * 2FF for Dmin < Dn < Dmax
312 PPxyDn = PPxyDn - PPxyDn * FF for Dn = Dmin or Dmax
313
314 PPxyDn-1 = PPxyDn-1 + PPxyDn * FF
315 PPxyDn+1 = PPxyDn+1 + PPxyDn * FF
316
317 In both fuzzification schemes, a value of 0 for FF implies no
318 fuzzification of occurrence counts. A value of 1 during
319 *FuzzyBinning* corresponds to maximum fuzzification of occurrence
320 counts; however, a value of 1 during *FuzzyBinSmoothing* ends up
321 completely distributing the value over the previous and next
322 distance bins.
323
324 So for default value of FuzzFactor (FF) 0.15, the occurrence count
325 of pharmacohore atom pairs at distance Dn during FuzzyBinning is
326 left unchanged and the counts at distances Dn -1 and Dn + 1 are
327 incremented by PPxyDn * 0.15.
328
329 And during *FuzzyBinSmoothing* the occurrence counts at Distance Dn
330 is scaled back using multiplicative factor of (1 - 2*0.15) and the
331 occurrence counts at distances Dn -1 and Dn + 1 are incremented by
332 PPxyDn * 0.15. In other words, occurrence bin count is smoothed out
333 by distributing it over the previous and next distance value.
334
335 SetFuzzificationMode
336 $TopologicalPharmacophoreAtomPairsFP->SetFuzzificationMode($Value);
337
338 Sets fuzzification mode to use for fuzzification of atom pairs count
339 and returns *TopologicalPharmacophoreAtomPairsFP*. Default value:
340 *AfterNormalization*. Possible values: *BeforeNormalization |
341 AfterNormalization*.
342
343 SetMaxDistance
344 $TopologicalPharmacophoreAtomPairsFP->SetMaxDistance($Value);
345
346 Sets maximum bond distance between atom pairs for generating
347 topological pharmacophore atom pairs fingerprints and returns
348 *TopologicalPharmacophoreAtomPairsFP*.
349
350 SetMinDistance
351 $TopologicalPharmacophoreAtomPairsFP->SetMinDistance($Value);
352
353 Sets minimum bond distance between atom pairs for generating
354 topological pharmacophore atom pairs fingerprints and returns
355 *TopologicalPharmacophoreAtomPairsFP*.
356
357 SetNormalizationMethodology
358 $TopologicalPharmacophoreAtomPairsFP->SetNormalizationMethodology($Value);
359
360 Sets normalization methodology to use for scaling the occurrence
361 count of pharmacophore atom pairs within specified distance range
362 and returns *TopologicalPharmacophoreAtomPairsFP*. Default value:
363 *None*. Possible values: *None, ByHeavyAtomsCount or
364 ByAtomTypesCount*.
365
366 SetValuesPrecision
367 $TopologicalPharmacophoreAtomPairsFP->SetValuesPrecision($Value);
368
369 Sets precision of atom pairs count real values which might be
370 generated after normalization or fuzzification and returns
371 *TopologicalPharmacophoreAtomPairsFP*. Default: up to *2* decimal
372 places.
373
374 StringifyTopologicalPharmacophoreAtomPairsFingerprints
375 $String = $TopologicalPharmacophoreAtomPairsFP->
376 StringifyTopologicalPharmacophoreAtomPairsFingerprints();
377
378 Returns a string containing information about
379 *TopologicalPharmacophoreAtomPairsFingerprints* object.
380
381 AUTHOR
382 Manish Sud <msud@san.rr.com>
383
384 SEE ALSO
385 Fingerprints.pm, FingerprintsStringUtil.pm,
386 AtomNeighborhoodsFingerprints.pm, AtomTypesFingerprints.pm,
387 EStateIndiciesFingerprints.pm, ExtendedConnectivityFingerprints.pm,
388 MACCSKeys.pm, PathLengthFingerprints.pm,
389 TopologicalAtomPairsFingerprints.pm,
390 TopologicalAtomTripletsFingerprints.pm,
391 TopologicalAtomTorsionsFingerprints.pm,
392 TopologicalPharmacophoreAtomTripletsFingerprints.pm
393
394 COPYRIGHT
395 Copyright (C) 2015 Manish Sud. All rights reserved.
396
397 This file is part of MayaChemTools.
398
399 MayaChemTools is free software; you can redistribute it and/or modify it
400 under the terms of the GNU Lesser General Public License as published by
401 the Free Software Foundation; either version 3 of the License, or (at
402 your option) any later version.
403