comparison mayachemtools/docs/modules/html/FingerprintsBitVector.html @ 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 <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>&nbsp;&nbsp;<a href="./index.html" title="Table of Contents">TOC</a>&nbsp;&nbsp;<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>&nbsp;|&nbsp;<a href="./../pdf/FingerprintsBitVector.pdf" title="PDF US Letter Size">PDF</a>&nbsp;|&nbsp;<a href="./../pdfgreen/FingerprintsBitVector.pdf" title="PDF US Letter Size with narrow margins: www.changethemargins.com">PDFGreen</a>&nbsp;|&nbsp;<a href="./../pdfa4/FingerprintsBitVector.pdf" title="PDF A4 Size">PDFA4</a>&nbsp;|&nbsp;<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 &quot;1&quot; in A
59 <br/> Nb = Number of bits set to &quot;1&quot; in B
60 <br/> Nc = Number of bits set to &quot;1&quot; in both A and B
61 <br/> Nd = Number of bits set to &quot;0&quot; in both A and B</div>
62 <div class="OptionsBox">
63 Nt = Number of bits set to &quot;1&quot; or &quot;0&quot; 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 &quot;1&quot; in A but not in B
67 <br/> Nb - Nc = Number of bits set to &quot;1&quot; 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 &quot;1&quot; 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 &quot;0&quot; in A
101 <br/> Nb' = Number of bits set to &quot;0&quot; in B
102 <br/> Nc' = Number of bits set to &quot;0&quot; 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-&gt;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-&gt;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-&gt;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-&gt;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-&gt;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-&gt;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-&gt;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-&gt;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-&gt;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-&gt;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-&gt;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-&gt;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-&gt;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-&gt;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-&gt;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-&gt;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-&gt;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-&gt;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-&gt;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-&gt;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-&gt;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-&gt;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-&gt;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-&gt;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-&gt;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-&gt;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-&gt;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-&gt;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-&gt;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-&gt;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-&gt;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-&gt;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-&gt;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-&gt;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-&gt;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-&gt;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-&gt;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-&gt;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-&gt;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-&gt;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-&gt;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-&gt;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-&gt;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-&gt;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-&gt;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>,&nbsp<a href="./FingerprintsStringUtil.html">FingerprintsStringUtil.pm</a>,&nbsp<a href="./FingerprintsVector.html">FingerprintsVector.pm</a>,&nbsp<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>&nbsp</p><p>&nbsp</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>&nbsp;&nbsp;<a href="./index.html" title="Table of Contents">TOC</a>&nbsp;&nbsp;<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>