0
|
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.
|