comparison mayachemtools/docs/modules/man3/FingerprintsBitVector.3 @ 0:73ae111cf86f draft

Uploaded
author deepakjadmin
date Wed, 20 Jan 2016 11:55:01 -0500
parents
children
comparison
equal deleted inserted replaced
-1:000000000000 0:73ae111cf86f
1 .\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.22)
2 .\"
3 .\" Standard preamble:
4 .\" ========================================================================
5 .de Sp \" Vertical space (when we can't use .PP)
6 .if t .sp .5v
7 .if n .sp
8 ..
9 .de Vb \" Begin verbatim text
10 .ft CW
11 .nf
12 .ne \\$1
13 ..
14 .de Ve \" End verbatim text
15 .ft R
16 .fi
17 ..
18 .\" Set up some character translations and predefined strings. \*(-- will
19 .\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
20 .\" double quote, and \*(R" will give a right double quote. \*(C+ will
21 .\" give a nicer C++. Capital omega is used to do unbreakable dashes and
22 .\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff,
23 .\" nothing in troff, for use with C<>.
24 .tr \(*W-
25 .ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
26 .ie n \{\
27 . ds -- \(*W-
28 . ds PI pi
29 . if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
30 . if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch
31 . ds L" ""
32 . ds R" ""
33 . ds C` ""
34 . ds C' ""
35 'br\}
36 .el\{\
37 . ds -- \|\(em\|
38 . ds PI \(*p
39 . ds L" ``
40 . ds R" ''
41 'br\}
42 .\"
43 .\" Escape single quotes in literal strings from groff's Unicode transform.
44 .ie \n(.g .ds Aq \(aq
45 .el .ds Aq '
46 .\"
47 .\" If the F register is turned on, we'll generate index entries on stderr for
48 .\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index
49 .\" entries marked with X<> in POD. Of course, you'll have to process the
50 .\" output yourself in some meaningful fashion.
51 .ie \nF \{\
52 . de IX
53 . tm Index:\\$1\t\\n%\t"\\$2"
54 ..
55 . nr % 0
56 . rr F
57 .\}
58 .el \{\
59 . de IX
60 ..
61 .\}
62 .\"
63 .\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
64 .\" Fear. Run. Save yourself. No user-serviceable parts.
65 . \" fudge factors for nroff and troff
66 .if n \{\
67 . ds #H 0
68 . ds #V .8m
69 . ds #F .3m
70 . ds #[ \f1
71 . ds #] \fP
72 .\}
73 .if t \{\
74 . ds #H ((1u-(\\\\n(.fu%2u))*.13m)
75 . ds #V .6m
76 . ds #F 0
77 . ds #[ \&
78 . ds #] \&
79 .\}
80 . \" simple accents for nroff and troff
81 .if n \{\
82 . ds ' \&
83 . ds ` \&
84 . ds ^ \&
85 . ds , \&
86 . ds ~ ~
87 . ds /
88 .\}
89 .if t \{\
90 . ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
91 . ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
92 . ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
93 . ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
94 . ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
95 . ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
96 .\}
97 . \" troff and (daisy-wheel) nroff accents
98 .ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'
99 .ds 8 \h'\*(#H'\(*b\h'-\*(#H'
100 .ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
101 .ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
102 .ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
103 .ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
104 .ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
105 .ds ae a\h'-(\w'a'u*4/10)'e
106 .ds Ae A\h'-(\w'A'u*4/10)'E
107 . \" corrections for vroff
108 .if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
109 .if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
110 . \" for low resolution devices (crt and lpr)
111 .if \n(.H>23 .if \n(.V>19 \
112 \{\
113 . ds : e
114 . ds 8 ss
115 . ds o a
116 . ds d- d\h'-1'\(ga
117 . ds D- D\h'-1'\(hy
118 . ds th \o'bp'
119 . ds Th \o'LP'
120 . ds ae ae
121 . ds Ae AE
122 .\}
123 .rm #[ #] #H #V #F C
124 .\" ========================================================================
125 .\"
126 .IX Title "FINGERPRINTSBITVECTOR 1"
127 .TH FINGERPRINTSBITVECTOR 1 "2015-03-29" "perl v5.14.2" "MayaChemTools"
128 .\" For nroff, turn off justification. Always turn off hyphenation; it makes
129 .\" way too many mistakes in technical documents.
130 .if n .ad l
131 .nh
132 .SH "NAME"
133 FingerprintsBitVector
134 .SH "SYNOPSIS"
135 .IX Header "SYNOPSIS"
136 use Fingerprints::FingerprintsBitVector;
137 .PP
138 use Fingerprints::FingerprintsBitVector qw(:coefficients);
139 .PP
140 use Fingerprints::FingerprintsBitVector qw(:all);
141 .SH "DESCRIPTION"
142 .IX Header "DESCRIPTION"
143 \&\fBFingerprintsBitVector\fR class provides the following methods:
144 .PP
145 new, BaroniUrbaniSimilarityCoefficient, BuserSimilarityCoefficient,
146 CosineSimilarityCoefficient, DennisSimilarityCoefficient,
147 DiceSimilarityCoefficient, FoldFingerprintsBitVectorByDensity,
148 FoldFingerprintsBitVectorBySize, ForbesSimilarityCoefficient,
149 FossumSimilarityCoefficient, GetBitsAsBinaryString, GetBitsAsDecimalString,
150 GetBitsAsHexadecimalString, GetBitsAsOctalString, GetBitsAsRawBinaryString,
151 GetDescription, GetFingerprintsBitDensity, GetID, GetSpecifiedSize,
152 GetSupportedSimilarityCoefficients, GetVectorType, HamannSimilarityCoefficient,
153 IsFingerprintsBitVector, IsSubSet, JacardSimilarityCoefficient,
154 Kulczynski1SimilarityCoefficient, Kulczynski2SimilarityCoefficient,
155 MatchingSimilarityCoefficient, McConnaugheySimilarityCoefficient,
156 NewFromBinaryString, NewFromDecimalString, NewFromHexadecimalString,
157 NewFromOctalString, NewFromRawBinaryString, OchiaiSimilarityCoefficient,
158 PearsonSimilarityCoefficient, RogersTanimotoSimilarityCoefficient,
159 RussellRaoSimilarityCoefficient, SetDescription, SetID, SetSpecifiedSize,
160 SetVectorType, SimpsonSimilarityCoefficient, SkoalSneath1SimilarityCoefficient,
161 SkoalSneath2SimilarityCoefficient, SkoalSneath3SimilarityCoefficient,
162 StringifyFingerprintsBitVector, TanimotoSimilarityCoefficient,
163 TverskySimilarityCoefficient, WeightedTanimotoSimilarityCoefficient,
164 WeightedTverskySimilarityCoefficient, YuleSimilarityCoefficient
165 .PP
166 The methods available to create fingerprints bit vector from strings and to calculate similarity
167 coefficient between two bit vectors can also be invoked as class functions.
168 .PP
169 \&\fBFingerprintsBitVector\fR class is derived from \fBBitVector\fR class which provides the functionality
170 to manipulate bits.
171 .PP
172 For two fingerprints bit vectors A and B of same size, let:
173 .PP
174 .Vb 4
175 \& Na = Number of bits set to "1" in A
176 \& Nb = Number of bits set to "1" in B
177 \& Nc = Number of bits set to "1" in both A and B
178 \& Nd = Number of bits set to "0" in both A and B
179 \&
180 \& Nt = Number of bits set to "1" or "0" in A or B (Size of A or B)
181 \& Nt = Na + Nb \- Nc + Nd
182 \&
183 \& Na \- Nc = Number of bits set to "1" in A but not in B
184 \& Nb \- Nc = Number of bits set to "1" in B but not in A
185 .Ve
186 .PP
187 Then, various similarity coefficients [ Ref. 40 \- 42 ] for a pair of bit vectors A and B are
188 defined as follows:
189 .PP
190 BaroniUrbani: ( \s-1SQRT\s0( Nc * Nd ) + Nc ) / ( \s-1SQRT\s0 ( Nc * Nd ) + Nc + ( Na \- Nc ) + ( Nb \- Nc ) ) ( same as Buser )
191 .PP
192 Buser: ( \s-1SQRT\s0 ( Nc * Nd ) + Nc ) / ( \s-1SQRT\s0 ( Nc * Nd ) + Nc + ( Na \- Nc ) + ( Nb \- Nc ) ) ( same as BaroniUrbani )
193 .PP
194 Cosine: Nc / \s-1SQRT\s0 ( Na * Nb ) (same as Ochiai)
195 .PP
196 Dice: (2 * Nc) / ( Na + Nb )
197 .PP
198 Dennis: ( Nc * Nd \- ( ( Na \- Nc ) * ( Nb \- Nc ) ) ) / \s-1SQRT\s0 ( Nt * Na * Nb)
199 .PP
200 Forbes: ( Nt * Nc ) / ( Na * Nb )
201 .PP
202 Fossum: ( Nt * ( ( Nc \- 1/2 ) ** 2 ) / ( Na * Nb )
203 .PP
204 Hamann: ( ( Nc + Nd ) \- ( Na \- Nc ) \- ( Nb \- Nc ) ) / Nt
205 .PP
206 Jaccard: Nc / ( ( Na \- Nc) + ( Nb \- Nc ) + Nc ) = Nc / ( Na + Nb \- Nc ) (same as Tanimoto)
207 .PP
208 Kulczynski1: Nc / ( ( Na \- Nc ) + ( Nb \- Nc) ) = Nc / ( Na + Nb \- 2Nc )
209 .PP
210 Kulczynski2: ( ( Nc / 2 ) * ( 2 * Nc + ( Na \- Nc ) + ( Nb \- Nc) ) ) / ( ( Nc + ( Na \- Nc ) ) * ( Nc + ( Nb \- Nc ) ) )
211 = 0.5 * ( Nc / Na + Nc / Nb )
212 .PP
213 Matching: ( Nc + Nd ) / Nt
214 .PP
215 McConnaughey: ( Nc ** 2 \- ( Na \- Nc ) * ( Nb \- Nc) ) / ( Na * Nb )
216 .PP
217 Ochiai: Nc / \s-1SQRT\s0 ( Na * Nb ) (same as Cosine)
218 .PP
219 Pearson: ( ( Nc * Nd ) \- ( ( Na \- Nc ) * ( Nb \- Nc ) ) / \s-1SQRT\s0 ( Na * Nb * ( Na \- Nc + Nd ) * ( Nb \- Nc + Nd ) )
220 .PP
221 RogersTanimoto: ( Nc + Nd ) / ( ( Na \- Nc) + ( Nb \- Nc) + Nt) = ( Nc + Nd ) / ( Na + Nb \- 2Nc + Nt)
222 .PP
223 RussellRao: Nc / Nt
224 .PP
225 Simpson: Nc / \s-1MIN\s0 ( Na, Nb)
226 .PP
227 SkoalSneath1: Nc / ( Nc + 2 * ( Na \- Nc) + 2 * ( Nb \- Nc) ) = Nc / ( 2 * Na + 2 * Nb \- 3 * Nc )
228 .PP
229 SkoalSneath2: ( 2 * Nc + 2 * Nd ) / ( Nc + Nd + Nt )
230 .PP
231 SkoalSneath3: ( Nc + Nd ) / ( ( Na \- Nc ) + ( Nb \- Nc ) ) = ( Nc + Nd ) / ( Na + Nb \- 2 * Nc )
232 .PP
233 Tanimoto: Nc / ( ( Na \- Nc) + ( Nb \- Nc ) + Nc ) = Nc / ( Na + Nb \- Nc ) (same as Jaccard)
234 .PP
235 Tversky: Nc / ( alpha * ( Na \- Nc ) + ( 1 \- alpha) * ( Nb \- Nc) + Nc ) = Nc / ( alpha * ( Na \- Nb ) + Nb)
236 .PP
237 Yule: ( ( Nc * Nd ) \- ( ( Na \- Nc ) * ( Nb \- Nc ) ) ) / ( ( Nc * Nd ) + ( ( Na \- Nc ) * ( Nb \- Nc ) ) )
238 .PP
239 The values of Tanimoto/Jaccard and Tversky coefficients are dependent on only those bit which
240 are set to \*(L"1\*(R" in both A and B. In order to take into account all bit positions, modified versions
241 of Tanimoto [ Ref. 42 ] and Tversky [ Ref. 43 ] have been developed.
242 .PP
243 Let:
244 .PP
245 .Vb 3
246 \& Na\*(Aq = Number of bits set to "0" in A
247 \& Nb\*(Aq = Number of bits set to "0" in B
248 \& Nc\*(Aq = Number of bits set to "0" in both A and B
249 .Ve
250 .PP
251 Tanimoto': Nc' / ( ( Na' \- Nc') + ( Nb' \- Nc' ) + Nc' ) = Nc' / ( Na' + Nb' \- Nc' )
252 .PP
253 Tversky': Nc' / ( alpha * ( Na' \- Nc' ) + ( 1 \- alpha) * ( Nb' \- Nc' ) + Nc' ) = Nc' / ( alpha * ( Na' \- Nb' ) + Nb')
254 .PP
255 Then:
256 .PP
257 WeightedTanimoto = beta * Tanimoto + (1 \- beta) * Tanimoto'
258 .PP
259 WeightedTversky = beta * Tversky + (1 \- beta) * Tversky'
260 .SS "\s-1METHODS\s0"
261 .IX Subsection "METHODS"
262 .IP "\fBnew\fR" 4
263 .IX Item "new"
264 .Vb 1
265 \& $NewFPBitVector = new Fingerprints::FingerprintsBitVector($Size);
266 .Ve
267 .Sp
268 Creates a new \fIFingerprintsBitVector\fR object of size \fISize\fR and returns newly created
269 \&\fBFingerprintsBitVector\fR. Bit numbers range from 0 to 1 less than \fISize\fR.
270 .IP "\fBBaroniUrbaniSimilarityCoefficient\fR" 4
271 .IX Item "BaroniUrbaniSimilarityCoefficient"
272 .Vb 5
273 \& $Value = $FingerprintsBitVector\->BaroniUrbaniSimilarityCoefficient(
274 \& $OtherFingerprintBitVector);
275 \& $Value = Fingerprints::FingerprintsBitVector::
276 \& BaroniUrbaniSimilarityCoefficient(
277 \& $FingerprintsBitVectorA, $FingerprintBitVectorB);
278 .Ve
279 .Sp
280 Returns value of \fIBaroniUrbani\fR similarity coefficient between two same size \fIFingerprintsBitVectors\fR.
281 .IP "\fBBuserSimilarityCoefficient\fR" 4
282 .IX Item "BuserSimilarityCoefficient"
283 .Vb 4
284 \& $Value = $FingerprintsBitVector\->BuserSimilarityCoefficient(
285 \& $OtherFingerprintBitVector);
286 \& $Value = Fingerprints::FingerprintsBitVector::BuserSimilarityCoefficient(
287 \& $FingerprintsBitVectorA, $FingerprintBitVectorB);
288 .Ve
289 .Sp
290 Returns value of \fIBuser\fR similarity coefficient between two same size \fIFingerprintsBitVectors\fR.
291 .IP "\fBCosineSimilarityCoefficient\fR" 4
292 .IX Item "CosineSimilarityCoefficient"
293 .Vb 4
294 \& $Value = $FingerprintsBitVector\->CosineSimilarityCoefficient(
295 \& $OtherFingerprintBitVector);
296 \& $Value = Fingerprints::FingerprintsBitVector::CosineSimilarityCoefficient(
297 \& $FingerprintsBitVectorA, $FingerprintBitVectorB);
298 .Ve
299 .Sp
300 Returns value of \fICosine\fR similarity coefficient between two same size \fIFingerprintsBitVectors\fR.
301 .IP "\fBDennisSimilarityCoefficient\fR" 4
302 .IX Item "DennisSimilarityCoefficient"
303 .Vb 4
304 \& $Value = $FingerprintsBitVector\->DennisSimilarityCoefficient(
305 \& $OtherFingerprintBitVector);
306 \& $Value = Fingerprints::FingerprintsBitVector::DennisSimilarityCoefficient(
307 \& $FingerprintsBitVectorA, $FingerprintBitVectorB);
308 .Ve
309 .Sp
310 Returns value of \fIDennis\fR similarity coefficient between two same size \fIFingerprintsBitVectors\fR.
311 .IP "\fBDiceSimilarityCoefficient\fR" 4
312 .IX Item "DiceSimilarityCoefficient"
313 .Vb 4
314 \& $Value = $FingerprintsBitVector\->DiceSimilarityCoefficient(
315 \& $OtherFingerprintBitVector);
316 \& $Value = Fingerprints::FingerprintsBitVector::DiceSimilarityCoefficient(
317 \& $FingerprintsBitVectorA, $FingerprintBitVectorB);
318 .Ve
319 .Sp
320 Returns value of \fIDice\fR similarity coefficient between two same size \fIFingerprintsBitVectors\fR.
321 .IP "\fBFoldFingerprintsBitVectorByDensity\fR" 4
322 .IX Item "FoldFingerprintsBitVectorByDensity"
323 .Vb 1
324 \& $FingerprintsBitVector\->FoldFingerprintsBitVectorByDensity($Density);
325 .Ve
326 .Sp
327 Folds \fIFingerprintsBitVector\fR by recursively reducing its size by half until bit density of set bits is
328 greater than or equal to specified \fIDensity\fR and returns folded \fIFingerprintsBitVector\fR.
329 .IP "\fBFoldFingerprintsBitVectorBySize\fR" 4
330 .IX Item "FoldFingerprintsBitVectorBySize"
331 .Vb 1
332 \& $FingerprintsBitVector\->FoldFingerprintsBitVectorBySize($Size);
333 .Ve
334 .Sp
335 Folds \fIFingerprintsBitVector\fR by recursively reducing its size by half until size is less than or equal to
336 specified \fISize\fR and returns folded \fIFingerprintsBitVector\fR.
337 .IP "\fBForbesSimilarityCoefficient\fR" 4
338 .IX Item "ForbesSimilarityCoefficient"
339 .Vb 4
340 \& $Value = $FingerprintsBitVector\->ForbesSimilarityCoefficient(
341 \& $OtherFingerprintBitVector);
342 \& $Value = Fingerprints::FingerprintsBitVector::ForbesSimilarityCoefficient(
343 \& $FingerprintsBitVectorA, $FingerprintBitVectorB);
344 .Ve
345 .Sp
346 Returns value of \fIForbes\fR similarity coefficient between two same size \fIFingerprintsBitVectors\fR.
347 .IP "\fBFossumSimilarityCoefficient\fR" 4
348 .IX Item "FossumSimilarityCoefficient"
349 .Vb 4
350 \& $Value = $FingerprintsBitVector\->FossumSimilarityCoefficient(
351 \& $OtherFingerprintBitVector);
352 \& $Value = Fingerprints::FingerprintsBitVector::FossumSimilarityCoefficient(
353 \& $FingerprintsBitVectorA, $FingerprintBitVectorB);
354 .Ve
355 .Sp
356 Returns value of \fIFossum\fR similarity coefficient between two same size \fIFingerprintsBitVectors\fR.
357 .IP "\fBGetBitsAsBinaryString\fR" 4
358 .IX Item "GetBitsAsBinaryString"
359 .Vb 1
360 \& $BinaryASCIIString = $FingerprintsBitVector\->GetBitsAsBinaryString();
361 .Ve
362 .Sp
363 Returns fingerprints as a binary \s-1ASCII\s0 string containing 0s and 1s.
364 .IP "\fBGetBitsAsHexadecimalString\fR" 4
365 .IX Item "GetBitsAsHexadecimalString"
366 .Vb 1
367 \& $HexadecimalString = $FingerprintsBitVector\->GetBitsAsHexadecimalString();
368 .Ve
369 .Sp
370 Returns fingerprints as a hexadecimal string.
371 .IP "\fBGetBitsAsRawBinaryString\fR" 4
372 .IX Item "GetBitsAsRawBinaryString"
373 .Vb 1
374 \& $RawBinaryString = $FingerprintsBitVector\->GetBitsAsRawBinaryString();
375 .Ve
376 .Sp
377 Returns fingerprints as a raw binary string containing packed bit values for each byte.
378 .IP "\fBGetDescription\fR" 4
379 .IX Item "GetDescription"
380 .Vb 1
381 \& $Description = $FingerprintsBitVector\->GetDescription();
382 .Ve
383 .Sp
384 Returns a string containing description of fingerprints bit vector.
385 .IP "\fBGetFingerprintsBitDensity\fR" 4
386 .IX Item "GetFingerprintsBitDensity"
387 .Vb 1
388 \& $BitDensity = $FingerprintsBitVector\->GetFingerprintsBitDensity();
389 .Ve
390 .Sp
391 Returns \fIBitDensity\fR of \fIFingerprintsBitVector\fR corresponding to bits set to 1s.
392 .IP "\fBGetID\fR" 4
393 .IX Item "GetID"
394 .Vb 1
395 \& $ID = $FingerprintsBitVector\->GetID();
396 .Ve
397 .Sp
398 Returns \fI\s-1ID\s0\fR of \fIFingerprintsBitVector\fR.
399 .IP "\fBGetVectorType\fR" 4
400 .IX Item "GetVectorType"
401 .Vb 1
402 \& $VectorType = $FingerprintsBitVector\->GetVectorType();
403 .Ve
404 .Sp
405 Returns \fIVectorType\fR of \fIFingerprintsBitVector\fR.
406 .IP "\fBGetSpecifiedSize\fR" 4
407 .IX Item "GetSpecifiedSize"
408 .Vb 1
409 \& $Size = $FingerprintsBitVector\->GetSpecifiedSize();
410 .Ve
411 .Sp
412 Returns value of specified size for bit vector.
413 .IP "\fBGetSupportedSimilarityCoefficients\fR" 4
414 .IX Item "GetSupportedSimilarityCoefficients"
415 .Vb 2
416 \& @SimilarityCoefficient =
417 \& Fingerprints::FingerprintsBitVector::GetSupportedSimilarityCoefficients();
418 .Ve
419 .Sp
420 Returns an array containing names of supported similarity coefficients.
421 .IP "\fBHamannSimilarityCoefficient\fR" 4
422 .IX Item "HamannSimilarityCoefficient"
423 .Vb 4
424 \& $Value = $FingerprintsBitVector\->HamannSimilarityCoefficient(
425 \& $OtherFingerprintBitVector);
426 \& $Value = Fingerprints::FingerprintsBitVector::HamannSimilarityCoefficient(
427 \& $FingerprintsBitVectorA, $FingerprintBitVectorB);
428 .Ve
429 .Sp
430 Returns value of \fIHamann\fR similarity coefficient between two same size \fIFingerprintsBitVectors\fR.
431 .IP "\fBIsFingerprintsBitVector\fR" 4
432 .IX Item "IsFingerprintsBitVector"
433 .Vb 2
434 \& $Status = Fingerprints::FingerprintsBitVector::
435 \& IsFingerprintsBitVector($Object);
436 .Ve
437 .Sp
438 Returns 1 or 0 based on whether \fIObject\fR is a \fBFingerprintsBitVector\fR object.
439 .IP "\fBIsSubSet\fR" 4
440 .IX Item "IsSubSet"
441 .Vb 3
442 \& $Status = $FingerprintsBitVector\->IsSubSet($OtherFPBitVector);
443 \& $Status = Fingerprints::FingerprintsBitVector::IsSubSet(
444 \& $FPBitVectorA, $FPBitVectorB);
445 .Ve
446 .Sp
447 Returns 1 or 0 based on whether first firngerprints bit vector is a subset of second
448 fingerprints bit vector.
449 .Sp
450 For a bit vector to be a subset of another bit vector, both vectors must be of
451 the same size and the bit positions set in first vector must also be set in the
452 second bit vector.
453 .IP "\fBJacardSimilarityCoefficient\fR" 4
454 .IX Item "JacardSimilarityCoefficient"
455 .Vb 4
456 \& $Value = $FingerprintsBitVector\->JacardSimilarityCoefficient(
457 \& $OtherFingerprintBitVector);
458 \& $Value = Fingerprints::FingerprintsBitVector::JacardSimilarityCoefficient(
459 \& $FingerprintsBitVectorA, $FingerprintBitVectorB);
460 .Ve
461 .Sp
462 Returns value of \fIJacard\fR similarity coefficient between two same size \fIFingerprintsBitVectors\fR.
463 .IP "\fBKulczynski1SimilarityCoefficient\fR" 4
464 .IX Item "Kulczynski1SimilarityCoefficient"
465 .Vb 5
466 \& $Value = $FingerprintsBitVector\->Kulczynski1SimilarityCoefficient(
467 \& $OtherFingerprintBitVector);
468 \& $Value = Fingerprints::FingerprintsBitVector::
469 \& Kulczynski1SimilarityCoefficient(
470 \& $FingerprintsBitVectorA, $FingerprintBitVectorB);
471 .Ve
472 .Sp
473 Returns value of \fIKulczynski1\fR similarity coefficient between two same size \fIFingerprintsBitVectors\fR.
474 .IP "\fBKulczynski2SimilarityCoefficient\fR" 4
475 .IX Item "Kulczynski2SimilarityCoefficient"
476 .Vb 5
477 \& $Value = $FingerprintsBitVector\->Kulczynski2SimilarityCoefficient(
478 \& $OtherFingerprintBitVector);
479 \& $Value = Fingerprints::FingerprintsBitVector::
480 \& Kulczynski2SimilarityCoefficient(
481 \& $FingerprintsBitVectorA, $FingerprintBitVectorB);
482 .Ve
483 .Sp
484 Returns value of \fIKulczynski2\fR similarity coefficient between two same size \fIFingerprintsBitVectors\fR.
485 .IP "\fBMatchingSimilarityCoefficient\fR" 4
486 .IX Item "MatchingSimilarityCoefficient"
487 .Vb 5
488 \& $Value = $FingerprintsBitVector\->MatchingSimilarityCoefficient(
489 \& $OtherFingerprintBitVector);
490 \& $Value = Fingerprints::FingerprintsBitVector::
491 \& MatchingSimilarityCoefficient(
492 \& $FingerprintsBitVectorA, $FingerprintBitVectorB);
493 .Ve
494 .Sp
495 Returns value of \fIMatching\fR similarity coefficient between two same size \fIFingerprintsBitVectors\fR.
496 .IP "\fBMcConnaugheySimilarityCoefficient\fR" 4
497 .IX Item "McConnaugheySimilarityCoefficient"
498 .Vb 5
499 \& $Value = $FingerprintsBitVector\->McConnaugheySimilarityCoefficient(
500 \& $OtherFingerprintBitVector);
501 \& $Value = Fingerprints::FingerprintsBitVector::
502 \& McConnaugheySimilarityCoefficient(
503 \& $FingerprintsBitVectorA, $FingerprintBitVectorB);
504 .Ve
505 .Sp
506 Returns value of \fIMcConnaughey\fR similarity coefficient between two same size \fIFingerprintsBitVectors\fR.
507 .IP "\fBNewFromBinaryString\fR" 4
508 .IX Item "NewFromBinaryString"
509 .Vb 4
510 \& $NewFPBitVector = $FingerprintsBitVector\->NewFromBinaryString(
511 \& $BinaryString);
512 \& $NewFPBitVector = Fingerprints::FingerprintsBitVector::NewFromBinaryString(
513 \& $BinaryString);
514 .Ve
515 .Sp
516 Creates a new \fIFingerprintsBitVector\fR using \fIBinaryString\fR and returns new
517 \&\fBFingerprintsBitVector\fR object.
518 .IP "\fBNewFromHexadecimalString\fR" 4
519 .IX Item "NewFromHexadecimalString"
520 .Vb 5
521 \& $NewFPBitVector = $FingerprintsBitVector\->NewFromHexadecimalString(
522 \& $HexdecimalString);
523 \& $NewFPBitVector = Fingerprints::FingerprintsBitVector::
524 \& NewFromHexadecimalString(
525 \& $HexdecimalString);
526 .Ve
527 .Sp
528 Creates a new \fIFingerprintsBitVector\fR using \fIHexdecimalString\fR and returns new
529 \&\fBFingerprintsBitVector\fR object.
530 .IP "\fBNewFromRawBinaryString\fR" 4
531 .IX Item "NewFromRawBinaryString"
532 .Vb 5
533 \& $NewFPBitVector = $FingerprintsBitVector\->NewFromRawBinaryString(
534 \& $RawBinaryString);
535 \& $NewFPBitVector = Fingerprints::FingerprintsBitVector::
536 \& NewFromRawBinaryString(
537 \& $RawBinaryString);
538 .Ve
539 .Sp
540 Creates a new \fIFingerprintsBitVector\fR using \fIRawBinaryString\fR and returns new
541 \&\fBFingerprintsBitVector\fR object.
542 .IP "\fBOchiaiSimilarityCoefficient\fR" 4
543 .IX Item "OchiaiSimilarityCoefficient"
544 .Vb 4
545 \& $Value = $FingerprintsBitVector\->OchiaiSimilarityCoefficient(
546 \& $OtherFingerprintBitVector);
547 \& $Value = Fingerprints::FingerprintsBitVector::OchiaiSimilarityCoefficient(
548 \& $FingerprintsBitVectorA, $FingerprintBitVectorB);
549 .Ve
550 .Sp
551 Returns value of \fIOchiai\fR similarity coefficient between two same size \fIFingerprintsBitVectors\fR.
552 .IP "\fBPearsonSimilarityCoefficient\fR" 4
553 .IX Item "PearsonSimilarityCoefficient"
554 .Vb 4
555 \& $Value = $FingerprintsBitVector\->PearsonSimilarityCoefficient(
556 \& $OtherFingerprintBitVector);
557 \& $Value = Fingerprints::FingerprintsBitVector::PearsonSimilarityCoefficient(
558 \& $FingerprintsBitVectorA, $FingerprintBitVectorB);
559 .Ve
560 .Sp
561 Returns value of \fIPearson\fR similarity coefficient between two same size \fIFingerprintsBitVectors\fR.
562 .IP "\fBRogersTanimotoSimilarityCoefficient\fR" 4
563 .IX Item "RogersTanimotoSimilarityCoefficient"
564 .Vb 5
565 \& $Value = $FingerprintsBitVector\->RogersTanimotoSimilarityCoefficient(
566 \& $OtherFingerprintBitVector);
567 \& $Value = Fingerprints::FingerprintsBitVector::
568 \& RogersTanimotoSimilarityCoefficient(
569 \& $FingerprintsBitVectorA, $FingerprintBitVectorB);
570 .Ve
571 .Sp
572 Returns value of \fIRogersTanimoto\fR similarity coefficient between two same size \fIFingerprintsBitVectors\fR.
573 .IP "\fBRussellRaoSimilarityCoefficient\fR" 4
574 .IX Item "RussellRaoSimilarityCoefficient"
575 .Vb 5
576 \& $Value = $FingerprintsBitVector\->RussellRaoSimilarityCoefficient(
577 \& $OtherFingerprintBitVector);
578 \& $Value = Fingerprints::FingerprintsBitVector::
579 \& RussellRaoSimilarityCoefficient(
580 \& $FingerprintsBitVectorA, $FingerprintBitVectorB);
581 .Ve
582 .Sp
583 Returns value of \fIRussellRao\fR similarity coefficient between two same size \fIFingerprintsBitVectors\fR.
584 .IP "\fBSetSpecifiedSize\fR" 4
585 .IX Item "SetSpecifiedSize"
586 .Vb 1
587 \& $FingerprintsBitVector\->SetSpecifiedSize($Size);
588 .Ve
589 .Sp
590 Sets specified size for fingerprints bit vector.
591 .Sp
592 Irrespective of specified size, Perl functions used to handle bit data in \fBBitVector\fR class
593 automatically sets the size to the next nearest power of 2. \fISpecifiedSize\fR is used by
594 \&\fBFingerprintsBitVector\fR class to process any aribitray size during similarity coefficient calculations.
595 .IP "\fBSetDescription\fR" 4
596 .IX Item "SetDescription"
597 .Vb 1
598 \& $FingerprintsBitVector\->SetDescription($Description);
599 .Ve
600 .Sp
601 Sets \fIDescription\fR of fingerprints bit vector and returns \fIFingerprintsBitVector\fR.
602 .IP "\fBSetID\fR" 4
603 .IX Item "SetID"
604 .Vb 1
605 \& $FingerprintsBitVector\->SetID($ID);
606 .Ve
607 .Sp
608 Sets \fI\s-1ID\s0\fR of fingerprints bit vector and returns \fIFingerprintsBitVector\fR.
609 .IP "\fBSetVectorType\fR" 4
610 .IX Item "SetVectorType"
611 .Vb 1
612 \& $FingerprintsBitVector\->SetVectorType($VectorType);
613 .Ve
614 .Sp
615 Sets \fIVectorType\fR of fingerprints bit vector and returns \fIFingerprintsBitVector\fR.
616 .IP "\fBSimpsonSimilarityCoefficient\fR" 4
617 .IX Item "SimpsonSimilarityCoefficient"
618 .Vb 4
619 \& $Value = $FingerprintsBitVector\->SimpsonSimilarityCoefficient(
620 \& $OtherFingerprintBitVector);
621 \& $Value = Fingerprints::FingerprintsBitVector::SimpsonSimilarityCoefficient(
622 \& $FingerprintsBitVectorA, $FingerprintBitVectorB);
623 .Ve
624 .Sp
625 Returns value of \fISimpson\fR similarity coefficient between two same size \fIFingerprintsBitVectors\fR.
626 .IP "\fBSkoalSneath1SimilarityCoefficient\fR" 4
627 .IX Item "SkoalSneath1SimilarityCoefficient"
628 .Vb 5
629 \& $Value = $FingerprintsBitVector\->SkoalSneath1SimilarityCoefficient(
630 \& $OtherFingerprintBitVector);
631 \& $Value = Fingerprints::FingerprintsBitVector::
632 \& SkoalSneath1SimilarityCoefficient(
633 \& $FingerprintsBitVectorA, $FingerprintBitVectorB);
634 .Ve
635 .Sp
636 Returns value of \fISkoalSneath1\fR similarity coefficient between two same size \fIFingerprintsBitVectors\fR.
637 .IP "\fBSkoalSneath2SimilarityCoefficient\fR" 4
638 .IX Item "SkoalSneath2SimilarityCoefficient"
639 .Vb 5
640 \& $Value = $FingerprintsBitVector\->SkoalSneath2SimilarityCoefficient(
641 \& $OtherFingerprintBitVector);
642 \& $Value = Fingerprints::FingerprintsBitVector::
643 \& SkoalSneath2SimilarityCoefficient(
644 \& $FingerprintsBitVectorA, $FingerprintBitVectorB);
645 .Ve
646 .Sp
647 Returns value of \fISkoalSneath2\fR similarity coefficient between two same size \fIFingerprintsBitVectors\fR.
648 .IP "\fBSkoalSneath3SimilarityCoefficient\fR" 4
649 .IX Item "SkoalSneath3SimilarityCoefficient"
650 .Vb 5
651 \& $Value = $FingerprintsBitVector\->SkoalSneath3SimilarityCoefficient(
652 \& $OtherFingerprintBitVector);
653 \& $Value = Fingerprints::FingerprintsBitVector::
654 \& SkoalSneath3SimilarityCoefficient(
655 \& $FingerprintsBitVectorA, $FingerprintBitVectorB);
656 .Ve
657 .Sp
658 Returns value of \fISkoalSneath3\fR similarity coefficient between two same size \fIFingerprintsBitVectors\fR
659 .IP "\fBStringifyFingerprintsBitVector\fR" 4
660 .IX Item "StringifyFingerprintsBitVector"
661 .Vb 1
662 \& $String = $FingerprintsBitVector\->StringifyFingerprintsBitVector();
663 .Ve
664 .Sp
665 Returns a string containing information about \fIFingerprintsBitVector\fR object.
666 .IP "\fBTanimotoSimilarityCoefficient\fR" 4
667 .IX Item "TanimotoSimilarityCoefficient"
668 .Vb 5
669 \& $Value = $FingerprintsBitVector\->TanimotoSimilarityCoefficient(
670 \& $OtherFingerprintBitVector);
671 \& $Value = Fingerprints::FingerprintsBitVector::
672 \& TanimotoSimilarityCoefficient(
673 \& $FingerprintsBitVectorA, $FingerprintBitVectorB);
674 .Ve
675 .Sp
676 Returns value of \fITanimoto\fR similarity coefficient between two same size \fIFingerprintsBitVectors\fR.
677 .IP "\fBTverskySimilarityCoefficient\fR" 4
678 .IX Item "TverskySimilarityCoefficient"
679 .Vb 5
680 \& $Value = $FingerprintsBitVector\->TverskySimilarityCoefficient(
681 \& $OtherFingerprintBitVector, $Alpha);
682 \& $Value = Fingerprints::FingerprintsBitVector::
683 \& TverskySimilarityCoefficient(
684 \& $FingerprintsBitVectorA, $FingerprintBitVectorB, $Alpha);
685 .Ve
686 .Sp
687 Returns value of \fITversky\fR similarity coefficient between two same size \fIFingerprintsBitVectors\fR.
688 .IP "\fBWeightedTanimotoSimilarityCoefficient\fR" 4
689 .IX Item "WeightedTanimotoSimilarityCoefficient"
690 .Vb 7
691 \& $Value =
692 \& $FingerprintsBitVector\->WeightedTanimotoSimilarityCoefficient(
693 \& $OtherFingerprintBitVector, $Beta);
694 \& $Value =
695 \& Fingerprints::FingerprintsBitVector::
696 \& WeightedTanimotoSimilarityCoefficient(
697 \& $FingerprintsBitVectorA, $FingerprintBitVectorB, $Beta);
698 .Ve
699 .Sp
700 Returns value of \fIWeightedTanimoto\fR similarity coefficient between two same size \fIFingerprintsBitVectors\fR.
701 .IP "\fBWeightedTverskySimilarityCoefficient\fR" 4
702 .IX Item "WeightedTverskySimilarityCoefficient"
703 .Vb 7
704 \& $Value =
705 \& $FingerprintsBitVector\->WeightedTverskySimilarityCoefficient(
706 \& $OtherFingerprintBitVector, $Alpha, $Beta);
707 \& $Value =
708 \& Fingerprints::FingerprintsBitVector::
709 \& WeightedTverskySimilarityCoefficient(
710 \& $FingerprintsBitVectorA, $FingerprintBitVectorB, $Alpha, $Beta);
711 .Ve
712 .Sp
713 Returns value of \fIWeightedTversky\fR similarity coefficient between two same size \fIFingerprintsBitVectors\fR.
714 .IP "\fBYuleSimilarityCoefficient\fR" 4
715 .IX Item "YuleSimilarityCoefficient"
716 .Vb 4
717 \& $Value = $FingerprintsBitVector\->YuleSimilarityCoefficient(
718 \& $OtherFingerprintBitVector);
719 \& $Value = Fingerprints::FingerprintsBitVector::YuleSimilarityCoefficient(
720 \& $FingerprintsBitVectorA, $FingerprintBitVectorB);
721 .Ve
722 .Sp
723 Returns value of \fIYule\fR similarity coefficient between two same size \fIFingerprintsBitVectors\fR.
724 .SH "AUTHOR"
725 .IX Header "AUTHOR"
726 Manish Sud <msud@san.rr.com>
727 .SH "SEE ALSO"
728 .IX Header "SEE ALSO"
729 BitVector.pm, FingerprintsStringUtil.pm, FingerprintsVector.pm, Vector.pm
730 .SH "COPYRIGHT"
731 .IX Header "COPYRIGHT"
732 Copyright (C) 2015 Manish Sud. All rights reserved.
733 .PP
734 This file is part of MayaChemTools.
735 .PP
736 MayaChemTools is free software; you can redistribute it and/or modify it under
737 the terms of the \s-1GNU\s0 Lesser General Public License as published by the Free
738 Software Foundation; either version 3 of the License, or (at your option)
739 any later version.