0
|
1 NAME
|
|
2 FingerprintsBitVector
|
|
3
|
|
4 SYNOPSIS
|
|
5 use Fingerprints::FingerprintsBitVector;
|
|
6
|
|
7 use Fingerprints::FingerprintsBitVector qw(:coefficients);
|
|
8
|
|
9 use Fingerprints::FingerprintsBitVector qw(:all);
|
|
10
|
|
11 DESCRIPTION
|
|
12 FingerprintsBitVector class provides the following methods:
|
|
13
|
|
14 new, BaroniUrbaniSimilarityCoefficient, BuserSimilarityCoefficient,
|
|
15 CosineSimilarityCoefficient, DennisSimilarityCoefficient,
|
|
16 DiceSimilarityCoefficient, FoldFingerprintsBitVectorByDensity,
|
|
17 FoldFingerprintsBitVectorBySize, ForbesSimilarityCoefficient,
|
|
18 FossumSimilarityCoefficient, GetBitsAsBinaryString,
|
|
19 GetBitsAsDecimalString, GetBitsAsHexadecimalString,
|
|
20 GetBitsAsOctalString, GetBitsAsRawBinaryString, GetDescription,
|
|
21 GetFingerprintsBitDensity, GetID, GetSpecifiedSize,
|
|
22 GetSupportedSimilarityCoefficients, GetVectorType,
|
|
23 HamannSimilarityCoefficient, IsFingerprintsBitVector, IsSubSet,
|
|
24 JacardSimilarityCoefficient, Kulczynski1SimilarityCoefficient,
|
|
25 Kulczynski2SimilarityCoefficient, MatchingSimilarityCoefficient,
|
|
26 McConnaugheySimilarityCoefficient, NewFromBinaryString,
|
|
27 NewFromDecimalString, NewFromHexadecimalString, NewFromOctalString,
|
|
28 NewFromRawBinaryString, OchiaiSimilarityCoefficient,
|
|
29 PearsonSimilarityCoefficient, RogersTanimotoSimilarityCoefficient,
|
|
30 RussellRaoSimilarityCoefficient, SetDescription, SetID,
|
|
31 SetSpecifiedSize, SetVectorType, SimpsonSimilarityCoefficient,
|
|
32 SkoalSneath1SimilarityCoefficient, SkoalSneath2SimilarityCoefficient,
|
|
33 SkoalSneath3SimilarityCoefficient, StringifyFingerprintsBitVector,
|
|
34 TanimotoSimilarityCoefficient, TverskySimilarityCoefficient,
|
|
35 WeightedTanimotoSimilarityCoefficient,
|
|
36 WeightedTverskySimilarityCoefficient, YuleSimilarityCoefficient
|
|
37
|
|
38 The methods available to create fingerprints bit vector from strings and
|
|
39 to calculate similarity coefficient between two bit vectors can also be
|
|
40 invoked as class functions.
|
|
41
|
|
42 FingerprintsBitVector class is derived from BitVector class which
|
|
43 provides the functionality to manipulate bits.
|
|
44
|
|
45 For two fingerprints bit vectors A and B of same size, let:
|
|
46
|
|
47 Na = Number of bits set to "1" in A
|
|
48 Nb = Number of bits set to "1" in B
|
|
49 Nc = Number of bits set to "1" in both A and B
|
|
50 Nd = Number of bits set to "0" in both A and B
|
|
51
|
|
52 Nt = Number of bits set to "1" or "0" in A or B (Size of A or B)
|
|
53 Nt = Na + Nb - Nc + Nd
|
|
54
|
|
55 Na - Nc = Number of bits set to "1" in A but not in B
|
|
56 Nb - Nc = Number of bits set to "1" in B but not in A
|
|
57
|
|
58 Then, various similarity coefficients [ Ref. 40 - 42 ] for a pair of bit
|
|
59 vectors A and B are defined as follows:
|
|
60
|
|
61 BaroniUrbani: ( SQRT( Nc * Nd ) + Nc ) / ( SQRT ( Nc * Nd ) + Nc + ( Na
|
|
62 - Nc ) + ( Nb - Nc ) ) ( same as Buser )
|
|
63
|
|
64 Buser: ( SQRT ( Nc * Nd ) + Nc ) / ( SQRT ( Nc * Nd ) + Nc + ( Na - Nc )
|
|
65 + ( Nb - Nc ) ) ( same as BaroniUrbani )
|
|
66
|
|
67 Cosine: Nc / SQRT ( Na * Nb ) (same as Ochiai)
|
|
68
|
|
69 Dice: (2 * Nc) / ( Na + Nb )
|
|
70
|
|
71 Dennis: ( Nc * Nd - ( ( Na - Nc ) * ( Nb - Nc ) ) ) / SQRT ( Nt * Na *
|
|
72 Nb)
|
|
73
|
|
74 Forbes: ( Nt * Nc ) / ( Na * Nb )
|
|
75
|
|
76 Fossum: ( Nt * ( ( Nc - 1/2 ) ** 2 ) / ( Na * Nb )
|
|
77
|
|
78 Hamann: ( ( Nc + Nd ) - ( Na - Nc ) - ( Nb - Nc ) ) / Nt
|
|
79
|
|
80 Jaccard: Nc / ( ( Na - Nc) + ( Nb - Nc ) + Nc ) = Nc / ( Na + Nb - Nc )
|
|
81 (same as Tanimoto)
|
|
82
|
|
83 Kulczynski1: Nc / ( ( Na - Nc ) + ( Nb - Nc) ) = Nc / ( Na + Nb - 2Nc )
|
|
84
|
|
85 Kulczynski2: ( ( Nc / 2 ) * ( 2 * Nc + ( Na - Nc ) + ( Nb - Nc) ) ) / (
|
|
86 ( Nc + ( Na - Nc ) ) * ( Nc + ( Nb - Nc ) ) ) = 0.5 * ( Nc / Na + Nc /
|
|
87 Nb )
|
|
88
|
|
89 Matching: ( Nc + Nd ) / Nt
|
|
90
|
|
91 McConnaughey: ( Nc ** 2 - ( Na - Nc ) * ( Nb - Nc) ) / ( Na * Nb )
|
|
92
|
|
93 Ochiai: Nc / SQRT ( Na * Nb ) (same as Cosine)
|
|
94
|
|
95 Pearson: ( ( Nc * Nd ) - ( ( Na - Nc ) * ( Nb - Nc ) ) / SQRT ( Na * Nb
|
|
96 * ( Na - Nc + Nd ) * ( Nb - Nc + Nd ) )
|
|
97
|
|
98 RogersTanimoto: ( Nc + Nd ) / ( ( Na - Nc) + ( Nb - Nc) + Nt) = ( Nc +
|
|
99 Nd ) / ( Na + Nb - 2Nc + Nt)
|
|
100
|
|
101 RussellRao: Nc / Nt
|
|
102
|
|
103 Simpson: Nc / MIN ( Na, Nb)
|
|
104
|
|
105 SkoalSneath1: Nc / ( Nc + 2 * ( Na - Nc) + 2 * ( Nb - Nc) ) = Nc / ( 2 *
|
|
106 Na + 2 * Nb - 3 * Nc )
|
|
107
|
|
108 SkoalSneath2: ( 2 * Nc + 2 * Nd ) / ( Nc + Nd + Nt )
|
|
109
|
|
110 SkoalSneath3: ( Nc + Nd ) / ( ( Na - Nc ) + ( Nb - Nc ) ) = ( Nc + Nd )
|
|
111 / ( Na + Nb - 2 * Nc )
|
|
112
|
|
113 Tanimoto: Nc / ( ( Na - Nc) + ( Nb - Nc ) + Nc ) = Nc / ( Na + Nb - Nc )
|
|
114 (same as Jaccard)
|
|
115
|
|
116 Tversky: Nc / ( alpha * ( Na - Nc ) + ( 1 - alpha) * ( Nb - Nc) + Nc ) =
|
|
117 Nc / ( alpha * ( Na - Nb ) + Nb)
|
|
118
|
|
119 Yule: ( ( Nc * Nd ) - ( ( Na - Nc ) * ( Nb - Nc ) ) ) / ( ( Nc * Nd ) +
|
|
120 ( ( Na - Nc ) * ( Nb - Nc ) ) )
|
|
121
|
|
122 The values of Tanimoto/Jaccard and Tversky coefficients are dependent on
|
|
123 only those bit which are set to "1" in both A and B. In order to take
|
|
124 into account all bit positions, modified versions of Tanimoto [ Ref. 42
|
|
125 ] and Tversky [ Ref. 43 ] have been developed.
|
|
126
|
|
127 Let:
|
|
128
|
|
129 Na' = Number of bits set to "0" in A
|
|
130 Nb' = Number of bits set to "0" in B
|
|
131 Nc' = Number of bits set to "0" in both A and B
|
|
132
|
|
133 Tanimoto': Nc' / ( ( Na' - Nc') + ( Nb' - Nc' ) + Nc' ) = Nc' / ( Na' +
|
|
134 Nb' - Nc' )
|
|
135
|
|
136 Tversky': Nc' / ( alpha * ( Na' - Nc' ) + ( 1 - alpha) * ( Nb' - Nc' ) +
|
|
137 Nc' ) = Nc' / ( alpha * ( Na' - Nb' ) + Nb')
|
|
138
|
|
139 Then:
|
|
140
|
|
141 WeightedTanimoto = beta * Tanimoto + (1 - beta) * Tanimoto'
|
|
142
|
|
143 WeightedTversky = beta * Tversky + (1 - beta) * Tversky'
|
|
144
|
|
145 METHODS
|
|
146 new
|
|
147 $NewFPBitVector = new Fingerprints::FingerprintsBitVector($Size);
|
|
148
|
|
149 Creates a new *FingerprintsBitVector* object of size *Size* and
|
|
150 returns newly created FingerprintsBitVector. Bit numbers range from
|
|
151 0 to 1 less than *Size*.
|
|
152
|
|
153 BaroniUrbaniSimilarityCoefficient
|
|
154 $Value = $FingerprintsBitVector->BaroniUrbaniSimilarityCoefficient(
|
|
155 $OtherFingerprintBitVector);
|
|
156 $Value = Fingerprints::FingerprintsBitVector::
|
|
157 BaroniUrbaniSimilarityCoefficient(
|
|
158 $FingerprintsBitVectorA, $FingerprintBitVectorB);
|
|
159
|
|
160 Returns value of *BaroniUrbani* similarity coefficient between two
|
|
161 same size *FingerprintsBitVectors*.
|
|
162
|
|
163 BuserSimilarityCoefficient
|
|
164 $Value = $FingerprintsBitVector->BuserSimilarityCoefficient(
|
|
165 $OtherFingerprintBitVector);
|
|
166 $Value = Fingerprints::FingerprintsBitVector::BuserSimilarityCoefficient(
|
|
167 $FingerprintsBitVectorA, $FingerprintBitVectorB);
|
|
168
|
|
169 Returns value of *Buser* similarity coefficient between two same
|
|
170 size *FingerprintsBitVectors*.
|
|
171
|
|
172 CosineSimilarityCoefficient
|
|
173 $Value = $FingerprintsBitVector->CosineSimilarityCoefficient(
|
|
174 $OtherFingerprintBitVector);
|
|
175 $Value = Fingerprints::FingerprintsBitVector::CosineSimilarityCoefficient(
|
|
176 $FingerprintsBitVectorA, $FingerprintBitVectorB);
|
|
177
|
|
178 Returns value of *Cosine* similarity coefficient between two same
|
|
179 size *FingerprintsBitVectors*.
|
|
180
|
|
181 DennisSimilarityCoefficient
|
|
182 $Value = $FingerprintsBitVector->DennisSimilarityCoefficient(
|
|
183 $OtherFingerprintBitVector);
|
|
184 $Value = Fingerprints::FingerprintsBitVector::DennisSimilarityCoefficient(
|
|
185 $FingerprintsBitVectorA, $FingerprintBitVectorB);
|
|
186
|
|
187 Returns value of *Dennis* similarity coefficient between two same
|
|
188 size *FingerprintsBitVectors*.
|
|
189
|
|
190 DiceSimilarityCoefficient
|
|
191 $Value = $FingerprintsBitVector->DiceSimilarityCoefficient(
|
|
192 $OtherFingerprintBitVector);
|
|
193 $Value = Fingerprints::FingerprintsBitVector::DiceSimilarityCoefficient(
|
|
194 $FingerprintsBitVectorA, $FingerprintBitVectorB);
|
|
195
|
|
196 Returns value of *Dice* similarity coefficient between two same size
|
|
197 *FingerprintsBitVectors*.
|
|
198
|
|
199 FoldFingerprintsBitVectorByDensity
|
|
200 $FingerprintsBitVector->FoldFingerprintsBitVectorByDensity($Density);
|
|
201
|
|
202 Folds *FingerprintsBitVector* by recursively reducing its size by
|
|
203 half until bit density of set bits is greater than or equal to
|
|
204 specified *Density* and returns folded *FingerprintsBitVector*.
|
|
205
|
|
206 FoldFingerprintsBitVectorBySize
|
|
207 $FingerprintsBitVector->FoldFingerprintsBitVectorBySize($Size);
|
|
208
|
|
209 Folds *FingerprintsBitVector* by recursively reducing its size by
|
|
210 half until size is less than or equal to specified *Size* and
|
|
211 returns folded *FingerprintsBitVector*.
|
|
212
|
|
213 ForbesSimilarityCoefficient
|
|
214 $Value = $FingerprintsBitVector->ForbesSimilarityCoefficient(
|
|
215 $OtherFingerprintBitVector);
|
|
216 $Value = Fingerprints::FingerprintsBitVector::ForbesSimilarityCoefficient(
|
|
217 $FingerprintsBitVectorA, $FingerprintBitVectorB);
|
|
218
|
|
219 Returns value of *Forbes* similarity coefficient between two same
|
|
220 size *FingerprintsBitVectors*.
|
|
221
|
|
222 FossumSimilarityCoefficient
|
|
223 $Value = $FingerprintsBitVector->FossumSimilarityCoefficient(
|
|
224 $OtherFingerprintBitVector);
|
|
225 $Value = Fingerprints::FingerprintsBitVector::FossumSimilarityCoefficient(
|
|
226 $FingerprintsBitVectorA, $FingerprintBitVectorB);
|
|
227
|
|
228 Returns value of *Fossum* similarity coefficient between two same
|
|
229 size *FingerprintsBitVectors*.
|
|
230
|
|
231 GetBitsAsBinaryString
|
|
232 $BinaryASCIIString = $FingerprintsBitVector->GetBitsAsBinaryString();
|
|
233
|
|
234 Returns fingerprints as a binary ASCII string containing 0s and 1s.
|
|
235
|
|
236 GetBitsAsHexadecimalString
|
|
237 $HexadecimalString = $FingerprintsBitVector->GetBitsAsHexadecimalString();
|
|
238
|
|
239 Returns fingerprints as a hexadecimal string.
|
|
240
|
|
241 GetBitsAsRawBinaryString
|
|
242 $RawBinaryString = $FingerprintsBitVector->GetBitsAsRawBinaryString();
|
|
243
|
|
244 Returns fingerprints as a raw binary string containing packed bit
|
|
245 values for each byte.
|
|
246
|
|
247 GetDescription
|
|
248 $Description = $FingerprintsBitVector->GetDescription();
|
|
249
|
|
250 Returns a string containing description of fingerprints bit vector.
|
|
251
|
|
252 GetFingerprintsBitDensity
|
|
253 $BitDensity = $FingerprintsBitVector->GetFingerprintsBitDensity();
|
|
254
|
|
255 Returns *BitDensity* of *FingerprintsBitVector* corresponding to
|
|
256 bits set to 1s.
|
|
257
|
|
258 GetID
|
|
259 $ID = $FingerprintsBitVector->GetID();
|
|
260
|
|
261 Returns *ID* of *FingerprintsBitVector*.
|
|
262
|
|
263 GetVectorType
|
|
264 $VectorType = $FingerprintsBitVector->GetVectorType();
|
|
265
|
|
266 Returns *VectorType* of *FingerprintsBitVector*.
|
|
267
|
|
268 GetSpecifiedSize
|
|
269 $Size = $FingerprintsBitVector->GetSpecifiedSize();
|
|
270
|
|
271 Returns value of specified size for bit vector.
|
|
272
|
|
273 GetSupportedSimilarityCoefficients
|
|
274 @SimilarityCoefficient =
|
|
275 Fingerprints::FingerprintsBitVector::GetSupportedSimilarityCoefficients();
|
|
276
|
|
277 Returns an array containing names of supported similarity
|
|
278 coefficients.
|
|
279
|
|
280 HamannSimilarityCoefficient
|
|
281 $Value = $FingerprintsBitVector->HamannSimilarityCoefficient(
|
|
282 $OtherFingerprintBitVector);
|
|
283 $Value = Fingerprints::FingerprintsBitVector::HamannSimilarityCoefficient(
|
|
284 $FingerprintsBitVectorA, $FingerprintBitVectorB);
|
|
285
|
|
286 Returns value of *Hamann* similarity coefficient between two same
|
|
287 size *FingerprintsBitVectors*.
|
|
288
|
|
289 IsFingerprintsBitVector
|
|
290 $Status = Fingerprints::FingerprintsBitVector::
|
|
291 IsFingerprintsBitVector($Object);
|
|
292
|
|
293 Returns 1 or 0 based on whether *Object* is a FingerprintsBitVector
|
|
294 object.
|
|
295
|
|
296 IsSubSet
|
|
297 $Status = $FingerprintsBitVector->IsSubSet($OtherFPBitVector);
|
|
298 $Status = Fingerprints::FingerprintsBitVector::IsSubSet(
|
|
299 $FPBitVectorA, $FPBitVectorB);
|
|
300
|
|
301 Returns 1 or 0 based on whether first firngerprints bit vector is a
|
|
302 subset of second fingerprints bit vector.
|
|
303
|
|
304 For a bit vector to be a subset of another bit vector, both vectors
|
|
305 must be of the same size and the bit positions set in first vector
|
|
306 must also be set in the second bit vector.
|
|
307
|
|
308 JacardSimilarityCoefficient
|
|
309 $Value = $FingerprintsBitVector->JacardSimilarityCoefficient(
|
|
310 $OtherFingerprintBitVector);
|
|
311 $Value = Fingerprints::FingerprintsBitVector::JacardSimilarityCoefficient(
|
|
312 $FingerprintsBitVectorA, $FingerprintBitVectorB);
|
|
313
|
|
314 Returns value of *Jacard* similarity coefficient between two same
|
|
315 size *FingerprintsBitVectors*.
|
|
316
|
|
317 Kulczynski1SimilarityCoefficient
|
|
318 $Value = $FingerprintsBitVector->Kulczynski1SimilarityCoefficient(
|
|
319 $OtherFingerprintBitVector);
|
|
320 $Value = Fingerprints::FingerprintsBitVector::
|
|
321 Kulczynski1SimilarityCoefficient(
|
|
322 $FingerprintsBitVectorA, $FingerprintBitVectorB);
|
|
323
|
|
324 Returns value of *Kulczynski1* similarity coefficient between two
|
|
325 same size *FingerprintsBitVectors*.
|
|
326
|
|
327 Kulczynski2SimilarityCoefficient
|
|
328 $Value = $FingerprintsBitVector->Kulczynski2SimilarityCoefficient(
|
|
329 $OtherFingerprintBitVector);
|
|
330 $Value = Fingerprints::FingerprintsBitVector::
|
|
331 Kulczynski2SimilarityCoefficient(
|
|
332 $FingerprintsBitVectorA, $FingerprintBitVectorB);
|
|
333
|
|
334 Returns value of *Kulczynski2* similarity coefficient between two
|
|
335 same size *FingerprintsBitVectors*.
|
|
336
|
|
337 MatchingSimilarityCoefficient
|
|
338 $Value = $FingerprintsBitVector->MatchingSimilarityCoefficient(
|
|
339 $OtherFingerprintBitVector);
|
|
340 $Value = Fingerprints::FingerprintsBitVector::
|
|
341 MatchingSimilarityCoefficient(
|
|
342 $FingerprintsBitVectorA, $FingerprintBitVectorB);
|
|
343
|
|
344 Returns value of *Matching* similarity coefficient between two same
|
|
345 size *FingerprintsBitVectors*.
|
|
346
|
|
347 McConnaugheySimilarityCoefficient
|
|
348 $Value = $FingerprintsBitVector->McConnaugheySimilarityCoefficient(
|
|
349 $OtherFingerprintBitVector);
|
|
350 $Value = Fingerprints::FingerprintsBitVector::
|
|
351 McConnaugheySimilarityCoefficient(
|
|
352 $FingerprintsBitVectorA, $FingerprintBitVectorB);
|
|
353
|
|
354 Returns value of *McConnaughey* similarity coefficient between two
|
|
355 same size *FingerprintsBitVectors*.
|
|
356
|
|
357 NewFromBinaryString
|
|
358 $NewFPBitVector = $FingerprintsBitVector->NewFromBinaryString(
|
|
359 $BinaryString);
|
|
360 $NewFPBitVector = Fingerprints::FingerprintsBitVector::NewFromBinaryString(
|
|
361 $BinaryString);
|
|
362
|
|
363 Creates a new *FingerprintsBitVector* using *BinaryString* and
|
|
364 returns new FingerprintsBitVector object.
|
|
365
|
|
366 NewFromHexadecimalString
|
|
367 $NewFPBitVector = $FingerprintsBitVector->NewFromHexadecimalString(
|
|
368 $HexdecimalString);
|
|
369 $NewFPBitVector = Fingerprints::FingerprintsBitVector::
|
|
370 NewFromHexadecimalString(
|
|
371 $HexdecimalString);
|
|
372
|
|
373 Creates a new *FingerprintsBitVector* using *HexdecimalString* and
|
|
374 returns new FingerprintsBitVector object.
|
|
375
|
|
376 NewFromRawBinaryString
|
|
377 $NewFPBitVector = $FingerprintsBitVector->NewFromRawBinaryString(
|
|
378 $RawBinaryString);
|
|
379 $NewFPBitVector = Fingerprints::FingerprintsBitVector::
|
|
380 NewFromRawBinaryString(
|
|
381 $RawBinaryString);
|
|
382
|
|
383 Creates a new *FingerprintsBitVector* using *RawBinaryString* and
|
|
384 returns new FingerprintsBitVector object.
|
|
385
|
|
386 OchiaiSimilarityCoefficient
|
|
387 $Value = $FingerprintsBitVector->OchiaiSimilarityCoefficient(
|
|
388 $OtherFingerprintBitVector);
|
|
389 $Value = Fingerprints::FingerprintsBitVector::OchiaiSimilarityCoefficient(
|
|
390 $FingerprintsBitVectorA, $FingerprintBitVectorB);
|
|
391
|
|
392 Returns value of *Ochiai* similarity coefficient between two same
|
|
393 size *FingerprintsBitVectors*.
|
|
394
|
|
395 PearsonSimilarityCoefficient
|
|
396 $Value = $FingerprintsBitVector->PearsonSimilarityCoefficient(
|
|
397 $OtherFingerprintBitVector);
|
|
398 $Value = Fingerprints::FingerprintsBitVector::PearsonSimilarityCoefficient(
|
|
399 $FingerprintsBitVectorA, $FingerprintBitVectorB);
|
|
400
|
|
401 Returns value of *Pearson* similarity coefficient between two same
|
|
402 size *FingerprintsBitVectors*.
|
|
403
|
|
404 RogersTanimotoSimilarityCoefficient
|
|
405 $Value = $FingerprintsBitVector->RogersTanimotoSimilarityCoefficient(
|
|
406 $OtherFingerprintBitVector);
|
|
407 $Value = Fingerprints::FingerprintsBitVector::
|
|
408 RogersTanimotoSimilarityCoefficient(
|
|
409 $FingerprintsBitVectorA, $FingerprintBitVectorB);
|
|
410
|
|
411 Returns value of *RogersTanimoto* similarity coefficient between two
|
|
412 same size *FingerprintsBitVectors*.
|
|
413
|
|
414 RussellRaoSimilarityCoefficient
|
|
415 $Value = $FingerprintsBitVector->RussellRaoSimilarityCoefficient(
|
|
416 $OtherFingerprintBitVector);
|
|
417 $Value = Fingerprints::FingerprintsBitVector::
|
|
418 RussellRaoSimilarityCoefficient(
|
|
419 $FingerprintsBitVectorA, $FingerprintBitVectorB);
|
|
420
|
|
421 Returns value of *RussellRao* similarity coefficient between two
|
|
422 same size *FingerprintsBitVectors*.
|
|
423
|
|
424 SetSpecifiedSize
|
|
425 $FingerprintsBitVector->SetSpecifiedSize($Size);
|
|
426
|
|
427 Sets specified size for fingerprints bit vector.
|
|
428
|
|
429 Irrespective of specified size, Perl functions used to handle bit
|
|
430 data in BitVector class automatically sets the size to the next
|
|
431 nearest power of 2. *SpecifiedSize* is used by FingerprintsBitVector
|
|
432 class to process any aribitray size during similarity coefficient
|
|
433 calculations.
|
|
434
|
|
435 SetDescription
|
|
436 $FingerprintsBitVector->SetDescription($Description);
|
|
437
|
|
438 Sets *Description* of fingerprints bit vector and returns
|
|
439 *FingerprintsBitVector*.
|
|
440
|
|
441 SetID
|
|
442 $FingerprintsBitVector->SetID($ID);
|
|
443
|
|
444 Sets *ID* of fingerprints bit vector and returns
|
|
445 *FingerprintsBitVector*.
|
|
446
|
|
447 SetVectorType
|
|
448 $FingerprintsBitVector->SetVectorType($VectorType);
|
|
449
|
|
450 Sets *VectorType* of fingerprints bit vector and returns
|
|
451 *FingerprintsBitVector*.
|
|
452
|
|
453 SimpsonSimilarityCoefficient
|
|
454 $Value = $FingerprintsBitVector->SimpsonSimilarityCoefficient(
|
|
455 $OtherFingerprintBitVector);
|
|
456 $Value = Fingerprints::FingerprintsBitVector::SimpsonSimilarityCoefficient(
|
|
457 $FingerprintsBitVectorA, $FingerprintBitVectorB);
|
|
458
|
|
459 Returns value of *Simpson* similarity coefficient between two same
|
|
460 size *FingerprintsBitVectors*.
|
|
461
|
|
462 SkoalSneath1SimilarityCoefficient
|
|
463 $Value = $FingerprintsBitVector->SkoalSneath1SimilarityCoefficient(
|
|
464 $OtherFingerprintBitVector);
|
|
465 $Value = Fingerprints::FingerprintsBitVector::
|
|
466 SkoalSneath1SimilarityCoefficient(
|
|
467 $FingerprintsBitVectorA, $FingerprintBitVectorB);
|
|
468
|
|
469 Returns value of *SkoalSneath1* similarity coefficient between two
|
|
470 same size *FingerprintsBitVectors*.
|
|
471
|
|
472 SkoalSneath2SimilarityCoefficient
|
|
473 $Value = $FingerprintsBitVector->SkoalSneath2SimilarityCoefficient(
|
|
474 $OtherFingerprintBitVector);
|
|
475 $Value = Fingerprints::FingerprintsBitVector::
|
|
476 SkoalSneath2SimilarityCoefficient(
|
|
477 $FingerprintsBitVectorA, $FingerprintBitVectorB);
|
|
478
|
|
479 Returns value of *SkoalSneath2* similarity coefficient between two
|
|
480 same size *FingerprintsBitVectors*.
|
|
481
|
|
482 SkoalSneath3SimilarityCoefficient
|
|
483 $Value = $FingerprintsBitVector->SkoalSneath3SimilarityCoefficient(
|
|
484 $OtherFingerprintBitVector);
|
|
485 $Value = Fingerprints::FingerprintsBitVector::
|
|
486 SkoalSneath3SimilarityCoefficient(
|
|
487 $FingerprintsBitVectorA, $FingerprintBitVectorB);
|
|
488
|
|
489 Returns value of *SkoalSneath3* similarity coefficient between two
|
|
490 same size *FingerprintsBitVectors*
|
|
491
|
|
492 StringifyFingerprintsBitVector
|
|
493 $String = $FingerprintsBitVector->StringifyFingerprintsBitVector();
|
|
494
|
|
495 Returns a string containing information about
|
|
496 *FingerprintsBitVector* object.
|
|
497
|
|
498 TanimotoSimilarityCoefficient
|
|
499 $Value = $FingerprintsBitVector->TanimotoSimilarityCoefficient(
|
|
500 $OtherFingerprintBitVector);
|
|
501 $Value = Fingerprints::FingerprintsBitVector::
|
|
502 TanimotoSimilarityCoefficient(
|
|
503 $FingerprintsBitVectorA, $FingerprintBitVectorB);
|
|
504
|
|
505 Returns value of *Tanimoto* similarity coefficient between two same
|
|
506 size *FingerprintsBitVectors*.
|
|
507
|
|
508 TverskySimilarityCoefficient
|
|
509 $Value = $FingerprintsBitVector->TverskySimilarityCoefficient(
|
|
510 $OtherFingerprintBitVector, $Alpha);
|
|
511 $Value = Fingerprints::FingerprintsBitVector::
|
|
512 TverskySimilarityCoefficient(
|
|
513 $FingerprintsBitVectorA, $FingerprintBitVectorB, $Alpha);
|
|
514
|
|
515 Returns value of *Tversky* similarity coefficient between two same
|
|
516 size *FingerprintsBitVectors*.
|
|
517
|
|
518 WeightedTanimotoSimilarityCoefficient
|
|
519 $Value =
|
|
520 $FingerprintsBitVector->WeightedTanimotoSimilarityCoefficient(
|
|
521 $OtherFingerprintBitVector, $Beta);
|
|
522 $Value =
|
|
523 Fingerprints::FingerprintsBitVector::
|
|
524 WeightedTanimotoSimilarityCoefficient(
|
|
525 $FingerprintsBitVectorA, $FingerprintBitVectorB, $Beta);
|
|
526
|
|
527 Returns value of *WeightedTanimoto* similarity coefficient between
|
|
528 two same size *FingerprintsBitVectors*.
|
|
529
|
|
530 WeightedTverskySimilarityCoefficient
|
|
531 $Value =
|
|
532 $FingerprintsBitVector->WeightedTverskySimilarityCoefficient(
|
|
533 $OtherFingerprintBitVector, $Alpha, $Beta);
|
|
534 $Value =
|
|
535 Fingerprints::FingerprintsBitVector::
|
|
536 WeightedTverskySimilarityCoefficient(
|
|
537 $FingerprintsBitVectorA, $FingerprintBitVectorB, $Alpha, $Beta);
|
|
538
|
|
539 Returns value of *WeightedTversky* similarity coefficient between
|
|
540 two same size *FingerprintsBitVectors*.
|
|
541
|
|
542 YuleSimilarityCoefficient
|
|
543 $Value = $FingerprintsBitVector->YuleSimilarityCoefficient(
|
|
544 $OtherFingerprintBitVector);
|
|
545 $Value = Fingerprints::FingerprintsBitVector::YuleSimilarityCoefficient(
|
|
546 $FingerprintsBitVectorA, $FingerprintBitVectorB);
|
|
547
|
|
548 Returns value of *Yule* similarity coefficient between two same size
|
|
549 *FingerprintsBitVectors*.
|
|
550
|
|
551 AUTHOR
|
|
552 Manish Sud <msud@san.rr.com>
|
|
553
|
|
554 SEE ALSO
|
|
555 BitVector.pm, FingerprintsStringUtil.pm, FingerprintsVector.pm,
|
|
556 Vector.pm
|
|
557
|
|
558 COPYRIGHT
|
|
559 Copyright (C) 2015 Manish Sud. All rights reserved.
|
|
560
|
|
561 This file is part of MayaChemTools.
|
|
562
|
|
563 MayaChemTools is free software; you can redistribute it and/or modify it
|
|
564 under the terms of the GNU Lesser General Public License as published by
|
|
565 the Free Software Foundation; either version 3 of the License, or (at
|
|
566 your option) any later version.
|
|
567
|