Mercurial > repos > deepakjadmin > mayatool3_test3
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> <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> |
