Mercurial > repos > deepakjadmin > mayatool3_test2
comparison docs/modules/txt/FingerprintsVector.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 FingerprintsVector | |
3 | |
4 SYNOPSIS | |
5 use Fingerprints::FingerprintsVector; | |
6 | |
7 use Fingerprints::FingerprintsVector qw(:all); | |
8 | |
9 DESCRIPTION | |
10 FingerprintsVector class provides the following methods: | |
11 | |
12 new, AddValueIDs, AddValues, CityBlockDistanceCoefficient, | |
13 CosineSimilarityCoefficient, CzekanowskiSimilarityCoefficient, | |
14 DiceSimilarityCoefficient, EuclideanDistanceCoefficient, GetDescription, | |
15 GetFingerprintsVectorString, GetID, GetIDsAndValuesPairsString, | |
16 GetIDsAndValuesString, GetNumOfNonZeroValues, GetNumOfValueIDs, | |
17 GetNumOfValues, GetSupportedDistanceAndSimilarityCoefficients, | |
18 GetSupportedDistanceCoefficients, GetSupportedSimilarityCoefficients, | |
19 GetType, GetValue, GetValueID, GetValueIDs, GetValueIDsString, | |
20 GetValues, GetValuesAndIDsPairsString, GetValuesAndIDsString, | |
21 GetValuesString, GetVectorType, HammingDistanceCoefficient, | |
22 IsFingerprintsVector, JaccardSimilarityCoefficient, | |
23 ManhattanDistanceCoefficient, NewFromIDsAndValuesPairsString, | |
24 NewFromIDsAndValuesString, NewFromValuesAndIDsPairsString, | |
25 NewFromValuesAndIDsString, NewFromValuesString, | |
26 OchiaiSimilarityCoefficient, SetDescription, SetID, SetType, SetValue, | |
27 SetValueID, SetValueIDs, SetValues, SetVectorType, | |
28 SoergelDistanceCoefficient, SorensonSimilarityCoefficient, | |
29 StringifyFingerprintsVector, TanimotoSimilarityCoefficient | |
30 | |
31 The methods available to create fingerprints vector from strings and to | |
32 calculate similarity and distance coefficients between two vectors can | |
33 also be invoked as class functions. | |
34 | |
35 FingerprintsVector class provides support to perform comparison between | |
36 vectors containing three different types of values: | |
37 | |
38 Type I: OrderedNumericalValues | |
39 | |
40 o Size of two vectors are same | |
41 o Vectors contain real values in a specific order. For example: MACCS keys | |
42 count, Topological pharmacophore atom pairs and so on. | |
43 | |
44 Type II: UnorderedNumericalValues | |
45 | |
46 o Size of two vectors might not be same | |
47 o Vectors contain unordered real value identified by value IDs. For example: | |
48 Topological atom pairs, Topological atom torsions and so on | |
49 | |
50 Type III: AlphaNumericalValues | |
51 | |
52 o Size of two vectors might not be same | |
53 o Vectors contain unordered alphanumerical values. For example: Extended | |
54 connectivity fingerprints, atom neighborhood fingerprints. | |
55 | |
56 Before performing similarity or distance calculations between vectors | |
57 containing UnorderedNumericalValues or AlphaNumericalValues, the vectors | |
58 are transformed into vectors containing unique OrderedNumericalValues | |
59 using value IDs for UnorderedNumericalValues and values itself for | |
60 AlphaNumericalValues. | |
61 | |
62 Three forms of similarity and distance calculation between two vectors, | |
63 specified using CalculationMode option, are supported: *AlgebraicForm, | |
64 BinaryForm or SetTheoreticForm*. | |
65 | |
66 For *BinaryForm*, the ordered list of processed final vector values | |
67 containing the value or count of each unique value type is simply | |
68 converted into a binary vector containing 1s and 0s corresponding to | |
69 presence or absence of values before calculating similarity or distance | |
70 between two vectors. | |
71 | |
72 For two fingerprint vectors A and B of same size containing | |
73 OrderedNumericalValues, let: | |
74 | |
75 N = Number values in A or B | |
76 | |
77 Xa = Values of vector A | |
78 Xb = Values of vector B | |
79 | |
80 Xai = Value of ith element in A | |
81 Xbi = Value of ith element in B | |
82 | |
83 SUM = Sum of i over N values | |
84 | |
85 For SetTheoreticForm of calculation between two vectors, let: | |
86 | |
87 SetIntersectionXaXb = SUM ( MIN ( Xai, Xbi ) ) | |
88 SetDifferenceXaXb = SUM ( Xai ) + SUM ( Xbi ) - SUM ( MIN ( Xai, Xbi ) ) | |
89 | |
90 For BinaryForm of calculation between two vectors, let: | |
91 | |
92 Na = Number of bits set to "1" in A = SUM ( Xai ) | |
93 Nb = Number of bits set to "1" in B = SUM ( Xbi ) | |
94 Nc = Number of bits set to "1" in both A and B = SUM ( Xai * Xbi ) | |
95 Nd = Number of bits set to "0" in both A and B | |
96 = SUM ( 1 - Xai - Xbi + Xai * Xbi) | |
97 | |
98 N = Number of bits set to "1" or "0" in A or B = Size of A or B = Na + Nb - Nc + Nd | |
99 | |
100 Additionally, for BinaryForm various values also correspond to: | |
101 | |
102 Na = | Xa | | |
103 Nb = | Xb | | |
104 Nc = | SetIntersectionXaXb | | |
105 Nd = N - | SetDifferenceXaXb | | |
106 | |
107 | SetDifferenceXaXb | = N - Nd = Na + Nb - Nc + Nd - Nd = Na + Nb - Nc | |
108 = | Xa | + | Xb | - | SetIntersectionXaXb | | |
109 | |
110 Various similarity and distance coefficients [ Ref 40, Ref 62, Ref 64 ] | |
111 for a pair of vectors A and B in *AlgebraicForm, BinaryForm and | |
112 SetTheoreticForm* are defined as follows: | |
113 | |
114 CityBlockDistance: ( same as HammingDistance and ManhattanDistance) | |
115 | |
116 *AlgebraicForm*: SUM ( ABS ( Xai - Xbi ) ) | |
117 | |
118 *BinaryForm*: ( Na - Nc ) + ( Nb - Nc ) = Na + Nb - 2 * Nc | |
119 | |
120 *SetTheoreticForm*: | SetDifferenceXaXb | - | SetIntersectionXaXb | = | |
121 SUM ( Xai ) + SUM ( Xbi ) - 2 * ( SUM ( MIN ( Xai, Xbi ) ) ) | |
122 | |
123 CosineSimilarity: ( same as OchiaiSimilarityCoefficient) | |
124 | |
125 *AlgebraicForm*: SUM ( Xai * Xbi ) / SQRT ( SUM ( Xai ** 2) * SUM ( Xbi | |
126 ** 2) ) | |
127 | |
128 *BinaryForm*: Nc / SQRT ( Na * Nb) | |
129 | |
130 *SetTheoreticForm*: | SetIntersectionXaXb | / SQRT ( |Xa| * |Xb| ) = SUM | |
131 ( MIN ( Xai, Xbi ) ) / SQRT ( SUM ( Xai ) * SUM ( Xbi ) ) | |
132 | |
133 CzekanowskiSimilarity: ( same as DiceSimilarity and SorensonSimilarity) | |
134 | |
135 *AlgebraicForm*: ( 2 * ( SUM ( Xai * Xbi ) ) ) / ( SUM ( Xai ** 2) + SUM | |
136 ( Xbi **2 ) ) | |
137 | |
138 *BinaryForm*: 2 * Nc / ( Na + Nb ) | |
139 | |
140 *SetTheoreticForm*: 2 * | SetIntersectionXaXb | / ( |Xa| + |Xb| ) = 2 * | |
141 ( SUM ( MIN ( Xai, Xbi ) ) ) / ( SUM ( Xai ) + SUM ( Xbi ) ) | |
142 | |
143 DiceSimilarity: ( same as CzekanowskiSimilarity and SorensonSimilarity) | |
144 | |
145 *AlgebraicForm*: ( 2 * ( SUM ( Xai * Xbi ) ) ) / ( SUM ( Xai ** 2) + SUM | |
146 ( Xbi **2 ) ) | |
147 | |
148 *BinaryForm*: 2 * Nc / ( Na + Nb ) | |
149 | |
150 *SetTheoreticForm*: 2 * | SetIntersectionXaXb | / ( |Xa| + |Xb| ) = 2 * | |
151 ( SUM ( MIN ( Xai, Xbi ) ) ) / ( SUM ( Xai ) + SUM ( Xbi ) ) | |
152 | |
153 EuclideanDistance: | |
154 | |
155 *AlgebraicForm*: SQRT ( SUM ( ( ( Xai - Xbi ) ** 2 ) ) ) | |
156 | |
157 *BinaryForm*: SQRT ( ( Na - Nc ) + ( Nb - Nc ) ) = SQRT ( Na + Nb - 2 * | |
158 Nc ) | |
159 | |
160 *SetTheoreticForm*: SQRT ( | SetDifferenceXaXb | - | SetIntersectionXaXb | |
161 | ) = SQRT ( SUM ( Xai ) + SUM ( Xbi ) - 2 * ( SUM ( MIN ( Xai, Xbi ) ) | |
162 ) ) | |
163 | |
164 HammingDistance: ( same as CityBlockDistance and ManhattanDistance) | |
165 | |
166 *AlgebraicForm*: SUM ( ABS ( Xai - Xbi ) ) | |
167 | |
168 *BinaryForm*: ( Na - Nc ) + ( Nb - Nc ) = Na + Nb - 2 * Nc | |
169 | |
170 *SetTheoreticForm*: | SetDifferenceXaXb | - | SetIntersectionXaXb | = | |
171 SUM ( Xai ) + SUM ( Xbi ) - 2 * ( SUM ( MIN ( Xai, Xbi ) ) ) | |
172 | |
173 JaccardSimilarity: ( same as TanimotoSimilarity) | |
174 | |
175 *AlgebraicForm*: SUM ( Xai * Xbi ) / ( SUM ( Xai ** 2 ) + SUM ( Xbi ** 2 | |
176 ) - SUM ( Xai * Xbi ) ) | |
177 | |
178 *BinaryForm*: Nc / ( ( Na - Nc ) + ( Nb - Nc ) + Nc ) = Nc / ( Na + Nb - | |
179 Nc ) | |
180 | |
181 *SetTheoreticForm*: | SetIntersectionXaXb | / | SetDifferenceXaXb | = | |
182 SUM ( MIN ( Xai, Xbi ) ) / ( SUM ( Xai ) + SUM ( Xbi ) - SUM ( MIN ( | |
183 Xai, Xbi ) ) ) | |
184 | |
185 ManhattanDistance: ( same as CityBlockDistance and HammingDistance) | |
186 | |
187 *AlgebraicForm*: SUM ( ABS ( Xai - Xbi ) ) | |
188 | |
189 *BinaryForm*: ( Na - Nc ) + ( Nb - Nc ) = Na + Nb - 2 * Nc | |
190 | |
191 *SetTheoreticForm*: | SetDifferenceXaXb | - | SetIntersectionXaXb | = | |
192 SUM ( Xai ) + SUM ( Xbi ) - 2 * ( SUM ( MIN ( Xai, Xbi ) ) ) | |
193 | |
194 OchiaiSimilarity: ( same as CosineSimilarity) | |
195 | |
196 *AlgebraicForm*: SUM ( Xai * Xbi ) / SQRT ( SUM ( Xai ** 2) * SUM ( Xbi | |
197 ** 2) ) | |
198 | |
199 *BinaryForm*: Nc / SQRT ( Na * Nb) | |
200 | |
201 *SetTheoreticForm*: | SetIntersectionXaXb | / SQRT ( |Xa| * |Xb| ) = SUM | |
202 ( MIN ( Xai, Xbi ) ) / SQRT ( SUM ( Xai ) * SUM ( Xbi ) ) | |
203 | |
204 SorensonSimilarity: ( same as CzekanowskiSimilarity and DiceSimilarity) | |
205 | |
206 *AlgebraicForm*: ( 2 * ( SUM ( Xai * Xbi ) ) ) / ( SUM ( Xai ** 2) + SUM | |
207 ( Xbi **2 ) ) | |
208 | |
209 *BinaryForm*: 2 * Nc / ( Na + Nb ) | |
210 | |
211 *SetTheoreticForm*: 2 * | SetIntersectionXaXb | / ( |Xa| + |Xb| ) = 2 * | |
212 ( SUM ( MIN ( Xai, Xbi ) ) ) / ( SUM ( Xai ) + SUM ( Xbi ) ) | |
213 | |
214 SoergelDistance: | |
215 | |
216 *AlgebraicForm*: SUM ( ABS ( Xai - Xbi ) ) / SUM ( MAX ( Xai, Xbi ) ) | |
217 | |
218 *BinaryForm*: 1 - Nc / ( Na + Nb - Nc ) = ( Na + Nb - 2 * Nc ) / ( Na + | |
219 Nb - Nc ) | |
220 | |
221 *SetTheoreticForm*: ( | SetDifferenceXaXb | - | SetIntersectionXaXb | ) | |
222 / | SetDifferenceXaXb | = ( SUM ( Xai ) + SUM ( Xbi ) - 2 * ( SUM ( MIN | |
223 ( Xai, Xbi ) ) ) ) / ( SUM ( Xai ) + SUM ( Xbi ) - SUM ( MIN ( Xai, Xbi | |
224 ) ) ) | |
225 | |
226 TanimotoSimilarity: ( same as JaccardSimilarity) | |
227 | |
228 *AlgebraicForm*: SUM ( Xai * Xbi ) / ( SUM ( Xai ** 2 ) + SUM ( Xbi ** 2 | |
229 ) - SUM ( Xai * Xbi ) ) | |
230 | |
231 *BinaryForm*: Nc / ( ( Na - Nc ) + ( Nb - Nc ) + Nc ) = Nc / ( Na + Nb - | |
232 Nc ) | |
233 | |
234 *SetTheoreticForm*: | SetIntersectionXaXb | / | SetDifferenceXaXb | = | |
235 SUM ( MIN ( Xai, Xbi ) ) / ( SUM ( Xai ) + SUM ( Xbi ) - SUM ( MIN ( | |
236 Xai, Xbi ) ) ) | |
237 | |
238 METHODS | |
239 new | |
240 $FPVector = new Fingerprints::FingerprintsVector(%NamesAndValues); | |
241 | |
242 Using specified *FingerprintsVector* property names and values hash, | |
243 new method creates a new object and returns a reference to newly | |
244 created FingerprintsVectorsVector object. By default, the following | |
245 properties are initialized: | |
246 | |
247 Type = '' | |
248 @{Values} = () | |
249 @{ValuesIDs} = () | |
250 | |
251 Examples: | |
252 | |
253 $FPVector = new Fingerprints::FingerprintsVector('Type' => 'OrderedNumericalValues', | |
254 'Values' => [1, 2, 3, 4]); | |
255 $FPVector = new Fingerprints::FingerprintsVector('Type' => 'NumericalValues', | |
256 'Values' => [10, 22, 33, 44], | |
257 'ValueIDs' => ['ID1', 'ID2', 'ID3', 'ID4']); | |
258 $FPVector = new Fingerprints::FingerprintsVector('Type' => 'AlphaNumericalValues', | |
259 'Values' => ['a1', 2, 'a3', 4]); | |
260 | |
261 AddValueIDs | |
262 $FingerprintsVector->AddValueIDs($ValueIDsRef); | |
263 $FingerprintsVector->AddValueIDs(@ValueIDs); | |
264 | |
265 Adds specified *ValueIDs* to *FingerprintsVector* and returns | |
266 *FingerprintsVector*. | |
267 | |
268 AddValues | |
269 $FingerprintsVector->AddValues($ValuesRef); | |
270 $FingerprintsVector->AddValues(@Values); | |
271 $FingerprintsVector->AddValues($Vector); | |
272 | |
273 Adds specified *Values* to *FingerprintsVector* and returns | |
274 *FingerprintsVector*. | |
275 | |
276 CityBlockDistanceCoefficient | |
277 $Value = $FingerprintsVector->CityBlockDistanceCoefficient( | |
278 $OtherFingerprintVector, [$CalculationMode, $SkipValuesCheck]); | |
279 $Value = Fingerprints::FingerprintsVector::CityBlockDistanceCoefficient( | |
280 $FingerprintsVectorA, $FingerprintVectorB, | |
281 [$CalculationMode, $SkipValuesCheck]); | |
282 | |
283 Returns value of *CityBlock* distance coefficient between two | |
284 *FingerprintsVectors* using optionally specified *CalculationMode* | |
285 and optional checking of vector values. | |
286 | |
287 Possible *CalculationMode* values: *AlgebraicForm, BinaryForm or | |
288 SetTheoreticForm*. Default *CalculationMode* value: *AlgebraicForm*. | |
289 Default *SkipValuesCheck* value: *0*. | |
290 | |
291 CosineSimilarityCoefficient | |
292 $Value = $FingerprintsVector->CosineSimilarityCoefficient( | |
293 $OtherFingerprintVector, [$CalculationMode, $SkipValuesCheck]); | |
294 $Value = Fingerprints::FingerprintsVector::CosineSimilarityCoefficient( | |
295 $FingerprintsVectorA, $FingerprintVectorB, | |
296 [$CalculationMode, $SkipValuesCheck]); | |
297 | |
298 Returns value of *Cosine* similarity coefficient between two | |
299 *FingerprintsVectors* using optionally specified *CalculationMode* | |
300 and optional checking of vector values. | |
301 | |
302 Possible *CalculationMode* values: *AlgebraicForm, BinaryForm or | |
303 SetTheoreticForm*. Default *CalculationMode* value: *AlgebraicForm*. | |
304 Default *SkipValuesCheck* value: *0*. | |
305 | |
306 CzekanowskiSimilarityCoefficient | |
307 $Value = $FingerprintsVector->CzekanowskiSimilarityCoefficient( | |
308 $OtherFingerprintVector, [$CalculationMode, $SkipValuesCheck]); | |
309 $Value = Fingerprints::FingerprintsVector::CzekanowskiSimilarityCoefficient( | |
310 $FingerprintsVectorA, $FingerprintVectorB, | |
311 [$CalculationMode, $SkipValuesCheck]); | |
312 | |
313 Returns value of *Czekanowski* similarity coefficient between two | |
314 *FingerprintsVectors* using optionally specified *CalculationMode* | |
315 and optional checking of vector values. | |
316 | |
317 Possible *CalculationMode* values: *AlgebraicForm, BinaryForm or | |
318 SetTheoreticForm*. Default *CalculationMode* value: *AlgebraicForm*. | |
319 Default *SkipValuesCheck* value: *0*. | |
320 | |
321 DiceSimilarityCoefficient | |
322 $Value = $FingerprintsVector->DiceSimilarityCoefficient( | |
323 $OtherFingerprintVector, [$CalculationMode, $SkipValuesCheck]); | |
324 $Value = Fingerprints::FingerprintsVector::DiceSimilarityCoefficient( | |
325 $FingerprintsVectorA, $FingerprintVectorB, | |
326 [$CalculationMode, $SkipValuesCheck]); | |
327 | |
328 Returns value of *Dice* similarity coefficient between two | |
329 *FingerprintsVectors* using optionally specified *CalculationMode* | |
330 and optional checking of vector values. | |
331 | |
332 Possible *CalculationMode* values: *AlgebraicForm, BinaryForm or | |
333 SetTheoreticForm*. Default *CalculationMode* value: *AlgebraicForm*. | |
334 Default *SkipValuesCheck* value: *0*. | |
335 | |
336 EuclideanDistanceCoefficient | |
337 $Value = $FingerprintsVector->EuclideanDistanceCoefficient( | |
338 $OtherFingerprintVector, [$CalculationMode, $SkipValuesCheck]); | |
339 $Value = Fingerprints::FingerprintsVector::EuclideanDistanceCoefficient( | |
340 $FingerprintsVectorA, $FingerprintVectorB, | |
341 [$CalculationMode, $SkipValuesCheck]); | |
342 | |
343 Returns value of *Euclidean* distance coefficient between two | |
344 *FingerprintsVectors* using optionally specified *CalculationMode* | |
345 and optional checking of vector values. | |
346 | |
347 Possible *CalculationMode* values: *AlgebraicForm, BinaryForm or | |
348 SetTheoreticForm*. Default *CalculationMode* value: *AlgebraicForm*. | |
349 Default *SkipValuesCheck* value: *0*. | |
350 | |
351 GetDescription | |
352 $Description = $FingerprintsVector->GetDescription(); | |
353 | |
354 Returns a string containing description of fingerprints vector. | |
355 | |
356 GetFingerprintsVectorString | |
357 $FPString = $FingerprintsVector->GetFingerprintsVectorString($Format); | |
358 | |
359 Returns a FingerprintsString containing vector values and/or IDs in | |
360 *FingerprintsVector* corresponding to specified *Format*. | |
361 | |
362 Possible *Format* values: *IDsAndValuesString, IDsAndValues, | |
363 IDsAndValuesPairsString, IDsAndValuesPairs, ValuesAndIDsString, | |
364 ValuesAndIDs, ValuesAndIDsPairsString, ValuesAndIDsPairs, | |
365 ValueIDsString, ValueIDs, ValuesString, or Values*. | |
366 | |
367 GetID | |
368 $ID = $FingerprintsVector->GetID(); | |
369 | |
370 Returns *ID* of *FingerprintsVector*. | |
371 | |
372 GetVectorType | |
373 $VectorType = $FingerprintsVector->GetVectorType(); | |
374 | |
375 Returns *VectorType* of *FingerprintsVector*. | |
376 | |
377 GetIDsAndValuesPairsString | |
378 $IDsValuesPairsString = $FingerprintsVector->GetIDsAndValuesPairsString(); | |
379 | |
380 Returns *FingerprintsVector* value IDs and values as space delimited | |
381 ID/value pair string. | |
382 | |
383 GetIDsAndValuesString | |
384 $IDsValuesString = $FingerprintsVector->GetIDsAndValuesString(); | |
385 | |
386 Returns *FingerprintsVector* value IDs and values as string | |
387 containing space delimited IDs followed by values with semicolon as | |
388 IDs and values delimiter. | |
389 | |
390 GetNumOfNonZeroValues | |
391 $NumOfNonZeroValues = $FingerprintsVector->GetNumOfNonZeroValues(); | |
392 | |
393 Returns number of non-zero values in *FingerprintsVector*. | |
394 | |
395 GetNumOfValueIDs | |
396 $NumOfValueIDs = $FingerprintsVector->GetNumOfValueIDs(); | |
397 | |
398 Returns number of value IDs *FingerprintsVector*. | |
399 | |
400 GetNumOfValues | |
401 $NumOfValues = $FingerprintsVector->GetNumOfValues(); | |
402 | |
403 Returns number of values *FingerprintsVector*. | |
404 | |
405 GetSupportedDistanceAndSimilarityCoefficients | |
406 @SupportedDistanceAndSimilarityCoefficientsReturn = | |
407 Fingerprints::FingerprintsVector::GetSupportedDistanceAndSimilarityCoefficients(); | |
408 | |
409 Returns an array containing names of supported distance and | |
410 similarity coefficients. | |
411 | |
412 GetSupportedDistanceCoefficients | |
413 @SupportedDistanceCoefficientsReturn = | |
414 Fingerprints::FingerprintsVector::GetSupportedDistanceCoefficients(); | |
415 | |
416 Returns an array containing names of supported disyance | |
417 coefficients. | |
418 | |
419 GetSupportedSimilarityCoefficients | |
420 @SupportedSimilarityCoefficientsReturn = | |
421 Fingerprints::FingerprintsVector::GetSupportedSimilarityCoefficients(); | |
422 | |
423 Returns an array containing names of supported similarity | |
424 coefficients. | |
425 | |
426 GetType | |
427 $VectorType = $FingerprintsVector->GetType(); | |
428 | |
429 Returns *FingerprintsVector* vector type. | |
430 | |
431 GetValue | |
432 $Value = $FingerprintsVector->GetValue($Index); | |
433 | |
434 Returns fingerprints vector Value specified using *Index* starting | |
435 at 0. | |
436 | |
437 GetValueID | |
438 $ValueID = $FingerprintsVector->GetValueID(); | |
439 | |
440 Returns fingerprints vector ValueID specified using *Index* starting | |
441 at 0. | |
442 | |
443 GetValueIDs | |
444 $ValueIDs = $FingerprintsVector->GetValueIDs(); | |
445 @ValueIDs = $FingerprintsVector->GetValueIDs(); | |
446 | |
447 Returns fingerprints vector ValueIDs as an array or reference to an | |
448 array. | |
449 | |
450 GetValueIDsString | |
451 $ValueIDsString = $FingerprintsVector->GetValueIDsString(); | |
452 | |
453 Returns fingerprints vector ValueIDsString with value IDs delimited | |
454 by space. | |
455 | |
456 GetValues | |
457 $ValuesRef = $FingerprintsVector->GetValues(); | |
458 @Values = $FingerprintsVector->GetValues(); | |
459 | |
460 Returns fingerprints vector Values as an array or reference to an | |
461 array. | |
462 | |
463 GetValuesAndIDsPairsString | |
464 $ValuesIDsPairsString = $FingerprintsVector->GetValuesAndIDsPairsString(); | |
465 | |
466 Returns *FingerprintsVector* value and value IDs as space delimited | |
467 ID/value pair string. | |
468 | |
469 GetValuesAndIDsString | |
470 $ValuesIDsString = $FingerprintsVector->GetValuesAndIDsString(); | |
471 | |
472 Returns *FingerprintsVector* values and value IDs as string | |
473 containing space delimited IDs followed by values with semicolon as | |
474 IDs and values delimiter. | |
475 | |
476 GetValuesString | |
477 $Return = $FingerprintsVector->GetValuesString(); | |
478 | |
479 Returns *FingerprintsVector* values as space delimited string. | |
480 | |
481 HammingDistanceCoefficient | |
482 $Value = $FingerprintsVector->HammingDistanceCoefficient( | |
483 $OtherFingerprintVector, [$CalculationMode, $SkipValuesCheck]); | |
484 $Value = Fingerprints::FingerprintsVector::HammingDistanceCoefficient( | |
485 $FingerprintsVectorA, $FingerprintVectorB, | |
486 [$CalculationMode, $SkipValuesCheck]); | |
487 | |
488 Returns value of *Hamming* distance coefficient between two | |
489 *FingerprintsVectors* using optionally specified *CalculationMode* | |
490 and optional checking of vector values. | |
491 | |
492 Possible *CalculationMode* values: *AlgebraicForm, BinaryForm or | |
493 SetTheoreticForm*. Default *CalculationMode* value: *AlgebraicForm*. | |
494 Default *SkipValuesCheck* value: *0*. | |
495 | |
496 IsFingerprintsVector | |
497 $Status = Fingerprints::FingerprintsVector::IsFingerprintsVector($Object); | |
498 | |
499 Returns 1 or 0 based on whether *Object* is a *FingerprintsVector*. | |
500 | |
501 JaccardSimilarityCoefficient | |
502 $Value = $FingerprintsVector->JaccardSimilarityCoefficient( | |
503 $OtherFingerprintVector, [$CalculationMode, $SkipValuesCheck]); | |
504 $Value = Fingerprints::FingerprintsVector::JaccardSimilarityCoefficient( | |
505 $FingerprintsVectorA, $FingerprintVectorB, | |
506 [$CalculationMode, $SkipValuesCheck]); | |
507 | |
508 Returns value of *Jaccard* similarity coefficient between two | |
509 *FingerprintsVectors* using optionally specified *CalculationMode* | |
510 and optional checking of vector values. | |
511 | |
512 Possible *CalculationMode* values: *AlgebraicForm, BinaryForm or | |
513 SetTheoreticForm*. Default *CalculationMode* value: *AlgebraicForm*. | |
514 Default *SkipValuesCheck* value: *0*. | |
515 | |
516 ManhattanDistanceCoefficient | |
517 $Value = $FingerprintsVector->ManhattanDistanceCoefficient( | |
518 $OtherFingerprintVector, [$CalculationMode, $SkipValuesCheck]); | |
519 $Value = Fingerprints::FingerprintsVector::ManhattanDistanceCoefficient( | |
520 $FingerprintsVectorA, $FingerprintVectorB, | |
521 [$CalculationMode, $SkipValuesCheck]); | |
522 | |
523 Returns value of *Manhattan* distance coefficient between two | |
524 *FingerprintsVectors* using optionally specified *CalculationMode* | |
525 and optional checking of vector values. | |
526 | |
527 Possible *CalculationMode* values: *AlgebraicForm, BinaryForm or | |
528 SetTheoreticForm*. Default *CalculationMode* value: *AlgebraicForm*. | |
529 Default *SkipValuesCheck* value: *0*. | |
530 | |
531 NewFromIDsAndValuesPairsString | |
532 $FingerprintsVector = $FingerprintsVector->NewFromIDsAndValuesPairsString( | |
533 $ValuesType, $IDsAndValuesPairsString); | |
534 $FingerprintsVector = Fingerprints::FingerprintsVector::NewFromIDsAndValuesPairsString( | |
535 $ValuesType, $IDsAndValuesPairsString); | |
536 | |
537 Creates a new *FingerprintsVector* of *ValuesType* using | |
538 *IDsAndValuesPairsString* containing space delimited value IDs and | |
539 values pairs and returns new FingerprintsVector object. Possible | |
540 *ValuesType* values: *OrderedNumericalValues, NumericalValues, or | |
541 AlphaNumericalValues*. | |
542 | |
543 NewFromIDsAndValuesString | |
544 $FingerprintsVector = $FingerprintsVector->NewFromIDsAndValuesString( | |
545 $ValuesType, $IDsAndValuesString); | |
546 $FingerprintsVector = Fingerprints::FingerprintsVector::NewFromIDsAndValuesString( | |
547 $ValuesType, $IDsAndValuesString); | |
548 | |
549 Creates a new *FingerprintsVector* of *ValuesType* using | |
550 *IDsAndValuesString* containing semicolon delimited value IDs string | |
551 followed by values strings and returns new FingerprintsVector | |
552 object. The values within value and value IDs tring are delimited by | |
553 spaces. Possible *ValuesType* values: *OrderedNumericalValues, | |
554 NumericalValues, or AlphaNumericalValues*. | |
555 | |
556 NewFromValuesAndIDsPairsString | |
557 $FingerprintsVector = $FingerprintsVector->NewFromValuesAndIDsPairsString( | |
558 $ValuesType, $ValuesAndIDsPairsString); | |
559 $FingerprintsVector = Fingerprints::FingerprintsVector::NewFromValuesAndIDsPairsString( | |
560 $ValuesType, $ValuesAndIDsPairsString); | |
561 | |
562 Creates a new *FingerprintsVector* of *ValuesType* using | |
563 *ValuesAndIDsPairsString* containing space delimited value and value | |
564 IDs pairs and returns new FingerprintsVector object. Possible | |
565 *ValuesType* values: *OrderedNumericalValues, NumericalValues, or | |
566 AlphaNumericalValues*. | |
567 | |
568 NewFromValuesAndIDsString | |
569 $FingerprintsVector = $FingerprintsVector->NewFromValuesAndIDsString( | |
570 $ValuesType, $IDsAndValuesString); | |
571 $FingerprintsVector = Fingerprints::FingerprintsVector::NewFromValuesAndIDsString( | |
572 $ValuesType, $IDsAndValuesString); | |
573 | |
574 Creates a new *FingerprintsVector* of *ValuesType* using | |
575 *ValuesAndIDsString* containing semicolon delimited values string | |
576 followed by value IDs strings and returns new FingerprintsVector | |
577 object. The values within values and value IDs tring are delimited | |
578 by spaces. Possible *ValuesType* values: *OrderedNumericalValues, | |
579 NumericalValues, or AlphaNumericalValues*. | |
580 | |
581 NewFromValuesString | |
582 $FingerprintsVector = $FingerprintsVector->NewFromValuesString( | |
583 $ValuesType, $ValuesString); | |
584 $FingerprintsVector = Fingerprints::FingerprintsVector::NewFromValuesString( | |
585 $ValuesType, $ValuesString); | |
586 | |
587 Creates a new *FingerprintsVector* of *ValuesType* using | |
588 *ValuesString* containing space delimited values string and returns | |
589 new FingerprintsVector object. The values within values and value | |
590 IDs tring are delimited by spaces. Possible *ValuesType* values: | |
591 *OrderedNumericalValues, NumericalValues, or AlphaNumericalValues*. | |
592 | |
593 OchiaiSimilarityCoefficient | |
594 $Value = $FingerprintsVector->OchiaiSimilarityCoefficient( | |
595 $OtherFingerprintVector, [$CalculationMode, $SkipValuesCheck]); | |
596 $Value = Fingerprints::FingerprintsVector::OchiaiSimilarityCoefficient( | |
597 $FingerprintsVectorA, $FingerprintVectorB, | |
598 [$CalculationMode, $SkipValuesCheck]); | |
599 | |
600 Returns value of *Ochiai* similarity coefficient between two | |
601 *FingerprintsVectors* using optionally specified *CalculationMode* | |
602 and optional checking of vector values. | |
603 | |
604 Possible *CalculationMode* values: *AlgebraicForm, BinaryForm or | |
605 SetTheoreticForm*. Default *CalculationMode* value: *AlgebraicForm*. | |
606 Default *SkipValuesCheck* value: *0*. | |
607 | |
608 SetDescription | |
609 $FingerprintsVector->SetDescription($Description); | |
610 | |
611 Sets *Description* of fingerprints vector and returns | |
612 *FingerprintsVector*. | |
613 | |
614 SetID | |
615 $FingerprintsVector->SetID($ID); | |
616 | |
617 Sets *ID* of fingerprints vector and returns *FingerprintsVector*. | |
618 | |
619 SetVectorType | |
620 $FingerprintsVector->SetVectorType($VectorType); | |
621 | |
622 Sets *VectorType* of fingerprints vector and returns | |
623 *FingerprintsVector*. | |
624 | |
625 SetType | |
626 $FingerprintsVector->SetType($Type); | |
627 | |
628 Sets *FingerprintsVector* values *Type* and returns | |
629 *FingerprintsVector*. Possible *Type* values: | |
630 *OrderedNumericalValues, NumericalValues, or AlphaNumericalValues*. | |
631 | |
632 During calculation of similarity and distance coefficients between | |
633 two *FingerprintsVectors*, the following conditions apply to vector | |
634 type, size, value and value IDs: | |
635 | |
636 o For OrderedNumericalValues type, both vectors must be of the same size | |
637 and contain similar types of numerical values in the same order. | |
638 | |
639 o For NumericalValues type, vector value IDs for both vectors must be | |
640 specified; however, their size and order of IDs and numerical values may | |
641 be different. For each vector, value IDs must correspond to vector values. | |
642 | |
643 o For AlphaNumericalValues type, vectors may contain both numerical and | |
644 alphanumerical values and their sizes may be different. | |
645 | |
646 SetValue | |
647 $FingerprintsVector->SetValue($Index, $Value, [$SkipIndexCheck]); | |
648 | |
649 Sets a *FingerprintsVector* value specified by *Index* starting at 0 | |
650 to *Value* along with optional index range check and returns | |
651 *FingerprintsVector*. | |
652 | |
653 SetValueID | |
654 $FingerprintsVector->SetValueID($Index, $ValueID, [$SkipIndexCheck]); | |
655 | |
656 Sets a *FingerprintsVector* value ID specified by *Index* starting | |
657 at 0 to *ValueID* along with optional index range check and returns | |
658 *FingerprintsVector*. | |
659 | |
660 SetValueIDs | |
661 $FingerprintsVector->SetValueIDs($ValueIDsRef); | |
662 $FingerprintsVector->SetValueIDs(@ValueIDs); | |
663 | |
664 Sets *FingerprintsVector* value IDs to specified *ValueIDs* and | |
665 returns *FingerprintsVector*. | |
666 | |
667 SetValues | |
668 $FingerprintsVector->SetValues($ValuesRef); | |
669 $FingerprintsVector->SetValues(@Values); | |
670 | |
671 Sets *FingerprintsVector* value to specified *Values* and returns | |
672 *FingerprintsVector*. | |
673 | |
674 SoergelDistanceCoefficient | |
675 $Value = $FingerprintsVector->SoergelDistanceCoefficient( | |
676 $OtherFingerprintVector, [$CalculationMode, $SkipValuesCheck]); | |
677 $Value = Fingerprints::FingerprintsVector::SoergelDistanceCoefficient( | |
678 $FingerprintsVectorA, $FingerprintVectorB, | |
679 [$CalculationMode, $SkipValuesCheck]); | |
680 | |
681 Returns value of *Soergel* distance coefficient between two | |
682 *FingerprintsVectors* using optionally specified *CalculationMode* | |
683 and optional checking of vector values. | |
684 | |
685 Possible *CalculationMode* values: *AlgebraicForm, BinaryForm or | |
686 SetTheoreticForm*. Default *CalculationMode* value: *AlgebraicForm*. | |
687 Default *SkipValuesCheck* value: *0*. | |
688 | |
689 SorensonSimilarityCoefficient | |
690 $Value = $FingerprintsVector->SorensonSimilarityCoefficient( | |
691 $OtherFingerprintVector, [$CalculationMode, $SkipValuesCheck]); | |
692 $Value = Fingerprints::FingerprintsVector::SorensonSimilarityCoefficient( | |
693 $FingerprintsVectorA, $FingerprintVectorB, | |
694 [$CalculationMode, $SkipValuesCheck]); | |
695 | |
696 Returns value of *Sorenson* similarity coefficient between two | |
697 *FingerprintsVectors* using optionally specified *CalculationMode* | |
698 and optional checking of vector values. | |
699 | |
700 Possible *CalculationMode* values: *AlgebraicForm, BinaryForm or | |
701 SetTheoreticForm*. Default *CalculationMode* value: *AlgebraicForm*. | |
702 Default *SkipValuesCheck* value: *0*. | |
703 | |
704 TanimotoSimilarityCoefficient | |
705 $Value = $FingerprintsVector->TanimotoSimilarityCoefficient( | |
706 $OtherFingerprintVector, [$CalculationMode, $SkipValuesCheck]); | |
707 $Value = Fingerprints::FingerprintsVector::TanimotoSimilarityCoefficient( | |
708 $FingerprintsVectorA, $FingerprintVectorB, | |
709 [$CalculationMode, $SkipValuesCheck]); | |
710 | |
711 Returns value of *Tanimoto* similarity coefficient between two | |
712 *FingerprintsVectors* using optionally specified *CalculationMode* | |
713 and optional checking of vector values. | |
714 | |
715 Possible *CalculationMode* values: *AlgebraicForm, BinaryForm or | |
716 SetTheoreticForm*. Default *CalculationMode* value: *AlgebraicForm*. | |
717 Default *SkipValuesCheck* value: *0*. | |
718 | |
719 StringifyFingerprintsVector | |
720 $String = $FingerprintsVector->StringifyFingerprintsVector(); | |
721 | |
722 Returns a string containing information about *FingerprintsVector* | |
723 object. | |
724 | |
725 AUTHOR | |
726 Manish Sud <msud@san.rr.com> | |
727 | |
728 SEE ALSO | |
729 BitVector.pm, FingerprintsStringUtil.pm, FingerprintsBitVector.pm, | |
730 Vector.pm | |
731 | |
732 COPYRIGHT | |
733 Copyright (C) 2015 Manish Sud. All rights reserved. | |
734 | |
735 This file is part of MayaChemTools. | |
736 | |
737 MayaChemTools is free software; you can redistribute it and/or modify it | |
738 under the terms of the GNU Lesser General Public License as published by | |
739 the Free Software Foundation; either version 3 of the License, or (at | |
740 your option) any later version. | |
741 |