0
|
1 package Fingerprints::FingerprintsStringUtil;
|
|
2 #
|
|
3 # $RCSfile: FingerprintsStringUtil.pm,v $
|
|
4 # $Date: 2015/02/28 20:48:54 $
|
|
5 # $Revision: 1.24 $
|
|
6 #
|
|
7 # Author: Manish Sud <msud@san.rr.com>
|
|
8 #
|
|
9 # Copyright (C) 2015 Manish Sud. All rights reserved.
|
|
10 #
|
|
11 # This file is part of MayaChemTools.
|
|
12 #
|
|
13 # MayaChemTools is free software; you can redistribute it and/or modify it under
|
|
14 # the terms of the GNU Lesser General Public License as published by the Free
|
|
15 # Software Foundation; either version 3 of the License, or (at your option) any
|
|
16 # later version.
|
|
17 #
|
|
18 # MayaChemTools is distributed in the hope that it will be useful, but without
|
|
19 # any warranty; without even the implied warranty of merchantability of fitness
|
|
20 # for a particular purpose. See the GNU Lesser General Public License for more
|
|
21 # details.
|
|
22 #
|
|
23 # You should have received a copy of the GNU Lesser General Public License
|
|
24 # along with MayaChemTools; if not, see <http://www.gnu.org/licenses/> or
|
|
25 # write to the Free Software Foundation Inc., 59 Temple Place, Suite 330,
|
|
26 # Boston, MA, 02111-1307, USA.
|
|
27 #
|
|
28
|
|
29 use strict;
|
|
30 use Exporter;
|
|
31 use Carp;
|
|
32 use TextUtil ();
|
|
33 use Fingerprints::FingerprintsBitVector;
|
|
34 use Fingerprints::FingerprintsVector;
|
|
35
|
|
36 use vars qw(@ISA @EXPORT @EXPORT_OK %EXPORT_TAGS);
|
|
37
|
|
38 @ISA = qw(Exporter);
|
|
39 @EXPORT = qw();
|
|
40 @EXPORT_OK = qw(AreFingerprintsStringValuesValid GenerateFingerprintsString GenerateFingerprintsBitVectorString GenerateFingerprintsVectorString GetFingerprintsStringTypeAndDescription GetDefaultBitsOrder GetDefaultBitStringFormat GetDefaultVectorStringFormat GetFingeprintsStringDelimiter GetFingerprintsStringValues ParseFingerprintsString ParseFingerprintsBitVectorString ParseFingerprintsVectorString);
|
|
41
|
|
42 %EXPORT_TAGS = (all => [@EXPORT, @EXPORT_OK]);
|
|
43
|
|
44 # Fingerprint string values delimiter...
|
|
45 my($FPStringDelim) = ';';
|
|
46
|
|
47 # Generate fingerprints string...
|
|
48 #
|
|
49 sub GenerateFingerprintsString {
|
|
50 my($FingerprintsObject) = @_;
|
|
51 my($VectorType);
|
|
52
|
|
53 $VectorType = $FingerprintsObject->GetVectorType();
|
|
54
|
|
55 VECTORTYPE : {
|
|
56 if ($VectorType =~ /^FingerprintsBitVector$/i) { return GenerateFingerprintsBitVectorString(@_); last VECTORTYPE; }
|
|
57 if ($VectorType =~ /^FingerprintsVector$/i) { return GenerateFingerprintsVectorString(@_); last VECTORTYPE; }
|
|
58 croak "Error: FingerprintsStringUtil::GenerateFingerprintsString: Fingerprints object vector type, $VectorType, is not supported. Valid values: FingerprintsBitVector or FingerprintsVector...";
|
|
59 }
|
|
60 return '';
|
|
61 }
|
|
62
|
|
63 # Generate fingerprints bit vector string...
|
|
64 #
|
|
65 sub GenerateFingerprintsBitVectorString {
|
|
66 my($FingerprintsObject, $BitStringFormat, $BitsOrder) = @_;
|
|
67 my($FingerprintsString, $FingerprintsBitVector, @FingerprintsStringValues);
|
|
68
|
|
69 if (!$BitStringFormat) { $BitStringFormat = GetDefaultBitStringFormat(); }
|
|
70 if (!$BitsOrder) {$BitsOrder = GetDefaultBitsOrder(); }
|
|
71
|
|
72 $FingerprintsString = '';
|
|
73 $FingerprintsBitVector = Fingerprints::FingerprintsBitVector::IsFingerprintsBitVector($FingerprintsObject) ? $FingerprintsObject : $FingerprintsObject->GetFingerprintsBitVector();
|
|
74
|
|
75 # Use specified size instead of size: it corresponds to actual size of the fingerprints bit vector;
|
|
76 # size reflects actual internal size including any padding.
|
|
77 #
|
|
78
|
|
79 @FingerprintsStringValues = ();
|
|
80 push @FingerprintsStringValues, ($FingerprintsObject->GetVectorType(), _GetFingerprintsDescription($FingerprintsObject), $FingerprintsBitVector->GetSpecifiedSize(), $BitStringFormat, $BitsOrder);
|
|
81
|
|
82 $FingerprintsString = join("${FPStringDelim}", @FingerprintsStringValues) . "${FPStringDelim}" . _GetFingerprintBitVectorString($FingerprintsBitVector, $BitStringFormat, $BitsOrder);
|
|
83
|
|
84 return $FingerprintsString;
|
|
85 }
|
|
86
|
|
87 # Get fingerprint bit vector string...
|
|
88 #
|
|
89 sub _GetFingerprintBitVectorString {
|
|
90 my($FingerprintsBitVector, $BitStringFormat, $BitsOrder) = @_;
|
|
91 my($FingerprintBitString);
|
|
92
|
|
93 if (!$BitStringFormat) { $BitStringFormat = GetDefaultBitStringFormat(); }
|
|
94 if (!$BitsOrder) {$BitsOrder = GetDefaultBitsOrder(); }
|
|
95
|
|
96 $FingerprintBitString = '';
|
|
97 if (!$FingerprintsBitVector) {return $FingerprintBitString;}
|
|
98
|
|
99 BITSTRINGFORMAT : {
|
|
100 if ($BitStringFormat =~ /^(BinaryString|Binary|Bin)$/i) { return $FingerprintsBitVector->GetBitsAsBinaryString($BitsOrder); last BITSTRINGFORMAT; }
|
|
101 if ($BitStringFormat =~ /^(HexadecimalString|Hexadecimal|Hex)$/i) { return $FingerprintsBitVector->GetBitsAsHexadecimalString($BitsOrder); last BITSTRINGFORMAT; }
|
|
102 croak "Error: FingerprintsStringUtil::_GetFingerprintBitsAsString: Specified bit vector string format, $BitStringFormat, is not supported. Value values: Binary, Bin, BinaryString, Hexdecimal, Hex, HexadecimalString...";
|
|
103 }
|
|
104 return $FingerprintBitString;
|
|
105 }
|
|
106
|
|
107 # Generate fingerprints vector string...
|
|
108 #
|
|
109 sub GenerateFingerprintsVectorString {
|
|
110 my($FingerprintsObject, $VectorStringFormat) = @_;
|
|
111 my($FingerprintsString, $FingerprintsVector, @FingerprintsStringValues);
|
|
112
|
|
113 $FingerprintsString = '';
|
|
114 $FingerprintsVector = Fingerprints::FingerprintsVector::IsFingerprintsVector($FingerprintsObject) ? $FingerprintsObject : $FingerprintsObject->GetFingerprintsVector();
|
|
115
|
|
116 if (!$VectorStringFormat) { $VectorStringFormat = _GetDefaultVectorStringFormat($FingerprintsVector); }
|
|
117
|
|
118 @FingerprintsStringValues = ();
|
|
119 push @FingerprintsStringValues, ($FingerprintsObject->GetVectorType(), _GetFingerprintsDescription($FingerprintsObject), $FingerprintsVector->GetNumOfValues(), $FingerprintsVector->GetType(), $VectorStringFormat);
|
|
120
|
|
121 $FingerprintsString = join("${FPStringDelim}", @FingerprintsStringValues) . "${FPStringDelim}" . _GetFingerprintVectorString($FingerprintsVector, $VectorStringFormat);
|
|
122
|
|
123 return $FingerprintsString;
|
|
124 }
|
|
125
|
|
126 # Get fingerprint vector string...
|
|
127 #
|
|
128 sub _GetFingerprintVectorString {
|
|
129 my($FingerprintsVector, $VectorStringFormat) = @_;
|
|
130 my($FingerprintString);
|
|
131
|
|
132 if (!$VectorStringFormat) { $VectorStringFormat = _GetDefaultVectorStringFormat($FingerprintsVector);}
|
|
133
|
|
134 $FingerprintString = '';
|
|
135 if (!$FingerprintsVector) {return $FingerprintString;}
|
|
136
|
|
137 VECTORSTRINGFORMAT : {
|
|
138 if ($VectorStringFormat =~ /^(IDsAndValuesString|IDsAndValues)$/i) { return $FingerprintsVector->GetIDsAndValuesString(); last VECTORSTRINGFORMAT; }
|
|
139 if ($VectorStringFormat =~ /^(IDsAndValuesPairsString|IDsAndValuesPairs)$/i) { return $FingerprintsVector->GetIDsAndValuesPairsString(); last VECTORSTRINGFORMAT; }
|
|
140 if ($VectorStringFormat =~ /^(ValuesAndIDsString|ValuesAndIDs)$/i) { return $FingerprintsVector->GetValuesAndIDsString(); last VECTORSTRINGFORMAT; }
|
|
141 if ($VectorStringFormat =~ /^(ValuesAndIDsPairsString|ValuesAndIDsPairs)$/i) { return $FingerprintsVector->GetValuesAndIDsPairsString(); last VECTORSTRINGFORMAT; }
|
|
142 if ($VectorStringFormat =~ /^(ValuesString|Values)$/i) { return $FingerprintsVector->GetValuesString(); last VECTORSTRINGFORMAT; }
|
|
143 croak "Error: FingerprintsStringUtil::_GetFingerprintVectorString: Specified vector string format, $VectorStringFormat, is not supported. Value values: IDsAndValuesString, IDsAndValues, IDsAndValuesPairsString, IDsAndValuesPairs, ValuesAndIDsString, ValuesAndIDs, ValuesAndIDsPairsString, ValuesAndIDsPairs, ValuesString, Values...";
|
|
144 }
|
|
145 return $FingerprintString;
|
|
146 }
|
|
147
|
|
148 # Get fingerprints string type and description...
|
|
149 sub GetFingerprintsStringTypeAndDescription {
|
|
150 my($FingerprintsString) = @_;
|
|
151 my($Type, $Description);
|
|
152
|
|
153 ($Type, $Description) = _ParseFingerprintsStringValues($FingerprintsString);
|
|
154
|
|
155 return ($Type, $Description);
|
|
156 }
|
|
157
|
|
158 # Get all fingerprints string values...
|
|
159 sub GetFingerprintsStringValues {
|
|
160 my($FingerprintsString) = @_;
|
|
161
|
|
162 return _ParseFingerprintsStringValues($FingerprintsString);
|
|
163 }
|
|
164
|
|
165 # Parse fingerprints string and return FingerprintsBitVector or FingerprintsVector object...
|
|
166 #
|
|
167 sub ParseFingerprintsString {
|
|
168 my($FingerprintsString) = @_;
|
|
169
|
|
170 VECTORTYPE : {
|
|
171 if ($FingerprintsString =~ /^FingerprintsBitVector/i) { return ParseFingerprintsBitVectorString(@_); last VECTORTYPE; }
|
|
172 if ($FingerprintsString =~ /^FingerprintsVector/i) { return ParseFingerprintsVectorString(@_); last VECTORTYPE; }
|
|
173 croak "Error: FingerprintsStringUtil::ParseFingerprintsString: Fingerprints string vector type is not supported. Valid values: FingerprintsBitVector or FingerprintsVector...";
|
|
174 }
|
|
175 return undef;
|
|
176 }
|
|
177
|
|
178 # Parse fingerprints bit vector string and retrun bit vector...
|
|
179 #
|
|
180 sub ParseFingerprintsBitVectorString {
|
|
181 my($FingerprintsString, $ValidateValues) = @_;
|
|
182 my($ErrorMsgPrefix, $VectorType, $Description, $Size, $BitStringFormat, $BitsOrder, $BitVectorString);
|
|
183
|
|
184 $ErrorMsgPrefix = "Error: ParsePathLengthFingerprintsBitVectorString";
|
|
185 ($VectorType, $Description, $Size, $BitStringFormat, $BitsOrder, $BitVectorString) = _ParseFingerprintsStringValues($FingerprintsString);
|
|
186 if ($ValidateValues) {
|
|
187 _ValidateFingerprintsStringValues($ErrorMsgPrefix, $VectorType, $Size, $BitStringFormat, $BitsOrder, $BitVectorString);
|
|
188 }
|
|
189
|
|
190 return _GenerateFingerprintBitVector($VectorType, $Description, $Size, $BitStringFormat, $BitsOrder, $BitVectorString);
|
|
191 }
|
|
192
|
|
193 # Generate fingerints bit vector...
|
|
194 #
|
|
195 sub _GenerateFingerprintBitVector {
|
|
196 my($VectorType, $Description, $Size, $BitStringFormat, $BitsOrder, $BitVectorString) = @_;
|
|
197 my($FingerprintsBitVector);
|
|
198
|
|
199 $FingerprintsBitVector = undef;
|
|
200
|
|
201 BITSTRINGFORMAT : {
|
|
202 if ($BitStringFormat =~ /^(BinaryString|Binary|Bin)$/i) {
|
|
203 $FingerprintsBitVector = Fingerprints::FingerprintsBitVector::NewFromBinaryString($BitVectorString, $BitsOrder);
|
|
204 last BITSTRINGFORMAT;
|
|
205 }
|
|
206 if ($BitStringFormat =~ /^(HexadecimalString|Hexadecimal|Hex)$/i) {
|
|
207 $FingerprintsBitVector = Fingerprints::FingerprintsBitVector::NewFromHexadecimalString($BitVectorString, $BitsOrder);
|
|
208 last BITSTRINGFORMAT;
|
|
209 }
|
|
210 croak "Error: FingerprintsStringUtil::_GenerateFingerprintBitVector: Specified bit vector string format, $BitStringFormat, is not supported. Value values: Binary, Bin, BinaryString, Hexdecimal, Hex, HexadecimalString...";
|
|
211 }
|
|
212
|
|
213 if (defined $FingerprintsBitVector) {
|
|
214 # Set fingerints vector type and description...
|
|
215 $FingerprintsBitVector->SetVectorType($VectorType);
|
|
216 $FingerprintsBitVector->SetDescription($Description);
|
|
217
|
|
218 # Set specified size which might be different from the bit string size due to padding
|
|
219 # used by Perl vec function to handle bit vectors in BitVectot class...
|
|
220 #
|
|
221 $FingerprintsBitVector->SetSpecifiedSize($Size);
|
|
222 }
|
|
223
|
|
224 return $FingerprintsBitVector;
|
|
225 }
|
|
226
|
|
227 # Parse fingerprints vector string and retrun vector...
|
|
228 #
|
|
229 sub ParseFingerprintsVectorString {
|
|
230 my($FingerprintsString, $ValidateValues) = @_;
|
|
231 my($ErrorMsgPrefix, $VectorType, $Description, $NumOfValues, $VectorValuesType, $VectorStringFormat, $VectorString1, $VectorString2);
|
|
232
|
|
233 $ErrorMsgPrefix = "Error: ParseFingerprintsVectorString";
|
|
234 ($VectorType, $Description, $NumOfValues, $VectorValuesType, $VectorStringFormat, $VectorString1, $VectorString2) = _ParseFingerprintsStringValues($FingerprintsString);
|
|
235
|
|
236 # No need to check $VectorString1 and $VectorString2 values as they would be
|
|
237 # checked later during the creation of FingerprintsVector...
|
|
238 #
|
|
239 if ($ValidateValues) {
|
|
240 _ValidateFingerprintsStringValues($ErrorMsgPrefix, $VectorType, $NumOfValues, $VectorValuesType, $VectorStringFormat);
|
|
241 }
|
|
242
|
|
243 return _GenerateFingerprintVector($VectorType, $Description, $VectorValuesType, $VectorStringFormat, $VectorString1, $VectorString2);
|
|
244 }
|
|
245
|
|
246 # Generate fingerints vector...
|
|
247 #
|
|
248 sub _GenerateFingerprintVector {
|
|
249 my($VectorType, $Description, $VectorValuesType, $VectorStringFormat, $VectorString1, $VectorString2) = @_;
|
|
250 my($FingerprintsVector, $VectorString);
|
|
251
|
|
252 $VectorString = TextUtil::IsEmpty($VectorString2) ? $VectorString1 : "${VectorString1};${VectorString2}";
|
|
253 $FingerprintsVector = undef;
|
|
254
|
|
255 VECTORSTRINGFORMAT : {
|
|
256 if ($VectorStringFormat =~ /^(ValuesString|Values)$/i) {
|
|
257 $FingerprintsVector = Fingerprints::FingerprintsVector::NewFromValuesString($VectorValuesType, $VectorString);
|
|
258 last VECTORSTRINGFORMAT;
|
|
259 }
|
|
260 if ($VectorStringFormat =~ /^(IDsAndValuesString|IDsAndValues)$/i) {
|
|
261 $FingerprintsVector = Fingerprints::FingerprintsVector::NewFromIDsAndValuesString($VectorValuesType, $VectorString);
|
|
262 last VECTORSTRINGFORMAT;
|
|
263 }
|
|
264 if ($VectorStringFormat =~ /^(IDsAndValuesPairsString|IDsAndValuesPairs)$/i) {
|
|
265 $FingerprintsVector = Fingerprints::FingerprintsVector::NewFromIDsAndValuesPairsString($VectorValuesType, $VectorString);
|
|
266 last VECTORSTRINGFORMAT;
|
|
267 }
|
|
268 if ($VectorStringFormat =~ /^(ValuesAndIDsString|ValuesAndIDs)$/i) {
|
|
269 $FingerprintsVector = Fingerprints::FingerprintsVector::NewFromValuesAndIDsString($VectorValuesType, $VectorString);
|
|
270 last VECTORSTRINGFORMAT;
|
|
271 }
|
|
272 if ($VectorStringFormat =~ /^(ValuesAndIDsPairsString|ValuesAndIDsPairs)$/i) {
|
|
273 $FingerprintsVector = Fingerprints::FingerprintsVector::NewFromValuesAndIDsPairsString($VectorValuesType, $VectorString);
|
|
274 last VECTORSTRINGFORMAT;
|
|
275 }
|
|
276 croak "Error: FingerprintsStringUtil::_GenerateFingerprintVector: Specified vector string format, $VectorStringFormat, is not supported. Value values: IDsAndValuesString, IDsAndValues, IDsAndValuesPairsString, IDsAndValuesPairs, ValuesAndIDsString, ValuesAndIDs, ValuesAndIDsPairsString, ValuesAndIDsPairs, ValuesString, Values...";
|
|
277 }
|
|
278
|
|
279 if (defined $FingerprintsVector) {
|
|
280 # Set fingerints vector type and description...
|
|
281 $FingerprintsVector->SetVectorType($VectorType);
|
|
282 $FingerprintsVector->SetDescription($Description);
|
|
283 }
|
|
284
|
|
285 return $FingerprintsVector;
|
|
286 }
|
|
287
|
|
288 # Validate fingerint string values...
|
|
289 #
|
|
290 sub AreFingerprintsStringValuesValid {
|
|
291 my($FingerprintsString) = @_;
|
|
292 my($Value);
|
|
293
|
|
294 for $Value (_ParseFingerprintsStringValues($FingerprintsString)) {
|
|
295 if (TextUtil::IsEmpty($Value)) {
|
|
296 return 0;
|
|
297 }
|
|
298 }
|
|
299 return 1;
|
|
300 }
|
|
301
|
|
302 # Get fingerprints description...
|
|
303 #
|
|
304 sub _GetFingerprintsDescription {
|
|
305 my($FingerprintsObject) = @_;
|
|
306 my($Description);
|
|
307
|
|
308 $Description = $FingerprintsObject->GetDescription();
|
|
309
|
|
310 return TextUtil::IsEmpty($Description) ? 'No description available for fingerprints' : $Description;
|
|
311 }
|
|
312
|
|
313 # Parse fingerprints string values...
|
|
314 #
|
|
315 sub _ParseFingerprintsStringValues {
|
|
316 my($FingerprintsString) = @_;
|
|
317
|
|
318 return split "${FPStringDelim}", $FingerprintsString;
|
|
319 }
|
|
320
|
|
321 # Check to make sure already parsed fingerprints string values are valid....
|
|
322 #
|
|
323 sub _ValidateFingerprintsStringValues {
|
|
324 my($ErrorMsgPrefix, @Values) = @_;
|
|
325 my($Value);
|
|
326
|
|
327 for $Value (@Values) {
|
|
328 if (TextUtil::IsEmpty($Value)) {
|
|
329 croak("${ErrorMsgPrefix}: _ValidateFingerprintsStringValues: Fingerprints string format is not valid: An empty value found...");
|
|
330 }
|
|
331 }
|
|
332 }
|
|
333
|
|
334 # Default bit string format...
|
|
335 #
|
|
336 sub GetDefaultBitStringFormat {
|
|
337 return 'HexadecimalString';
|
|
338 }
|
|
339
|
|
340 # Default bit order...
|
|
341 #
|
|
342 sub GetDefaultBitsOrder {
|
|
343 return 'Ascending';
|
|
344 }
|
|
345
|
|
346 # Default vector string format using fingerprints or fingerprints vector object...
|
|
347 #
|
|
348 sub GetDefaultVectorStringFormat {
|
|
349 my($FingerprintsObject) = @_;
|
|
350 my($FingerprintsVector);
|
|
351
|
|
352 $FingerprintsVector = Fingerprints::FingerprintsVector::IsFingerprintsVector($FingerprintsObject) ? $FingerprintsObject : $FingerprintsObject->GetFingerprintsVector();
|
|
353
|
|
354 return _GetDefaultVectorStringFormat($FingerprintsVector);
|
|
355 }
|
|
356
|
|
357 # Default vector string format using fingerprits vector object...
|
|
358 #
|
|
359 sub _GetDefaultVectorStringFormat {
|
|
360 my($FingerprintsVector) = @_;
|
|
361 my($Type);
|
|
362
|
|
363 $Type = $FingerprintsVector->GetType();
|
|
364
|
|
365 return ($Type =~ /^NumericalValues$/i) ? 'IDsAndValuesString' : 'ValuesString';
|
|
366 }
|
|
367
|
|
368 # Fingerprints string delimiter...
|
|
369 #
|
|
370 sub GetFingeprintsStringDelimiter {
|
|
371 return $FPStringDelim;
|
|
372 }
|
|
373
|
|
374 1;
|
|
375
|
|
376 __END__
|
|
377
|
|
378 =head1 NAME
|
|
379
|
|
380 FingerprintsStringUtil
|
|
381
|
|
382 =head1 SYNOPSIS
|
|
383
|
|
384 use Fingerprints::FingerprintsStringUtil;
|
|
385
|
|
386 use Fingerprints::FingerprintsStringUtil qw(:all);
|
|
387
|
|
388 =head1 DESCRIPTION
|
|
389
|
|
390 B<FingerprintsStringUtil> module provides the following functions:
|
|
391
|
|
392 AreFingerprintsStringValuesValid, GenerateFingerprintsBitVectorString,
|
|
393 GenerateFingerprintsString, GenerateFingerprintsVectorString,
|
|
394 GetDefaultBitStringFormat, GetDefaultBitsOrder, GetDefaultVectorStringFormat,
|
|
395 GetFingeprintsStringDelimiter, GetFingerprintsStringTypeAndDescription,
|
|
396 GetFingerprintsStringValues, ParseFingerprintsBitVectorString,
|
|
397 ParseFingerprintsString, ParseFingerprintsVectorString
|
|
398
|
|
399 The current release of MayaChemTools supports the following types of fingerprint
|
|
400 bit-vector and vector strings:
|
|
401
|
|
402 FingerprintsVector;AtomNeighborhoods:AtomicInvariantsAtomTypes:MinRadi
|
|
403 us0:MaxRadius2;41;AlphaNumericalValues;ValuesString;NR0-C.X1.BO1.H3-AT
|
|
404 C1:NR1-C.X3.BO3.H1-ATC1:NR2-C.X1.BO1.H3-ATC1:NR2-C.X3.BO4-ATC1 NR0-C.X
|
|
405 1.BO1.H3-ATC1:NR1-C.X3.BO3.H1-ATC1:NR2-C.X1.BO1.H3-ATC1:NR2-C.X3.BO4-A
|
|
406 TC1 NR0-C.X2.BO2.H2-ATC1:NR1-C.X2.BO2.H2-ATC1:NR1-C.X3.BO3.H1-ATC1:NR2
|
|
407 -C.X2.BO2.H2-ATC1:NR2-N.X3.BO3-ATC1:NR2-O.X1.BO1.H1-ATC1 NR0-C.X2.B...
|
|
408
|
|
409 FingerprintsVector;AtomTypesCount:AtomicInvariantsAtomTypes:ArbitraryS
|
|
410 ize;10;NumericalValues;IDsAndValuesString;C.X1.BO1.H3 C.X2.BO2.H2 C.X2
|
|
411 .BO3.H1 C.X3.BO3.H1 C.X3.BO4 F.X1.BO1 N.X2.BO2.H1 N.X3.BO3 O.X1.BO1.H1
|
|
412 O.X1.BO2;2 4 14 3 10 1 1 1 3 2
|
|
413
|
|
414 FingerprintsVector;AtomTypesCount:SLogPAtomTypes:ArbitrarySize;16;Nume
|
|
415 ricalValues;IDsAndValuesString;C1 C10 C11 C14 C18 C20 C21 C22 C5 CS F
|
|
416 N11 N4 O10 O2 O9;5 1 1 1 14 4 2 1 2 2 1 1 1 1 3 1
|
|
417
|
|
418 FingerprintsVector;AtomTypesCount:SLogPAtomTypes:FixedSize;67;OrderedN
|
|
419 umericalValues;IDsAndValuesString;C1 C2 C3 C4 C5 C6 C7 C8 C9 C10 C11 C
|
|
420 12 C13 C14 C15 C16 C17 C18 C19 C20 C21 C22 C23 C24 C25 C26 C27 CS N1 N
|
|
421 2 N3 N4 N5 N6 N7 N8 N9 N10 N11 N12 N13 N14 NS O1 O2 O3 O4 O5 O6 O7 O8
|
|
422 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
|
|
423 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...
|
|
424
|
|
425 FingerprintsVector;EStateIndicies:ArbitrarySize;11;NumericalValues;IDs
|
|
426 AndValuesString;SaaCH SaasC SaasN SdO SdssC SsCH3 SsF SsOH SssCH2 SssN
|
|
427 H SsssCH;24.778 4.387 1.993 25.023 -1.435 3.975 14.006 29.759 -0.073 3
|
|
428 .024 -2.270
|
|
429
|
|
430 FingerprintsVector;EStateIndicies:FixedSize;87;OrderedNumericalValues;
|
|
431 ValuesString;0 0 0 0 0 0 0 3.975 0 -0.073 0 0 24.778 -2.270 0 0 -1.435
|
|
432 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
|
|
433 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
|
|
434 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
|
435
|
|
436 FingerprintsVector;ExtendedConnectivity:AtomicInvariantsAtomTypes:Radi
|
|
437 us2;60;AlphaNumericalValues;ValuesString;73555770 333564680 352413391
|
|
438 666191900 1001270906 1371674323 1481469939 1977749791 2006158649 21414
|
|
439 08799 49532520 64643108 79385615 96062769 273726379 564565671 85514103
|
|
440 5 906706094 988546669 1018231313 1032696425 1197507444 1331250018 1338
|
|
441 532734 1455473691 1607485225 1609687129 1631614296 1670251330 17303...
|
|
442
|
|
443 FingerprintsVector;ExtendedConnectivityCount:AtomicInvariantsAtomTypes
|
|
444 :Radius2;60;NumericalValues;IDsAndValuesString;73555770 333564680 3524
|
|
445 13391 666191900 1001270906 1371674323 1481469939 1977749791 2006158649
|
|
446 2141408799 49532520 64643108 79385615 96062769 273726379 564565671...;
|
|
447 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
|
|
448 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
|
|
449
|
|
450 FingerprintsBitVector;ExtendedConnectivityBits:AtomicInvariantsAtomTyp
|
|
451 es:Radius2;1024;BinaryString;Ascending;0000000000000000000000000000100
|
|
452 0000000001010000000110000011000000000000100000000000000000000000100001
|
|
453 1000000110000000000000000000000000010011000000000000000000000000010000
|
|
454 0000000000000000000000000010000000000000000001000000000000000000000000
|
|
455 0000000000010000100001000000000000101000000000000000100000000000000...
|
|
456
|
|
457 FingerprintsVector;ExtendedConnectivity:FunctionalClassAtomTypes:Radiu
|
|
458 s2;57;AlphaNumericalValues;ValuesString;24769214 508787397 850393286 8
|
|
459 62102353 981185303 1231636850 1649386610 1941540674 263599683 32920567
|
|
460 1 571109041 639579325 683993318 723853089 810600886 885767127 90326012
|
|
461 7 958841485 981022393 1126908698 1152248391 1317567065 1421489994 1455
|
|
462 632544 1557272891 1826413669 1983319256 2015750777 2029559552 20404...
|
|
463
|
|
464 FingerprintsVector;ExtendedConnectivity:EStateAtomTypes:Radius2;62;Alp
|
|
465 haNumericalValues;ValuesString;25189973 528584866 662581668 671034184
|
|
466 926543080 1347067490 1738510057 1759600920 2034425745 2097234755 21450
|
|
467 44754 96779665 180364292 341712110 345278822 386540408 387387308 50430
|
|
468 1706 617094135 771528807 957666640 997798220 1158349170 1291258082 134
|
|
469 1138533 1395329837 1420277211 1479584608 1486476397 1487556246 1566...
|
|
470
|
|
471 FingerprintsBitVector;MACCSKeyBits;166;BinaryString;Ascending;00000000
|
|
472 0000000000000000000000000000000001001000010010000000010010000000011100
|
|
473 0100101010111100011011000100110110000011011110100110111111111111011111
|
|
474 11111111111110111000
|
|
475
|
|
476 FingerprintsBitVector;MACCSKeyBits;322;BinaryString;Ascending;11101011
|
|
477 1110011111100101111111000111101100110000000000000011100010000000000000
|
|
478 0000000000000000000000000000000000000000000000101000000000000000000000
|
|
479 0000000000000000000000000000000000000000000000000000000000000000000000
|
|
480 0000000000000000000000000000000000000011000000000000000000000000000000
|
|
481 0000000000000000000000000000000000000000
|
|
482
|
|
483 FingerprintsVector;MACCSKeyCount;166;OrderedNumericalValues;ValuesStri
|
|
484 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
|
|
485 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
|
|
486 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
|
|
487 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
|
|
488 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
|
|
489
|
|
490 FingerprintsVector;MACCSKeyCount;322;OrderedNumericalValues;ValuesStri
|
|
491 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
|
|
492 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
|
|
493 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
|
|
494 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
|
|
495 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 ...
|
|
496
|
|
497 FingerprintsBitVector;PathLengthBits:AtomicInvariantsAtomTypes:MinLeng
|
|
498 th1:MaxLength8;1024;BinaryString;Ascending;001000010011010101011000110
|
|
499 0100010101011000101001011100110001000010001001101000001001001001001000
|
|
500 0010110100000111001001000001001010100100100000000011000000101001011100
|
|
501 0010000001000101010100000100111100110111011011011000000010110111001101
|
|
502 0101100011000000010001000011000010100011101100001000001000100000000...
|
|
503
|
|
504 FingerprintsVector;PathLengthCount:AtomicInvariantsAtomTypes:MinLength
|
|
505 1:MaxLength8;432;NumericalValues;IDsAndValuesPairsString;C.X1.BO1.H3 2
|
|
506 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
|
|
507 2.BO2.H1 1 N.X3.BO3 1 O.X1.BO1.H1 3 O.X1.BO2 2 C.X1.BO1.H3C.X3.BO3.H1
|
|
508 2 C.X2.BO2.H2C.X2.BO2.H2 1 C.X2.BO2.H2C.X3.BO3.H1 4 C.X2.BO2.H2C.X3.BO
|
|
509 4 1 C.X2.BO2.H2N.X3.BO3 1 C.X2.BO3.H1:C.X2.BO3.H1 10 C.X2.BO3.H1:C....
|
|
510
|
|
511 FingerprintsVector;PathLengthCount:MMFF94AtomTypes:MinLength1:MaxLengt
|
|
512 h8;463;NumericalValues;IDsAndValuesPairsString;C5A 2 C5B 2 C=ON 1 CB 1
|
|
513 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
|
|
514 5 2 C5ACB 1 C5ACR 1 C5B:C5B 1 C5BC=ON 1 C5BCB 1 C=ON=O=CN 1 C=ONNC=O 1
|
|
515 CB:CB 18 CBF 1 CBNC=O 1 COO=O=CO 1 COOCR 1 COOOC=O 1 CRCR 7 CRN5 1 CR
|
|
516 OR 2 C5A:C5B:C5B 2 C5A:C5BC=ON 1 C5A:C5BCB 1 C5A:N5:C5A 1 C5A:N5CR ...
|
|
517
|
|
518 FingerprintsVector;TopologicalAtomPairs:AtomicInvariantsAtomTypes:MinD
|
|
519 istance1:MaxDistance10;223;NumericalValues;IDsAndValuesString;C.X1.BO1
|
|
520 .H3-D1-C.X3.BO3.H1 C.X2.BO2.H2-D1-C.X2.BO2.H2 C.X2.BO2.H2-D1-C.X3.BO3.
|
|
521 H1 C.X2.BO2.H2-D1-C.X3.BO4 C.X2.BO2.H2-D1-N.X3.BO3 C.X2.BO3.H1-D1-...;
|
|
522 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
|
|
523 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...
|
|
524
|
|
525 FingerprintsVector;TopologicalAtomPairs:FunctionalClassAtomTypes:MinDi
|
|
526 stance1:MaxDistance10;144;NumericalValues;IDsAndValuesString;Ar-D1-Ar
|
|
527 Ar-D1-Ar.HBA Ar-D1-HBD Ar-D1-Hal Ar-D1-None Ar.HBA-D1-None HBA-D1-NI H
|
|
528 BA-D1-None HBA.HBD-D1-NI HBA.HBD-D1-None HBD-D1-None NI-D1-None No...;
|
|
529 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
|
|
530 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 ...
|
|
531
|
|
532 FingerprintsVector;TopologicalAtomTorsions:AtomicInvariantsAtomTypes;3
|
|
533 3;NumericalValues;IDsAndValuesString;C.X1.BO1.H3-C.X3.BO3.H1-C.X3.BO4-
|
|
534 C.X3.BO4 C.X1.BO1.H3-C.X3.BO3.H1-C.X3.BO4-N.X3.BO3 C.X2.BO2.H2-C.X2.BO
|
|
535 2.H2-C.X3.BO3.H1-C.X2.BO2.H2 C.X2.BO2.H2-C.X2.BO2.H2-C.X3.BO3.H1-O...;
|
|
536 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
|
|
537
|
|
538 FingerprintsVector;TopologicalAtomTorsions:EStateAtomTypes;36;Numerica
|
|
539 lValues;IDsAndValuesString;aaCH-aaCH-aaCH-aaCH aaCH-aaCH-aaCH-aasC aaC
|
|
540 H-aaCH-aasC-aaCH aaCH-aaCH-aasC-aasC aaCH-aaCH-aasC-sF aaCH-aaCH-aasC-
|
|
541 ssNH aaCH-aasC-aasC-aasC aaCH-aasC-aasC-aasN aaCH-aasC-ssNH-dssC a...;
|
|
542 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
|
|
543
|
|
544 FingerprintsVector;TopologicalAtomTriplets:AtomicInvariantsAtomTypes:M
|
|
545 inDistance1:MaxDistance10;3096;NumericalValues;IDsAndValuesString;C.X1
|
|
546 .BO1.H3-D1-C.X1.BO1.H3-D1-C.X3.BO3.H1-D2 C.X1.BO1.H3-D1-C.X2.BO2.H2-D1
|
|
547 0-C.X3.BO4-D9 C.X1.BO1.H3-D1-C.X2.BO2.H2-D3-N.X3.BO3-D4 C.X1.BO1.H3-D1
|
|
548 -C.X2.BO2.H2-D4-C.X2.BO2.H2-D5 C.X1.BO1.H3-D1-C.X2.BO2.H2-D6-C.X3....;
|
|
549 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
|
|
550 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...
|
|
551
|
|
552 FingerprintsVector;TopologicalAtomTriplets:SYBYLAtomTypes:MinDistance1
|
|
553 :MaxDistance10;2332;NumericalValues;IDsAndValuesString;C.2-D1-C.2-D9-C
|
|
554 .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-
|
|
555 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
|
|
556 -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.
|
|
557 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...
|
|
558
|
|
559 FingerprintsVector;TopologicalPharmacophoreAtomPairs:ArbitrarySize:Min
|
|
560 Distance1:MaxDistance10;54;NumericalValues;IDsAndValuesString;H-D1-H H
|
|
561 -D1-NI HBA-D1-NI HBD-D1-NI H-D2-H H-D2-HBA H-D2-HBD HBA-D2-HBA HBA-D2-
|
|
562 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
|
|
563 BA H-D4-HBD HBA-D4-HBA HBA-D4-HBD HBD-D4-HBD H-D5-H H-D5-HBA H-D5-...;
|
|
564 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
|
|
565 3 4 1 37 10 8 1 35 10 9 3 3 1 28 7 7 4 18 16 12 5 1 2 1
|
|
566
|
|
567 FingerprintsVector;TopologicalPharmacophoreAtomPairs:FixedSize:MinDist
|
|
568 ance1:MaxDistance10;150;OrderedNumericalValues;ValuesString;18 0 0 1 0
|
|
569 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
|
|
570 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
|
|
571 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
|
|
572 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...
|
|
573
|
|
574 FingerprintsVector;TopologicalPharmacophoreAtomTriplets:ArbitrarySize:
|
|
575 MinDistance1:MaxDistance10;696;NumericalValues;IDsAndValuesString;Ar1-
|
|
576 Ar1-Ar1 Ar1-Ar1-H1 Ar1-Ar1-HBA1 Ar1-Ar1-HBD1 Ar1-H1-H1 Ar1-H1-HBA1 Ar1
|
|
577 -H1-HBD1 Ar1-HBA1-HBD1 H1-H1-H1 H1-H1-HBA1 H1-H1-HBD1 H1-HBA1-HBA1 H1-
|
|
578 HBA1-HBD1 H1-HBA1-NI1 H1-HBD1-NI1 HBA1-HBA1-NI1 HBA1-HBD1-NI1 Ar1-...;
|
|
579 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
|
|
580 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
|
|
581 119 123 24 15 185 202 41 25 22 17 3 5 85 95 18 11 23 17 3 1 1 6 4 ...
|
|
582
|
|
583 FingerprintsVector;TopologicalPharmacophoreAtomTriplets:FixedSize:MinD
|
|
584 istance1:MaxDistance10;2692;OrderedNumericalValues;ValuesString;46 106
|
|
585 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
|
|
586 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
|
|
587 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
|
|
588 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 ...
|
|
589
|
|
590 =head1 FUNCTIONS
|
|
591
|
|
592 =over 4
|
|
593
|
|
594 =item B<AreFingerprintsStringValuesValid>
|
|
595
|
|
596 $Status = AreFingerprintsStringValuesValid($FPString);
|
|
597
|
|
598 Returns 0 or 1 based on whether I<FingerprintsString> contains valid values.
|
|
599
|
|
600 =item B<GetDefaultBitStringFormat>
|
|
601
|
|
602 $BitStringFormat = GetDefaultBitStringFormat();
|
|
603
|
|
604 Returns default B<BitStringFormat> for fingerprints bit-vector strings.
|
|
605
|
|
606 =item B<GetDefaultBitsOrder>
|
|
607
|
|
608 $BitsOrder = GetDefaultBitsOrder();
|
|
609
|
|
610 Returns default B<BitsOrder> for fingerprints bit-vector fingerprints.
|
|
611
|
|
612 =item B<GetDefaultVectorStringFormat>
|
|
613
|
|
614 $StringFormat = GetDefaultVectorStringFormat();
|
|
615
|
|
616 Returns default B<VectorStringFormat> for fingerprints vector strings.
|
|
617
|
|
618 =item B<GetFingeprintsStringDelimiter>
|
|
619
|
|
620 $Delimiter = GetFingeprintsStringDelimiter();
|
|
621
|
|
622 Returns string B<Delimiter> used to generate fingerprints bit-vector and vector strings.
|
|
623
|
|
624 =item B<GenerateFingerprintsBitVectorString>
|
|
625
|
|
626 $FPString = GenerateFingerprintsBitVectorString($FPBitVectorObject,
|
|
627 [$BitStringFormat, $BitsOrder]);
|
|
628
|
|
629 Returns a B<FingerprintsString> generated using I<FingerprintsBitVectorObject> and
|
|
630 optionally specified I<BitStringFormat> and I<BitsOrder> values.
|
|
631
|
|
632 Possible I<BitStringFormat> values: I<BinaryString, Binary, Bin, HexadecimalString,
|
|
633 Hexadecimal, or Hex>. Default I<BitStringFormat> value: I<BinaryString>.
|
|
634
|
|
635 Possible I<BitsOrder> values: I<Ascending or Descending>. Default I<BitsOrder> value:
|
|
636 I<Ascending>.
|
|
637
|
|
638 =item B<GenerateFingerprintsVectorString>
|
|
639
|
|
640 $FPString = GenerateFingerprintsVectorString($FPVectorObject,
|
|
641 [$VectorStringFormat]);
|
|
642
|
|
643 Returns a B<FingerprintsString> generated using I<FingerprintsVectorObject> and optionally
|
|
644 specified I<VectorStringFormat>.
|
|
645
|
|
646 Possible I<VectorStringFormat> values: I<IDsAndValuesString, IDsAndValues,
|
|
647 IDsAndValuesPairsString, IDsAndValuesPairs, ValuesAndIDsString, ValuesAndIDs,
|
|
648 ValuesAndIDsPairsString, ValuesAndIDsPairs, ValuesString, Values>.
|
|
649
|
|
650 Default I<VectorStringFormat> value: for I<NumericalValues> I<FPVectorType> -
|
|
651 I<IDsAndValuesString>; for all other I<FPVectorType>s - I<ValuesString>.
|
|
652
|
|
653 =item B<GenerateFingerprintsString>
|
|
654
|
|
655 $FPString = GenerateFingerprintsBitVectorString($FPBitVectorObject,
|
|
656 [$BitStringFormat, $BitsOrder]);
|
|
657
|
|
658 $FPString = GenerateFingerprintsVectorString($FPVectorObject,
|
|
659 [$VectorStringFormat]);
|
|
660
|
|
661 Returns a B<FingerprintsString> generated using I<FingerprintsBitVectorObject> or
|
|
662 I<FingerprintsVectorObject> and optionally specified parameters.
|
|
663
|
|
664 =item B<GetFingerprintsStringTypeAndDescription>
|
|
665
|
|
666 ($FPType, $FPDescription) = GetFingerprintsStringTypeAndDescription(
|
|
667 $FPString);
|
|
668
|
|
669 Returns B<FingerprintsStringType> and I<FingerprintsStringDescription> strings for
|
|
670 B<FingerprintsString> corresponding to B<FingerprintsBitVectorObject> or
|
|
671 B<FingerprintsVectorObject>.
|
|
672
|
|
673 =item B<GetFingerprintsStringValues>
|
|
674
|
|
675 @FPStringValues = GetFingerprintsStringValues($FPString);
|
|
676
|
|
677 Parses B<FingerprintsString> corresponding to B<FingerprintsBitVectorObject> or
|
|
678 B<FingerprintsVectorObject> and returns its individual component values as an
|
|
679 array.
|
|
680
|
|
681 =item B<ParseFingerprintsBitVectorString>
|
|
682
|
|
683 $FPBitVectorObject = ParseFingerprintsBitVectorString($FPBitVectorString,
|
|
684 [$ValidateValues]);
|
|
685
|
|
686 Returns B<FingerprintsBitVectorObject> generated by parsing I<FingerprintsBitVectorString>
|
|
687 with optional validation of its component values.
|
|
688
|
|
689 =item B<ParseFingerprintsString>
|
|
690
|
|
691 $FPBitVectorObject = ParseFingerprintsBitVectorString($FPBitVectorString,
|
|
692 [$ValidateValues]);
|
|
693
|
|
694 $FPVectorObject = ParseFingerprintsVectorString($FPVectorString,
|
|
695 [$ValidateValues]);
|
|
696
|
|
697 Returns B<FingerprintsBitVectorObject> or I<B<FingerprintsVectorObject>> generated
|
|
698 by parsing I<FingerprintsBitVectorString> or I<FingerprintsVectorString> with
|
|
699 optional validation of its component values.
|
|
700
|
|
701 =item B<ParseFingerprintsVectorString>
|
|
702
|
|
703 $FPVectorObject = ParseFingerprintsVectorString($FPVectorString,
|
|
704 [$ValidateValues]);
|
|
705
|
|
706 Returns B<FingerprintsVectorObject> generated by parsing I<FingerprintsVectorString>
|
|
707 with optional validation of its component values.
|
|
708
|
|
709 =back
|
|
710
|
|
711 =head1 AUTHOR
|
|
712
|
|
713 Manish Sud <msud@san.rr.com>
|
|
714
|
|
715 =head1 SEE ALSO
|
|
716
|
|
717 BitVector.pm, FingerprintsBitVector.pm, FingerprintsVector.pm, Vector.pm
|
|
718
|
|
719 =head1 COPYRIGHT
|
|
720
|
|
721 Copyright (C) 2015 Manish Sud. All rights reserved.
|
|
722
|
|
723 This file is part of MayaChemTools.
|
|
724
|
|
725 MayaChemTools is free software; you can redistribute it and/or modify it under
|
|
726 the terms of the GNU Lesser General Public License as published by the Free
|
|
727 Software Foundation; either version 3 of the License, or (at your option)
|
|
728 any later version.
|
|
729
|
|
730 =cut
|