comparison docs/modules/txt/FingerprintsFPFileIO.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 FingerprintsFPFileIO
3
4 SYNOPSIS
5 use FileIO::FingerprintsFPFileIO;
6
7 use FileIO::FingerprintsFPFileIO qw(:all);
8
9 DESCRIPTION
10 FingerprintsFPFileIO class provides the following methods:
11
12 new, GetFingerprints, GetFingerprintsString, GetHeaderDataKeyValue,
13 GetHeaderDataKeys, GetHeaderDataKeysAndValues,
14 GetPartialFingerprintsString, GetRequiredHeaderDataKeys,
15 GetRequiredHeaderDataKeysAndValues, IsFingerprintsDataValid,
16 IsFingerprintsFPFile, IsFingerprintsFileDataValid,
17 IsHeaderDataKeyPresent, Next, Read, SetBitStringFormat, SetBitsOrder,
18 SetCompoundID, SetDetailLevel, SetFingerprints, SetFingerprintsString,
19 SetFingerprintsStringMode, SetPartialFingerprintsString,
20 SetVectorStringFormat, WriteFingerprints, WriteFingerprintsString
21
22 The following methods can also be used as functions:
23
24 IsFingerprintsFPFile
25
26 FingerprintsFPFileIO class is derived from *FileIO* class and uses its
27 methods to support generic file related functionality.
28
29 The MayaChemTools fingerprints file (FP) format with .fpf or .fp file
30 extensions supports two types of fingerprints data: fingerprints
31 bit-vectors and fingerprints vectors.
32
33 Example of FP file format containing fingerprints bit-vector string
34 data:
35
36 #
37 # Package = MayaChemTools 7.4
38 # ReleaseDate = Oct 21, 2010
39 #
40 # TimeStamp = Mon Mar 7 15:14:01 2011
41 #
42 # FingerprintsStringType = FingerprintsBitVector
43 #
44 # Description = PathLengthBits:AtomicInvariantsAtomTypes:MinLength1:...
45 # Size = 1024
46 # BitStringFormat = HexadecimalString
47 # BitsOrder = Ascending
48 #
49 Cmpd1 9c8460989ec8a49913991a6603130b0a19e8051c89184414953800cc21510...
50 Cmpd2 000000249400840040100042011001001980410c000000001010088001120...
51 ... ...
52 ... ..
53
54 Example of FP file format containing fingerprints vector string data:
55
56 #
57 # Package = MayaChemTools 7.4
58 # ReleaseDate = Oct 21, 2010
59 #
60 # TimeStamp = Mon Mar 7 15:14:01 2011
61 #
62 # FingerprintsStringType = FingerprintsVector
63 #
64 # Description = PathLengthBits:AtomicInvariantsAtomTypes:MinLength1:...
65 # VectorStringFormat = IDsAndValuesString
66 # VectorValuesType = NumericalValues
67 #
68 Cmpd1 338;C F N O C:C C:N C=O CC CF CN CO C:C:C C:C:N C:CC C:CF C:CN C:
69 N:C C:NC CC:N CC=O CCC CCN CCO CNC NC=O O=CO C:C:C:C C:C:C:N C:C:CC...;
70 33 1 2 5 21 2 2 12 1 3 3 20 2 10 2 2 1 2 2 2 8 2 5 1 1 1 19 2 8 2 2 2 2
71 6 2 2 2 2 2 2 2 2 3 2 2 1 4 1 5 1 1 18 6 2 2 1 2 10 2 1 2 1 2 2 2 2 ...
72 Cmpd2 103;C N O C=N C=O CC CN CO CC=O CCC CCN CCO CNC N=CN NC=O NCN O=C
73 O C CC=O CCCC CCCN CCCO CCNC CNC=N CNC=O CNCN CCCC=O CCCCC CCCCN CC...;
74 15 4 4 1 2 13 5 2 2 15 5 3 2 2 1 1 1 2 17 7 6 5 1 1 1 2 15 8 5 7 2 2 2 2
75 1 2 1 1 3 15 7 6 8 3 4 4 3 2 2 1 2 3 14 2 4 7 4 4 4 4 1 1 1 2 1 1 1 ...
76 ... ...
77 ... ...
78
79 FP file data format consists of two main sections: header section and
80 fingerprints string data section. The header section lines start with #
81 and the first line not starting with # represents the start of
82 fingerprints string data section. The header section contains both the
83 required and optional information which is specified as key = value
84 pairs. The required information describes fingerprints bit-vector and
85 vector strings and used to generate fingerprints objects; the optional
86 information is ignored during generation of fingerpints objects.
87
88 The key = value data specification in the header section and its
89 processing follows these rules:
90
91 o Leading and trailing spaces for key = value pairs are ignored
92 o Key and value strings may contain spaces
93 o Multiple key = value pairs on a single are delimited by semicolon
94
95 The default optional header data section key = value pairs are:
96
97 # Package = MayaChemTools 7.4
98 # ReleaseDate = Oct 21, 2010
99
100 The FingerprintsStringType key is required data header key for both
101 fingerprints bit-vector and vector strings. Possible key values:
102 *FingerprintsBitVector or FingerprintsVector*. For example:
103
104 # FingerprintsStringType = FingerprintsBitVector
105
106 The required data header keys for fingerprints bit-vector string are:
107 Description, Size, BitStringFormat, and BitsOrder. Possible values for
108 BitStringFormat: *HexadecimalString or BinaryString*. Possible values
109 for BitsOrder: *Ascending or Descending*. The Description key contains
110 information about various parameters used to generate fingerprints
111 bit-vector string. The Size corresponds to number of fingerprints bits
112 and is always less than or equal to number of bits in bit-vetor string
113 which might contain extra bits at the end to round off the size to make
114 it multiple of 8. For example:
115
116 # Description = PathLengthBits:AtomicInvariantsAtomTypes:MinLength1:...
117 # Size = 1024
118 # BitStringFormat = HexadecimalString
119 # BitsOrder = Ascending
120
121 The required data header keys for fingerprints vector string are:
122 Description, VectorStringFormat, and VectorValuesType. Possible values
123 for VectorStringFormat: *DsAndValuesString, IDsAndValuesPairsString,
124 ValuesAndIDsString, ValuesAndIDsPairsString or ValuesString*. Possible
125 values for VectorValuesType: *NumericalValues, OrderedNumericalValues or
126 AlphaNumericalValues*. The Description keys contains information various
127 parameters used to generate fingerprints vector string. For example:
128
129 # Description = PathLengthBits:AtomicInvariantsAtomTypes:MinLength1:...
130 # VectorStringFormat = IDsAndValuesString
131 # VectorValuesType = NumericalValues
132
133 The fingerprints data section for fingerprints bit-vector string
134 contains data in the following format:
135
136 ... ...
137 CmpdID FingerprintsPartialBitVectorString
138 ... ...
139
140 For example:
141
142 ... ...
143 Cmpd1 9c8460989ec8a49913991a6603130b0a19e8051c89184414953800cc21510...
144 ... ...
145
146 The fingerprints data section for fingerprints vector string contains
147 data in the following format:
148
149 ... ...
150 CmpdID Size;FingerprintsPartialVectorString
151 ... ...
152
153 For example:
154
155 ... ...
156 Cmpd1 338;C F N O C:C C:N C=O CC CF CN CO C:C:C C:C:N C:CC C:CF C:CN C:
157 N:C C:NC CC:N CC=O CCC CCN CCO CNC NC=O O=CO C:C:C:C C:C:C:N C:C:CC...;
158 33 1 2 5 21 2 2 12 1 3 3 20 2 10 2 2 1 2 2 2 8 2 5 1 1 1 19 2 8 2 2 2 2
159 6 2 2 2 2 2 2 2 2 3 2 2 1 4 1 5 1 1 18 6 2 2 1 2 10 2 1 2 1 2 2 2 2 ...
160 ... ...
161
162 Unlike fingerprints bit-vector string, *Size* is specified for each
163 partial fingerprints vector string: It may change from molecule to
164 molecule for same type of fingerprints.
165
166 Values IDs are optional for fingerprints vector string containing
167 *OrderedNumericalValues or AlphaNumericalValues*; however, they must be
168 present for for *NumericalValues*. Due to various possible values for
169 VectorStringFormat, the fingerprints data section for fingerprints
170 vector string supports following type of data formats:
171
172 CmpdID Size;ID1 ID2 ID3...;Value1 Value2 Value3...
173 CmpdID Size;ID1 Value1 ID2 Value2 ID3 Value3... ...
174 CmpdID Size;ValuesAndIDsString: Value1 Value2 Value3...;ID1 ID2 ID3...
175 CmpdID Size;ValuesAndIDsPairsString: Value1 ID1 Value2 ID2 Value3 ID3... ...
176 CmpdID Size;Value1 Value2 Value3 ...
177
178 However, all the fingerprints vector string data present in FP file must
179 correspond to only one of the formats shown above; multiple data formats
180 in the same file are not allowed.
181
182 The current release of MayaChemTools supports the following types of
183 fingerprint bit-vector and vector strings:
184
185 FingerprintsVector;AtomNeighborhoods:AtomicInvariantsAtomTypes:MinRadi
186 us0:MaxRadius2;41;AlphaNumericalValues;ValuesString;NR0-C.X1.BO1.H3-AT
187 C1:NR1-C.X3.BO3.H1-ATC1:NR2-C.X1.BO1.H3-ATC1:NR2-C.X3.BO4-ATC1 NR0-C.X
188 1.BO1.H3-ATC1:NR1-C.X3.BO3.H1-ATC1:NR2-C.X1.BO1.H3-ATC1:NR2-C.X3.BO4-A
189 TC1 NR0-C.X2.BO2.H2-ATC1:NR1-C.X2.BO2.H2-ATC1:NR1-C.X3.BO3.H1-ATC1:NR2
190 -C.X2.BO2.H2-ATC1:NR2-N.X3.BO3-ATC1:NR2-O.X1.BO1.H1-ATC1 NR0-C.X2.B...
191
192 FingerprintsVector;AtomTypesCount:AtomicInvariantsAtomTypes:ArbitraryS
193 ize;10;NumericalValues;IDsAndValuesString;C.X1.BO1.H3 C.X2.BO2.H2 C.X2
194 .BO3.H1 C.X3.BO3.H1 C.X3.BO4 F.X1.BO1 N.X2.BO2.H1 N.X3.BO3 O.X1.BO1.H1
195 O.X1.BO2;2 4 14 3 10 1 1 1 3 2
196
197 FingerprintsVector;AtomTypesCount:SLogPAtomTypes:ArbitrarySize;16;Nume
198 ricalValues;IDsAndValuesString;C1 C10 C11 C14 C18 C20 C21 C22 C5 CS F
199 N11 N4 O10 O2 O9;5 1 1 1 14 4 2 1 2 2 1 1 1 1 3 1
200
201 FingerprintsVector;AtomTypesCount:SLogPAtomTypes:FixedSize;67;OrderedN
202 umericalValues;IDsAndValuesString;C1 C2 C3 C4 C5 C6 C7 C8 C9 C10 C11 C
203 12 C13 C14 C15 C16 C17 C18 C19 C20 C21 C22 C23 C24 C25 C26 C27 CS N1 N
204 2 N3 N4 N5 N6 N7 N8 N9 N10 N11 N12 N13 N14 NS O1 O2 O3 O4 O5 O6 O7 O8
205 O9 O10 O11 O12 OS F Cl Br I Hal P S1 S2 S3 Me1 Me2;5 0 0 0 2 0 0 0 0 1
206 1 0 0 1 0 0 0 14 0 4 2 1 0 0 0 0 0 2 0 0 0 1 0 0 0 0 0 0 1 0 0 0 0...
207
208 FingerprintsVector;EStateIndicies:ArbitrarySize;11;NumericalValues;IDs
209 AndValuesString;SaaCH SaasC SaasN SdO SdssC SsCH3 SsF SsOH SssCH2 SssN
210 H SsssCH;24.778 4.387 1.993 25.023 -1.435 3.975 14.006 29.759 -0.073 3
211 .024 -2.270
212
213 FingerprintsVector;EStateIndicies:FixedSize;87;OrderedNumericalValues;
214 ValuesString;0 0 0 0 0 0 0 3.975 0 -0.073 0 0 24.778 -2.270 0 0 -1.435
215 4.387 0 0 0 0 0 0 3.024 0 0 0 0 0 0 0 1.993 0 29.759 25.023 0 0 0 0 1
216 4.006 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
217 0 0 0 0 0 0 0 0 0 0 0 0 0 0
218
219 FingerprintsVector;ExtendedConnectivity:AtomicInvariantsAtomTypes:Radi
220 us2;60;AlphaNumericalValues;ValuesString;73555770 333564680 352413391
221 666191900 1001270906 1371674323 1481469939 1977749791 2006158649 21414
222 08799 49532520 64643108 79385615 96062769 273726379 564565671 85514103
223 5 906706094 988546669 1018231313 1032696425 1197507444 1331250018 1338
224 532734 1455473691 1607485225 1609687129 1631614296 1670251330 17303...
225
226 FingerprintsVector;ExtendedConnectivityCount:AtomicInvariantsAtomTypes
227 :Radius2;60;NumericalValues;IDsAndValuesString;73555770 333564680 3524
228 13391 666191900 1001270906 1371674323 1481469939 1977749791 2006158649
229 2141408799 49532520 64643108 79385615 96062769 273726379 564565671...;
230 3 2 1 1 14 1 2 10 4 3 1 1 1 1 2 1 2 1 1 1 2 3 1 1 2 1 3 3 8 2 2 2 6 2
231 1 2 1 1 2 1 1 1 2 1 1 2 1 2 1 1 1 1 1 1 1 1 1 2 1 1
232
233 FingerprintsBitVector;ExtendedConnectivityBits:AtomicInvariantsAtomTyp
234 es:Radius2;1024;BinaryString;Ascending;0000000000000000000000000000100
235 0000000001010000000110000011000000000000100000000000000000000000100001
236 1000000110000000000000000000000000010011000000000000000000000000010000
237 0000000000000000000000000010000000000000000001000000000000000000000000
238 0000000000010000100001000000000000101000000000000000100000000000000...
239
240 FingerprintsVector;ExtendedConnectivity:FunctionalClassAtomTypes:Radiu
241 s2;57;AlphaNumericalValues;ValuesString;24769214 508787397 850393286 8
242 62102353 981185303 1231636850 1649386610 1941540674 263599683 32920567
243 1 571109041 639579325 683993318 723853089 810600886 885767127 90326012
244 7 958841485 981022393 1126908698 1152248391 1317567065 1421489994 1455
245 632544 1557272891 1826413669 1983319256 2015750777 2029559552 20404...
246
247 FingerprintsVector;ExtendedConnectivity:EStateAtomTypes:Radius2;62;Alp
248 haNumericalValues;ValuesString;25189973 528584866 662581668 671034184
249 926543080 1347067490 1738510057 1759600920 2034425745 2097234755 21450
250 44754 96779665 180364292 341712110 345278822 386540408 387387308 50430
251 1706 617094135 771528807 957666640 997798220 1158349170 1291258082 134
252 1138533 1395329837 1420277211 1479584608 1486476397 1487556246 1566...
253
254 FingerprintsBitVector;MACCSKeyBits;166;BinaryString;Ascending;00000000
255 0000000000000000000000000000000001001000010010000000010010000000011100
256 0100101010111100011011000100110110000011011110100110111111111111011111
257 11111111111110111000
258
259 FingerprintsBitVector;MACCSKeyBits;322;BinaryString;Ascending;11101011
260 1110011111100101111111000111101100110000000000000011100010000000000000
261 0000000000000000000000000000000000000000000000101000000000000000000000
262 0000000000000000000000000000000000000000000000000000000000000000000000
263 0000000000000000000000000000000000000011000000000000000000000000000000
264 0000000000000000000000000000000000000000
265
266 FingerprintsVector;MACCSKeyCount;166;OrderedNumericalValues;ValuesStri
267 ng;0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
268 0 0 0 0 0 0 0 1 0 0 3 0 0 0 0 4 0 0 2 0 0 0 0 0 0 0 0 2 0 0 2 0 0 0 0
269 0 0 0 0 1 1 8 0 0 0 1 0 0 1 0 1 0 1 0 3 1 3 1 0 0 0 1 2 0 11 1 0 0 0
270 5 0 0 1 2 0 1 1 0 0 0 0 0 1 1 0 1 1 1 1 0 4 0 0 1 1 0 4 6 1 1 1 2 1 1
271 3 5 2 2 0 5 3 5 1 1 2 5 1 2 1 2 4 8 3 5 5 2 2 0 3 5 4 1
272
273 FingerprintsVector;MACCSKeyCount;322;OrderedNumericalValues;ValuesStri
274 ng;14 8 2 0 2 0 4 4 2 1 4 0 0 2 5 10 5 2 1 0 0 2 0 5 13 3 28 5 5 3 0 0
275 0 4 2 1 1 0 1 1 0 0 2 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 22 5 3 0 0 0 1 0
276 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
277 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 11 0 2 0 0 0 0 0 0 0 0 0
278 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ...
279
280 FingerprintsBitVector;PathLengthBits:AtomicInvariantsAtomTypes:MinLeng
281 th1:MaxLength8;1024;BinaryString;Ascending;001000010011010101011000110
282 0100010101011000101001011100110001000010001001101000001001001001001000
283 0010110100000111001001000001001010100100100000000011000000101001011100
284 0010000001000101010100000100111100110111011011011000000010110111001101
285 0101100011000000010001000011000010100011101100001000001000100000000...
286
287 FingerprintsVector;PathLengthCount:AtomicInvariantsAtomTypes:MinLength
288 1:MaxLength8;432;NumericalValues;IDsAndValuesPairsString;C.X1.BO1.H3 2
289 C.X2.BO2.H2 4 C.X2.BO3.H1 14 C.X3.BO3.H1 3 C.X3.BO4 10 F.X1.BO1 1 N.X
290 2.BO2.H1 1 N.X3.BO3 1 O.X1.BO1.H1 3 O.X1.BO2 2 C.X1.BO1.H3C.X3.BO3.H1
291 2 C.X2.BO2.H2C.X2.BO2.H2 1 C.X2.BO2.H2C.X3.BO3.H1 4 C.X2.BO2.H2C.X3.BO
292 4 1 C.X2.BO2.H2N.X3.BO3 1 C.X2.BO3.H1:C.X2.BO3.H1 10 C.X2.BO3.H1:C....
293
294 FingerprintsVector;PathLengthCount:MMFF94AtomTypes:MinLength1:MaxLengt
295 h8;463;NumericalValues;IDsAndValuesPairsString;C5A 2 C5B 2 C=ON 1 CB 1
296 8 COO 1 CR 9 F 1 N5 1 NC=O 1 O=CN 1 O=CO 1 OC=O 1 OR 2 C5A:C5B 2 C5A:N
297 5 2 C5ACB 1 C5ACR 1 C5B:C5B 1 C5BC=ON 1 C5BCB 1 C=ON=O=CN 1 C=ONNC=O 1
298 CB:CB 18 CBF 1 CBNC=O 1 COO=O=CO 1 COOCR 1 COOOC=O 1 CRCR 7 CRN5 1 CR
299 OR 2 C5A:C5B:C5B 2 C5A:C5BC=ON 1 C5A:C5BCB 1 C5A:N5:C5A 1 C5A:N5CR ...
300
301 FingerprintsVector;TopologicalAtomPairs:AtomicInvariantsAtomTypes:MinD
302 istance1:MaxDistance10;223;NumericalValues;IDsAndValuesString;C.X1.BO1
303 .H3-D1-C.X3.BO3.H1 C.X2.BO2.H2-D1-C.X2.BO2.H2 C.X2.BO2.H2-D1-C.X3.BO3.
304 H1 C.X2.BO2.H2-D1-C.X3.BO4 C.X2.BO2.H2-D1-N.X3.BO3 C.X2.BO3.H1-D1-...;
305 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
306 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...
307
308 FingerprintsVector;TopologicalAtomPairs:FunctionalClassAtomTypes:MinDi
309 stance1:MaxDistance10;144;NumericalValues;IDsAndValuesString;Ar-D1-Ar
310 Ar-D1-Ar.HBA Ar-D1-HBD Ar-D1-Hal Ar-D1-None Ar.HBA-D1-None HBA-D1-NI H
311 BA-D1-None HBA.HBD-D1-NI HBA.HBD-D1-None HBD-D1-None NI-D1-None No...;
312 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
313 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 ...
314
315 FingerprintsVector;TopologicalAtomTorsions:AtomicInvariantsAtomTypes;3
316 3;NumericalValues;IDsAndValuesString;C.X1.BO1.H3-C.X3.BO3.H1-C.X3.BO4-
317 C.X3.BO4 C.X1.BO1.H3-C.X3.BO3.H1-C.X3.BO4-N.X3.BO3 C.X2.BO2.H2-C.X2.BO
318 2.H2-C.X3.BO3.H1-C.X2.BO2.H2 C.X2.BO2.H2-C.X2.BO2.H2-C.X3.BO3.H1-O...;
319 2 2 1 1 2 2 1 1 3 4 4 8 4 2 2 6 2 2 1 2 1 1 2 1 1 2 6 2 4 2 1 3 1
320
321 FingerprintsVector;TopologicalAtomTorsions:EStateAtomTypes;36;Numerica
322 lValues;IDsAndValuesString;aaCH-aaCH-aaCH-aaCH aaCH-aaCH-aaCH-aasC aaC
323 H-aaCH-aasC-aaCH aaCH-aaCH-aasC-aasC aaCH-aaCH-aasC-sF aaCH-aaCH-aasC-
324 ssNH aaCH-aasC-aasC-aasC aaCH-aasC-aasC-aasN aaCH-aasC-ssNH-dssC a...;
325 4 4 8 4 2 2 6 2 2 2 4 3 2 1 3 3 2 2 2 1 2 1 1 1 2 1 1 1 1 1 1 1 2 1 1 2
326
327 FingerprintsVector;TopologicalAtomTriplets:AtomicInvariantsAtomTypes:M
328 inDistance1:MaxDistance10;3096;NumericalValues;IDsAndValuesString;C.X1
329 .BO1.H3-D1-C.X1.BO1.H3-D1-C.X3.BO3.H1-D2 C.X1.BO1.H3-D1-C.X2.BO2.H2-D1
330 0-C.X3.BO4-D9 C.X1.BO1.H3-D1-C.X2.BO2.H2-D3-N.X3.BO3-D4 C.X1.BO1.H3-D1
331 -C.X2.BO2.H2-D4-C.X2.BO2.H2-D5 C.X1.BO1.H3-D1-C.X2.BO2.H2-D6-C.X3....;
332 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
333 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...
334
335 FingerprintsVector;TopologicalAtomTriplets:SYBYLAtomTypes:MinDistance1
336 :MaxDistance10;2332;NumericalValues;IDsAndValuesString;C.2-D1-C.2-D9-C
337 .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-
338 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
339 -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.
340 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...
341
342 FingerprintsVector;TopologicalPharmacophoreAtomPairs:ArbitrarySize:Min
343 Distance1:MaxDistance10;54;NumericalValues;IDsAndValuesString;H-D1-H H
344 -D1-NI HBA-D1-NI HBD-D1-NI H-D2-H H-D2-HBA H-D2-HBD HBA-D2-HBA HBA-D2-
345 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
346 BA H-D4-HBD HBA-D4-HBA HBA-D4-HBD HBD-D4-HBD H-D5-H H-D5-HBA H-D5-...;
347 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
348 3 4 1 37 10 8 1 35 10 9 3 3 1 28 7 7 4 18 16 12 5 1 2 1
349
350 FingerprintsVector;TopologicalPharmacophoreAtomPairs:FixedSize:MinDist
351 ance1:MaxDistance10;150;OrderedNumericalValues;ValuesString;18 0 0 1 0
352 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
353 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
354 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
355 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...
356
357 FingerprintsVector;TopologicalPharmacophoreAtomTriplets:ArbitrarySize:
358 MinDistance1:MaxDistance10;696;NumericalValues;IDsAndValuesString;Ar1-
359 Ar1-Ar1 Ar1-Ar1-H1 Ar1-Ar1-HBA1 Ar1-Ar1-HBD1 Ar1-H1-H1 Ar1-H1-HBA1 Ar1
360 -H1-HBD1 Ar1-HBA1-HBD1 H1-H1-H1 H1-H1-HBA1 H1-H1-HBD1 H1-HBA1-HBA1 H1-
361 HBA1-HBD1 H1-HBA1-NI1 H1-HBD1-NI1 HBA1-HBA1-NI1 HBA1-HBD1-NI1 Ar1-...;
362 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
363 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
364 119 123 24 15 185 202 41 25 22 17 3 5 85 95 18 11 23 17 3 1 1 6 4 ...
365
366 FingerprintsVector;TopologicalPharmacophoreAtomTriplets:FixedSize:MinD
367 istance1:MaxDistance10;2692;OrderedNumericalValues;ValuesString;46 106
368 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
369 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
370 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
371 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 ...
372
373 METHODS
374 new
375 $NewFingerprintsFPFileIO = new FileIO::FingerprintsFPFileIO(%IOParameters);
376
377 Using specified *IOParameters* names and values hash, new method
378 creates a new object and returns a reference to a newly created
379 FingerprintsFPFileIO object. By default, the following properties
380 are initialized during *Read* mode:
381
382 Name = '';
383 Mode = 'Read';
384 Status = 0;
385 FingerprintsStringMode = 'AutoDetect';
386 ValidateData = 1;
387 DetailLevel = 1;
388
389 During *Write* mode, the following properties get initialize by
390 default:
391
392 FingerprintsStringMode = undef;
393
394 BitStringFormat = HexadecimalString;
395 BitsOrder = Ascending;
396
397 VectorStringFormat = NumericalValuesString or ValuesString;
398
399 Examples:
400
401 $NewFingerprintsFPFileIO = new FileIO::FingerprintsFPFileIO(
402 'Name' => 'Sample.fpf',
403 'Mode' => 'Read',
404 'FingerprintsStringMode' =>
405 'AutoDetect');
406
407 $NewFingerprintsFPFileIO = new FileIO::FingerprintsFPFileIO(
408 'Name' => 'Sample.fpf',
409 'Mode' => 'Write',
410 'FingerprintsStringMode' =>
411 'FingerprintsBitVectorString',
412 'Overwrite' => 1,
413 'BitStringFormat' => 'HexadecimalString',
414 'BitsOrder' => 'Ascending');
415
416 $NewFingerprintsFPFileIO = new FileIO::FingerprintsFPFileIO(
417 'Name' => 'Sample.fp',
418 'Mode' => 'Write',
419 'FingerprintsStringMode' =>
420 'FingerprintsVectorString',
421 'Overwrite' => 1,
422 'VectorStringFormat' => 'IDsAndValuesString');
423
424 GetFingerprints
425 $FingerprintsObject = $FingerprintsFPFileIO->GetFingerprints();
426
427 Returns FingerprintsObject generated for current data line using
428 fingerprints bit-vector or vector string data. The fingerprints
429 object corresponds to any of the supported fingerprints such as
430 PathLengthFingerprints, ExtendedConnectivity, and so on.
431
432 GetFingerprintsString
433 $FingerprintsString = $FingerprintsFPFileIO->GetFingerprintsString();
434
435 Returns FingerprintsString for current data line.
436
437 GetHeaderDataKeyValue
438 $KeyValue = $FingerprintsFPFileIO->GetHeaderDataKeyValue($Key);
439
440 Returns KeyValue of a data header *Key*.
441
442 GetHeaderDataKeys
443 @Keys = $FingerprintsFPFileIO->GetHeaderDataKeys();
444 $NumOfKeys = $FingerprintsFPFileIO->GetHeaderDataKeys();
445
446 Returns an array of data header Keys retrieved from data header
447 section of fingerprints file. In scalar context, it returns number
448 of keys.
449
450 GetHeaderDataKeysAndValues
451 %KeysAndValues = $FingerprintsFPFileIO->GetHeaderDataKeysAndValues();
452
453 Returns a hash of data header keys and values retrieved from data
454 header section of fingerprints file.
455
456 GetPartialFingerprintsString
457 $FingerprintsString = $FingerprintsFPFileIO->GetPartialFingerprintsString();
458
459 Returns partial FingerprintsString for current data line. It
460 corresponds to fingerprints string specified present in a line.
461
462 GetRequiredHeaderDataKeys
463 @Keys = $FingerprintsFPFileIO->GetRequiredHeaderDataKeys();
464 $NumOfKeys = $FingerprintsFPFileIO->GetRequiredHeaderDataKeys();
465
466 Returns an array of required data header Keys for a fingerprints
467 file containing bit-vector or vector strings data. In scalar
468 context, it returns number of keys.
469
470 GetRequiredHeaderDataKeysAndValues
471 %KeysAndValues = $FingerprintsFPFileIO->
472 GetRequiredHeaderDataKeysAndValues();
473
474 Returns a hash of required data header keys and values for a
475 fingerprints file containing bit-vector or vector strings data
476
477 IsFingerprintsDataValid
478 $Status = $FingerprintsFPFileIO->IsFingerprintsDataValid();
479
480 Returns 1 or 0 based on whether FingerprintsObject is valid.
481
482 IsFingerprintsFPFile
483 $Status = $FingerprintsFPFileIO->IsFingerprintsFPFile($FileName);
484 $Status = FileIO::FingerprintsFPFileIO::IsFingerprintsFPFile($FileName);
485
486 Returns 1 or 0 based on whether *FileName* is a FP file.
487
488 IsFingerprintsFileDataValid
489 $Status = $FingerprintsFPFileIO->IsFingerprintsFileDataValid();
490
491 Returns 1 or 0 based on whether fingerprints file contains valid
492 fingerprints data.
493
494 IsHeaderDataKeyPresent
495 $Status = $FingerprintsFPFileIO->IsHeaderDataKeyPresent($Key);
496
497 Returns 1 or 0 based on whether data header *Key* is present in data
498 header section of a FP file.
499
500 Next or Read
501 $FingerprintsFPFileIO = $FingerprintsFPFileIO->Next();
502 $FingerprintsFPFileIO = $FingerprintsFPFileIO->Read();
503
504 Reads next available fingerprints line in FP file, processes the
505 data, generates appropriate fingerprints object, and returns
506 FingerprintsFPFileIO. The generated fingerprints object is available
507 using method GetFingerprints.
508
509 SetBitStringFormat
510 $FingerprintsFPFileIO->SetBitStringFormat($Format);
511
512 Sets bit string *Format* for fingerprints bit-vector string data in
513 a FP file and returns FingerprintsFPFileIO. Possible values for
514 BitStringFormat: *BinaryString or HexadecimalString*.
515
516 SetBitsOrder
517 $FingerprintsFPFileIO->SetBitsOrder($BitsOrder);
518
519 Sets *BitsOrder* for fingerprints bit-vector string data in a FP
520 file and returns FingerprintsFPFileIO. Possible values for
521 BitsOrder: *Ascending or Descending*.
522
523 SetCompoundID
524 $FingerprintsFPFileIO->SetCompoundID($ID);
525
526 Sets compound ID for current data line and returns
527 FingerprintsFPFileIO. Spaces are not allowed in compound IDs.
528
529 SetDetailLevel
530 $FingerprintsFPFileIO->SetDetailLevel($Level);
531
532 Sets details *Level* for generating diagnostics messages during FP
533 file processing and returns FingerprintsFPFileIO. Possible values:
534 *Positive integers*.
535
536 SetFingerprints
537 $FingerprintsFPFileIO->SetFingerprints($FingerprintsObject);
538
539 Sets *FingerprintsObject* for current data line and returns
540 FingerprintsFPFileIO.
541
542 SetFingerprintsString
543 $FingerprintsFPFileIO->SetFingerprintsString($FingerprintsString);
544
545 Sets *FingerprintsString* for current data line and returns
546 FingerprintsFPFileIO.
547
548 SetFingerprintsStringMode
549 $FingerprintsFPFileIO->SetFingerprintsStringMode($Mode);
550
551 Sets *FingerprintsStringMode* for FP file and returns
552 FingerprintsFPFileIO. Possible values: *AutoDetect,
553 FingerprintsBitVectorString, or FingerprintsVectorString*
554
555 SetPartialFingerprintsString
556 $FingerprintsFPFileIO->SetPartialFingerprintsString($PartialString);
557
558 Sets *PartialFingerprintsString* for current data line and returns
559 FingerprintsFPFileIO.
560
561 SetVectorStringFormat
562 $FingerprintsFPFileIO->SetVectorStringFormat($Format);
563
564 Sets *VectorStringFormat* for FP file and returns
565 FingerprintsFPFileIO. Possible values: *IDsAndValuesString,
566 IDsAndValuesPairsString, ValuesAndIDsString,
567 ValuesAndIDsPairsString*.
568
569 WriteFingerprints
570 $FingerprintsFPFileIO->WriteFingerprints($FingerprintsObject,
571 $CompoundID);
572
573 Writes fingerprints string generated from *FingerprintsObject*
574 object and other data including *CompoundID* to FP file and returns
575 FingerprintsFPFileIO.
576
577 WriteFingerprintsString
578 $FingerprintsFPFileIO->WriteFingerprints($FingerprintsString,
579 $CompoundID);
580
581 Writes *FingerprintsString* and other data including *CompoundID* to
582 FP file and returns FingerprintsFPFileIO.
583
584 Caveats:
585
586 o FingerprintsStringMode, BitStringFormat, BitsOrder, VectorStringFormat
587 values are ignored during writing of fingerprints and it's written to
588 the file as it is.
589 o FingerprintsString is a regular fingerprints string as oppose to a
590 partial fingerprints string.
591
592 AUTHOR
593 Manish Sud <msud@san.rr.com>
594
595 SEE ALSO
596 FingerprintsSDFileIO.pm, FingerprintsTextFileIO.pm
597
598 COPYRIGHT
599 Copyright (C) 2015 Manish Sud. All rights reserved.
600
601 This file is part of MayaChemTools.
602
603 MayaChemTools is free software; you can redistribute it and/or modify it
604 under the terms of the GNU Lesser General Public License as published by
605 the Free Software Foundation; either version 3 of the License, or (at
606 your option) any later version.
607