|
0
|
1 NAME
|
|
|
2 TopologicalPharmacophoreAtomTripletsFingerprints
|
|
|
3
|
|
|
4 SYNOPSIS
|
|
|
5 use Fingerprints::TopologicalPharmacophoreAtomTripletsFingerprints;
|
|
|
6
|
|
|
7 use Fingerprints::TopologicalPharmacophoreAtomTripletsFingerprints
|
|
|
8 qw(:all);
|
|
|
9
|
|
|
10 DESCRIPTION
|
|
|
11 TopologicalPharmacophoreAtomTripletsFingerprints [ Ref 66, Ref 68-71 ]
|
|
|
12 class provides the following methods:
|
|
|
13
|
|
|
14 new, GenerateFingerprints, , GetDescription, GetAtomTripletIDs,
|
|
|
15 SetAtomTypesToUse, SetDistanceBinSize, SetMaxDistance, SetMinDistance,
|
|
|
16 StringifyTopologicalPharmacophoreAtomTripletsFingerprints
|
|
|
17
|
|
|
18 TopologicalPharmacophoreAtomTripletsFingerprints is derived from
|
|
|
19 Fingerprints class which in turn is derived from ObjectProperty base
|
|
|
20 class that provides methods not explicitly defined in
|
|
|
21 TopologicalPharmacophoreAtomTripletsFingerprints, Fingerprints or
|
|
|
22 ObjectProperty classes using Perl's AUTOLOAD functionality. These
|
|
|
23 methods are generated on-the-fly for a specified object property:
|
|
|
24
|
|
|
25 Set<PropertyName>(<PropertyValue>);
|
|
|
26 $PropertyValue = Get<PropertyName>();
|
|
|
27 Delete<PropertyName>();
|
|
|
28
|
|
|
29 Based on the values specified for AtomTypesToUse, pharmacophore atom
|
|
|
30 types are assigned to all non-hydrogen atoms in a molecule and a
|
|
|
31 distance matrix is generated. Using MinDistance, MaxDistance, and
|
|
|
32 DistanceBinSize values, a binned distance matrix is generated with lower
|
|
|
33 bound on the distance bin as the distance in distance matrix; the lower
|
|
|
34 bound on the distance bin is also used as the distance between atom
|
|
|
35 pairs for generation of atom triplet identifiers.
|
|
|
36
|
|
|
37 A pharmacophore atom triplets basis set is generated for all unique atom
|
|
|
38 triplets constituting atom pairs binned distances between --MinDistance
|
|
|
39 and --MaxDistance. The value of --UseTriangleInequality determines
|
|
|
40 whether the triangle inequality test is applied during generation of
|
|
|
41 atom triplets basis set. The lower distance bound, along with specified
|
|
|
42 pharmacophore types, is used during generation of atom triplet IDs.
|
|
|
43
|
|
|
44 Let:
|
|
|
45
|
|
|
46 P = Valid pharmacophore atom type
|
|
|
47
|
|
|
48 Px = Pharmacophore atom x
|
|
|
49 Py = Pharmacophore atom y
|
|
|
50 Pz = Pharmacophore atom z
|
|
|
51
|
|
|
52 Dmin = Minimum distance corresponding to number of bonds between two atoms
|
|
|
53 Dmax = Maximum distance corresponding to number of bonds between two atoms
|
|
|
54 D = Distance corresponding to number of bonds between two atom
|
|
|
55
|
|
|
56 Bsize = Distance bin size
|
|
|
57 Nbins = Number of distance bins
|
|
|
58
|
|
|
59 Dxy = Distance or lower bound of binned distance between Px and Py
|
|
|
60 Dxz = Distance or lower bound of binned distance between Px and Pz
|
|
|
61 Dyz = Distance or lower bound of binned distance between Py and Pz
|
|
|
62
|
|
|
63 Then:
|
|
|
64
|
|
|
65 PxDyz-PyDxz-PzDxy = Pharmacophore atom triplet IDs for atom types Px,
|
|
|
66 Py, and Pz
|
|
|
67
|
|
|
68 For example: H1-H1-H1, H2-HBA-H2 and so on.
|
|
|
69
|
|
|
70 For default values of Dmin = 1 , Dmax = 10 and Bsize = 2, the number of
|
|
|
71 distance bins, Nbins = 5, are:
|
|
|
72
|
|
|
73 [1, 2] [3, 4] [5, 6] [7, 8] [9 10]
|
|
|
74
|
|
|
75 and atom triplet basis set size is 2692.
|
|
|
76
|
|
|
77 Atom triplet basis set size for various values of Dmin, Dmax and Bsize in
|
|
|
78 conjunction with usage of triangle inequality is:
|
|
|
79
|
|
|
80 Dmin Dmax Bsize UseTriangleInequality TripletBasisSetSize
|
|
|
81 1 10 2 No 4960
|
|
|
82 1 10 2 Yes 2692 [ Default ]
|
|
|
83 2 12 2 No 8436
|
|
|
84 2 12 2 Yes 4494
|
|
|
85
|
|
|
86 Using binned distance matrix and pharmacohore atom types, occurrence of
|
|
|
87 unique pharmacohore atom triplets is counted.
|
|
|
88
|
|
|
89 The final pharmacophore atom triples count along with atom pair
|
|
|
90 identifiers involving all non-hydrogen atoms constitute pharmacophore
|
|
|
91 topological atom triplets fingerprints of the molecule.
|
|
|
92
|
|
|
93 For *ArbitrarySize* value of AtomTripletsSetSizeToUse, the fingerprint
|
|
|
94 vector correspond to only those topological pharmacophore atom triplets
|
|
|
95 which are present and have non-zero count. However, for *FixedSize*
|
|
|
96 value of AtomTripletsSetSizeToUse, the fingerprint vector contains all
|
|
|
97 possible valid topological pharmacophore atom triplets with both zero
|
|
|
98 and non-zero count values.
|
|
|
99
|
|
|
100 The current release of MayaChemTools generates the following types of
|
|
|
101 topological pharmacophore atom triplets fingerprints vector strings:
|
|
|
102
|
|
|
103 FingerprintsVector;TopologicalPharmacophoreAtomTriplets:ArbitrarySize:
|
|
|
104 MinDistance1:MaxDistance10;696;NumericalValues;IDsAndValuesString;Ar1-
|
|
|
105 Ar1-Ar1 Ar1-Ar1-H1 Ar1-Ar1-HBA1 Ar1-Ar1-HBD1 Ar1-H1-H1 Ar1-H1-HBA1 Ar1
|
|
|
106 -H1-HBD1 Ar1-HBA1-HBD1 H1-H1-H1 H1-H1-HBA1 H1-H1-HBD1 H1-HBA1-HBA1 H1-
|
|
|
107 HBA1-HBD1 H1-HBA1-NI1 H1-HBD1-NI1 HBA1-HBA1-NI1 HBA1-HBD1-NI1 Ar1-...;
|
|
|
108 46 106 8 3 83 11 4 1 21 5 3 1 2 2 1 1 1 100 101 18 11 145 132 26 14 23
|
|
|
109 28 3 3 5 4 61 45 10 4 16 20 7 5 1 3 4 5 3 1 1 1 1 5 4 2 1 2 2 2 1 1 1
|
|
|
110 119 123 24 15 185 202 41 25 22 17 3 5 85 95 18 11 23 17 3 1 1 6 4 ...
|
|
|
111
|
|
|
112 FingerprintsVector;TopologicalPharmacophoreAtomTriplets:FixedSize:MinD
|
|
|
113 istance1:MaxDistance10;2692;OrderedNumericalValues;ValuesString;46 106
|
|
|
114 8 3 0 0 83 11 4 0 0 0 1 0 0 0 0 0 0 0 0 21 5 3 0 0 1 2 2 0 0 1 0 0 0
|
|
|
115 0 0 0 1 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 100 101 18 11 0 0 145 132 26
|
|
|
116 14 0 0 23 28 3 3 0 0 5 4 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 61 45 10 4 0
|
|
|
117 0 16 20 7 5 1 0 3 4 5 3 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 0 0 5 ...
|
|
|
118
|
|
|
119 FingerprintsVector;TopologicalPharmacophoreAtomTriplets:FixedSize:MinD
|
|
|
120 istance1:MaxDistance10;2692;OrderedNumericalValues;IDsAndValuesString;
|
|
|
121 Ar1-Ar1-Ar1 Ar1-Ar1-H1 Ar1-Ar1-HBA1 Ar1-Ar1-HBD1 Ar1-Ar1-NI1 Ar1-Ar1-P
|
|
|
122 I1 Ar1-H1-H1 Ar1-H1-HBA1 Ar1-H1-HBD1 Ar1-H1-NI1 Ar1-H1-PI1 Ar1-HBA1-HB
|
|
|
123 A1 Ar1-HBA1-HBD1 Ar1-HBA1-NI1 Ar1-HBA1-PI1 Ar1-HBD1-HBD1 Ar1-HBD1-...;
|
|
|
124 46 106 8 3 0 0 83 11 4 0 0 0 1 0 0 0 0 0 0 0 0 21 5 3 0 0 1 2 2 0 0 1
|
|
|
125 0 0 0 0 0 0 1 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 100 101 18 11 0 0 145
|
|
|
126 132 26 14 0 0 23 28 3 3 0 0 5 4 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 61 ...
|
|
|
127
|
|
|
128 METHODS
|
|
|
129 new
|
|
|
130 $TPATFP = new TopologicalPharmacophoreAtomTripletsFingerprints(
|
|
|
131 %NamesAndValues);
|
|
|
132
|
|
|
133 Using specified *TopologicalPharmacophoreAtomTripletsFingerprints*
|
|
|
134 property names and values hash, new method creates a new object and
|
|
|
135 returns a reference to newly created
|
|
|
136 TopologicalPharmacophoreAtomTripletsFingerprints object. By default,
|
|
|
137 the following properties are initialized:
|
|
|
138
|
|
|
139 Molecule = ''
|
|
|
140 Type = 'TopologicalPharmacophoreAtomTriplets'
|
|
|
141 MinDistance = 1
|
|
|
142 MaxDistance = 10
|
|
|
143 DistanceBinSize = 2
|
|
|
144 UseTriangleInequality = 1
|
|
|
145 AtomTypesToUse = ['HBD', 'HBA', 'PI', 'NI', 'H', 'Ar']
|
|
|
146
|
|
|
147 Examples:
|
|
|
148
|
|
|
149 $TPATFP = new TopologicalPharmacophoreAtomTripletsFingerprints(
|
|
|
150 'Molecule' => $Molecule);
|
|
|
151
|
|
|
152 $TPATFP = new TopologicalPharmacophoreAtomTripletsFingerprints(
|
|
|
153 'Molecule' => $Molecule,
|
|
|
154 'AtomTripletsSetSizeToUse' => 'ArbitrarySize';
|
|
|
155 'MinDistance' => 1,
|
|
|
156 'MaxDistance' => 10,
|
|
|
157 'DistanceBinSize' => 2,
|
|
|
158 'AtomTypesToUse' => ['HBD', 'HBA', 'PI', 'NI', 'H', 'Ar'],
|
|
|
159 'UseTriangleInequality' => 1);
|
|
|
160
|
|
|
161 $TPATFP = new TopologicalPharmacophoreAtomTripletsFingerprints(
|
|
|
162 'Molecule' => $Molecule,
|
|
|
163 'AtomTripletsSetSizeToUse' => 'FixedSize';
|
|
|
164 'MinDistance' => 1,
|
|
|
165 'MaxDistance' => 10,
|
|
|
166 'DistanceBinSize' => 2,
|
|
|
167 'AtomTypesToUse' => ['HBD', 'HBA', 'PI', 'NI', 'H', 'Ar'],
|
|
|
168 'UseTriangleInequality' => 1);
|
|
|
169
|
|
|
170 $TPATFP->GenerateFingerprints();
|
|
|
171 print "$TPATFP\n";
|
|
|
172
|
|
|
173 GetDescription
|
|
|
174 $Description = $TopologicalPharmacophoreAtomTripletsFP->GetDescription();
|
|
|
175
|
|
|
176 Returns a string containing description of topological pharmacophore
|
|
|
177 atom triplets fingerprints.
|
|
|
178
|
|
|
179 GenerateFingerprints
|
|
|
180 $TopologicalPharmacophoreAtomTripletsFP->GenerateFingerprints();
|
|
|
181
|
|
|
182 Generates topological pharmacophore atom triplets fingerprints and
|
|
|
183 returns *TopologicalPharmacophoreAtomTripletsFP*.
|
|
|
184
|
|
|
185 GetAtomTripletIDs
|
|
|
186 $AtomTripletsIDsRef = $TopologicalPharmacophoreATFP->GetAtomTripletIDs();
|
|
|
187 @AtomTripletIDs = $TopologicalPharmacophoreATFP->GetAtomTripletIDs();
|
|
|
188
|
|
|
189 Returns atom triplet IDs corresponding to atom pairs count values in
|
|
|
190 topological pharmacophore atom triplet fingerprints vector as an
|
|
|
191 array or reference to an array.
|
|
|
192
|
|
|
193 AtomTripletsSetSizeToUse
|
|
|
194 $TPAFP->AtomTripletsSetSizeToUse($Values);
|
|
|
195
|
|
|
196 Sets pharmacophore atom triplets set size to use for topological
|
|
|
197 pharmacophore fingerprints generation and returns
|
|
|
198 *TopologicalPharmacophoreAtomTripletsFingerprints*.
|
|
|
199
|
|
|
200 Possible values for pharmacophore atom triplets set size are:
|
|
|
201 *ArbitrarySize, FizedSize*. Default value: *ArbitrarySize*.
|
|
|
202
|
|
|
203 For *ArbitrarySize* value of AtomTripletsSetSizeToUse, the
|
|
|
204 fingerprint vector correspond to only those topological
|
|
|
205 pharmacophore atom triplets which are present and have non-zero
|
|
|
206 count. However, for *FixedSize* value of AtomTripletsSetSizeToUse,
|
|
|
207 the fingerprint vector contains all possible valid topological
|
|
|
208 pharmacophore atom triplets with both zero and non-zero count
|
|
|
209 values.
|
|
|
210
|
|
|
211 SetAtomTypesToUse
|
|
|
212 $TopologicalPharmacophoreAtomTripletsFP->SetAtomTypesToUse($ValuesRef);
|
|
|
213 $TopologicalPharmacophoreAtomTripletsFP->SetAtomTypesToUse(@Values);
|
|
|
214
|
|
|
215 Sets pharmacophore atom types to use for topological pharmacophore
|
|
|
216 fingerprints generation and returns
|
|
|
217 *TopologicalPharmacophoreAtomTripletsFingerprints*.
|
|
|
218
|
|
|
219 Possible values for pharmacophore atom types are: *Ar, CA, H, HBA,
|
|
|
220 HBD, Hal, NI, PI, RA*. Default value [ Ref 71 ] :
|
|
|
221 *HBD,HBA,PI,NI,H,Ar*.
|
|
|
222
|
|
|
223 The pharmacophore atom types abbreviations correspond to:
|
|
|
224
|
|
|
225 HBD: HydrogenBondDonor
|
|
|
226 HBA: HydrogenBondAcceptor
|
|
|
227 PI : PositivelyIonizable
|
|
|
228 NI : NegativelyIonizable
|
|
|
229 Ar : Aromatic
|
|
|
230 Hal : Halogen
|
|
|
231 H : Hydrophobic
|
|
|
232 RA : RingAtom
|
|
|
233 CA : ChainAtom
|
|
|
234
|
|
|
235 *AtomTypes::FunctionalClassAtomTypes* module is used to assign
|
|
|
236 pharmacophore atom types. It uses following definitions [ Ref 60-61,
|
|
|
237 Ref 65-66 ]:
|
|
|
238
|
|
|
239 HydrogenBondDonor: NH, NH2, OH
|
|
|
240 HydrogenBondAcceptor: N[!H], O
|
|
|
241 PositivelyIonizable: +, NH2
|
|
|
242 NegativelyIonizable: -, C(=O)OH, S(=O)OH, P(=O)OH
|
|
|
243
|
|
|
244 SetDistanceBinSize
|
|
|
245 $TopologicalPharmacophoreAtomTripletsFP->SetDistanceBinSize($Value);
|
|
|
246
|
|
|
247 Sets distance bin size used to bin distances between atom pairs in
|
|
|
248 atom triplets and returns *TopologicalPharmacophoreAtomTriplesFP*.
|
|
|
249
|
|
|
250 For default MinDistance and MaxDistance values of 1 and 10 with
|
|
|
251 DistanceBinSize of 2 [ Ref 70 ], the following 5 distance bins are
|
|
|
252 generated:
|
|
|
253
|
|
|
254 [1, 2] [3, 4] [5, 6] [7, 8] [9 10]
|
|
|
255
|
|
|
256 The lower distance bound on the distance bin is uses to bin the
|
|
|
257 distance between atom pairs in atom triplets. So in the previous
|
|
|
258 example, atom pairs with distances 1 and 2 fall in first distance
|
|
|
259 bin, atom pairs with distances 3 and 4 fall in second distance bin
|
|
|
260 and so on.
|
|
|
261
|
|
|
262 In order to distribute distance bins of equal size, the last bin is
|
|
|
263 allowed to go past MaxDistance by up to distance bin size. For
|
|
|
264 example, MinDistance and MaxDistance values of 2 and 10 with
|
|
|
265 DistanceBinSize of 2 generates the following 6 distance bins:
|
|
|
266
|
|
|
267 [2, 3] [4, 5] [6, 7] [8, 9] [10 11]
|
|
|
268
|
|
|
269 SetMaxDistance
|
|
|
270 $TopologicalPharmacophoreAtomTriplesFP->SetMaxDistance($Value);
|
|
|
271
|
|
|
272 Sets maximum bond distance between atom pairs corresponding to atom
|
|
|
273 triplets for generating topological pharmacophore atom triplets
|
|
|
274 fingerprints and returns *TopologicalPharmacophoreAtomTriplesFP*.
|
|
|
275
|
|
|
276 SetMinDistance
|
|
|
277 $TopologicalPharmacophoreAtomTriplesFP->SetMinDistance($Value);
|
|
|
278
|
|
|
279 Sets minimum bond distance between atom pairs corresponding to atom
|
|
|
280 triplets for generating topological pharmacophore atom triplets
|
|
|
281 fingerprints and returns *TopologicalPharmacophoreAtomTriplesFP*.
|
|
|
282
|
|
|
283 StringifyTopologicalPharmacophoreAtomTripletsFingerprints
|
|
|
284 $String = $TopologicalPharmacophoreAtomTripletsFingerprints->
|
|
|
285 StringifyTopologicalPharmacophoreAtomTripletsFingerprints();
|
|
|
286
|
|
|
287 Returns a string containing information about
|
|
|
288 *TopologicalPharmacophoreAtomTripletsFingerprints* object.
|
|
|
289
|
|
|
290 AUTHOR
|
|
|
291 Manish Sud <msud@san.rr.com>
|
|
|
292
|
|
|
293 SEE ALSO
|
|
|
294 Fingerprints.pm, FingerprintsStringUtil.pm,
|
|
|
295 AtomNeighborhoodsFingerprints.pm, AtomTypesFingerprints.pm,
|
|
|
296 EStateIndiciesFingerprints.pm, ExtendedConnectivityFingerprints.pm,
|
|
|
297 MACCSKeys.pm, PathLengthFingerprints.pm,
|
|
|
298 TopologicalAtomPairsFingerprints.pm,
|
|
|
299 TopologicalAtomTripletsFingerprints.pm,
|
|
|
300 TopologicalAtomTorsionsFingerprints.pm,
|
|
|
301 TopologicalPharmacophoreAtomPairsFingerprints.pm,
|
|
|
302
|
|
|
303 COPYRIGHT
|
|
|
304 Copyright (C) 2015 Manish Sud. All rights reserved.
|
|
|
305
|
|
|
306 This file is part of MayaChemTools.
|
|
|
307
|
|
|
308 MayaChemTools is free software; you can redistribute it and/or modify it
|
|
|
309 under the terms of the GNU Lesser General Public License as published by
|
|
|
310 the Free Software Foundation; either version 3 of the License, or (at
|
|
|
311 your option) any later version.
|
|
|
312
|