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