| 
0
 | 
     1 <html>
 | 
| 
 | 
     2 <head>
 | 
| 
 | 
     3 <title>MayaChemTools:Documentation:Fingerprints::FingerprintsVector.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="./FingerprintsStringUtil.html" title="FingerprintsStringUtil.html">Previous</a>  <a href="./index.html" title="Table of Contents">TOC</a>  <a href="./MACCSKeys.html" title="MACCSKeys.html">Next</a></td><td width="34%" align="middle"><strong>Fingerprints::FingerprintsVector.pm</strong></td><td width="33%" align="right"><a href="././code/FingerprintsVector.html" title="View source code">Code</a> | <a href="./../pdf/FingerprintsVector.pdf" title="PDF US Letter Size">PDF</a> | <a href="./../pdfgreen/FingerprintsVector.pdf" title="PDF US Letter Size with narrow margins: www.changethemargins.com">PDFGreen</a> | <a href="./../pdfa4/FingerprintsVector.pdf" title="PDF A4 Size">PDFA4</a> | <a href="./../pdfa4green/FingerprintsVector.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>FingerprintsVector</p>
 | 
| 
 | 
    22 <p>
 | 
| 
 | 
    23 </p>
 | 
| 
 | 
    24 <h2>SYNOPSIS</h2>
 | 
| 
 | 
    25 <p>use Fingerprints::FingerprintsVector;</p>
 | 
| 
 | 
    26 <p>use Fingerprints::FingerprintsVector qw(:all);</p>
 | 
| 
 | 
    27 <p>
 | 
| 
 | 
    28 </p>
 | 
| 
 | 
    29 <h2>DESCRIPTION</h2>
 | 
| 
 | 
    30 <p><strong>FingerprintsVector</strong> class provides the following methods:</p>
 | 
| 
 | 
    31 <p> <a href="#new">new</a>, <a href="#addvalueids">AddValueIDs</a>, <a href="#addvalues">AddValues</a>, <a href="#cityblockdistancecoefficient">CityBlockDistanceCoefficient</a>
 | 
| 
 | 
    32 , <a href="#cosinesimilaritycoefficient">CosineSimilarityCoefficient</a>, <a href="#czekanowskisimilaritycoefficient">CzekanowskiSimilarityCoefficient</a>
 | 
| 
 | 
    33 , <a href="#dicesimilaritycoefficient">DiceSimilarityCoefficient</a>, <a href="#euclideandistancecoefficient">EuclideanDistanceCoefficient</a>, <a href="#getdescription">GetDescription</a>
 | 
| 
 | 
    34 , <a href="#getfingerprintsvectorstring">GetFingerprintsVectorString</a>, <a href="#getid">GetID</a>, <a href="#getidsandvaluespairsstring">GetIDsAndValuesPairsString</a>
 | 
| 
 | 
    35 , <a href="#getidsandvaluesstring">GetIDsAndValuesString</a>, <a href="#getnumofnonzerovalues">GetNumOfNonZeroValues</a>, <a href="#getnumofvalueids">GetNumOfValueIDs</a>, <a href="#getnumofvalues">GetNumOfValues</a>
 | 
| 
 | 
    36 , <a href="#getsupporteddistanceandsimilaritycoefficients">GetSupportedDistanceAndSimilarityCoefficients</a>, <a href="#getsupporteddistancecoefficients">GetSupportedDistanceCoefficients</a>
 | 
| 
 | 
    37 , <a href="#getsupportedsimilaritycoefficients">GetSupportedSimilarityCoefficients</a>, <a href="#gettype">GetType</a>, <a href="#getvalue">GetValue</a>, <a href="#getvalueid">GetValueID</a>, <a href="#getvalueids">GetValueIDs</a>
 | 
| 
 | 
    38 , <a href="#getvalueidsstring">GetValueIDsString</a>, <a href="#getvalues">GetValues</a>, <a href="#getvaluesandidspairsstring">GetValuesAndIDsPairsString</a>, <a href="#getvaluesandidsstring">GetValuesAndIDsString</a>
 | 
| 
 | 
    39 , <a href="#getvaluesstring">GetValuesString</a>, <a href="#getvectortype">GetVectorType</a>, <a href="#hammingdistancecoefficient">HammingDistanceCoefficient</a>, <a href="#isfingerprintsvector">IsFingerprintsVector</a>
 | 
| 
 | 
    40 , <a href="#jaccardsimilaritycoefficient">JaccardSimilarityCoefficient</a>, <a href="#manhattandistancecoefficient">ManhattanDistanceCoefficient</a>
 | 
| 
 | 
    41 , <a href="#newfromidsandvaluespairsstring">NewFromIDsAndValuesPairsString</a>, <a href="#newfromidsandvaluesstring">NewFromIDsAndValuesString</a>
 | 
| 
 | 
    42 , <a href="#newfromvaluesandidspairsstring">NewFromValuesAndIDsPairsString</a>, <a href="#newfromvaluesandidsstring">NewFromValuesAndIDsString</a>, <a href="#newfromvaluesstring">NewFromValuesString</a>
 | 
| 
 | 
    43 , <a href="#ochiaisimilaritycoefficient">OchiaiSimilarityCoefficient</a>, <a href="#setdescription">SetDescription</a>, <a href="#setid">SetID</a>, <a href="#settype">SetType</a>, <a href="#setvalue">SetValue</a>, <a href="#setvalueid">SetValueID</a>
 | 
| 
 | 
    44 , <a href="#setvalueids">SetValueIDs</a>, <a href="#setvalues">SetValues</a>, <a href="#setvectortype">SetVectorType</a>, <a href="#soergeldistancecoefficient">SoergelDistanceCoefficient</a>
 | 
| 
 | 
    45 , <a href="#sorensonsimilaritycoefficient">SorensonSimilarityCoefficient</a>, <a href="#stringifyfingerprintsvector">StringifyFingerprintsVector</a>
 | 
| 
 | 
    46 , <a href="#tanimotosimilaritycoefficient">TanimotoSimilarityCoefficient</a>
 | 
| 
 | 
    47 </p><p>The methods available to create fingerprints vector from strings and to calculate similarity
 | 
| 
 | 
    48 and distance coefficients between two vectors can also be invoked as class functions.</p>
 | 
| 
 | 
    49 <p><strong>FingerprintsVector</strong> class provides support to perform comparison between vectors
 | 
| 
 | 
    50 containing three different types of values:</p>
 | 
| 
 | 
    51 <p>Type I: OrderedNumericalValues</p>
 | 
| 
 | 
    52 <div class="OptionsBox">
 | 
| 
 | 
    53     o Size of two vectors are same
 | 
| 
 | 
    54 <br/>    o Vectors contain real values in a specific order. For example: MACCS keys
 | 
| 
 | 
    55       count, Topological pharmacophore atom pairs and so on.</div>
 | 
| 
 | 
    56 <p>Type II: UnorderedNumericalValues</p>
 | 
| 
 | 
    57 <div class="OptionsBox">
 | 
| 
 | 
    58     o Size of two vectors might not be same
 | 
| 
 | 
    59 <br/>    o Vectors contain unordered real value identified by value IDs. For example:
 | 
| 
 | 
    60       Topological atom pairs, Topological atom torsions and so on</div>
 | 
| 
 | 
    61 <p>Type III: AlphaNumericalValues</p>
 | 
| 
 | 
    62 <div class="OptionsBox">
 | 
| 
 | 
    63     o Size of two vectors might not be same
 | 
| 
 | 
    64 <br/>    o Vectors contain unordered alphanumerical values. For example: Extended
 | 
| 
 | 
    65       connectivity fingerprints, atom neighborhood fingerprints.</div>
 | 
| 
 | 
    66 <p>Before performing similarity or distance calculations between vectors containing UnorderedNumericalValues
 | 
| 
 | 
    67 or AlphaNumericalValues, the vectors are transformed into vectors containing unique OrderedNumericalValues
 | 
| 
 | 
    68 using value IDs for UnorderedNumericalValues and values itself for AlphaNumericalValues.</p>
 | 
| 
 | 
    69 <p>Three forms of similarity and distance calculation between two vectors, specified using <strong>CalculationMode</strong>
 | 
| 
 | 
    70 option, are supported: <em>AlgebraicForm, BinaryForm or SetTheoreticForm</em>.</p>
 | 
| 
 | 
    71 <p>For <em>BinaryForm</em>, the ordered list of processed final vector values containing the value or
 | 
| 
 | 
    72 count of each unique value type is simply converted into a binary vector containing 1s and 0s
 | 
| 
 | 
    73 corresponding to presence or absence of values before calculating similarity or distance between
 | 
| 
 | 
    74 two vectors.</p>
 | 
| 
 | 
    75 <p>For two fingerprint vectors A and B of same size containing OrderedNumericalValues, let:</p>
 | 
| 
 | 
    76 <div class="OptionsBox">
 | 
| 
 | 
    77     N = Number values in A or B</div>
 | 
| 
 | 
    78 <div class="OptionsBox">
 | 
| 
 | 
    79     Xa = Values of vector A
 | 
| 
 | 
    80 <br/>    Xb = Values of vector B</div>
 | 
| 
 | 
    81 <div class="OptionsBox">
 | 
| 
 | 
    82     Xai = Value of ith element in A
 | 
| 
 | 
    83 <br/>    Xbi = Value of ith element in B</div>
 | 
| 
 | 
    84 <div class="OptionsBox">
 | 
| 
 | 
    85    SUM = Sum of i over N values</div>
 | 
| 
 | 
    86 <p>For SetTheoreticForm of calculation between two vectors, let:</p>
 | 
| 
 | 
    87 <div class="OptionsBox">
 | 
| 
 | 
    88     SetIntersectionXaXb = SUM ( MIN ( Xai, Xbi ) )
 | 
| 
 | 
    89 <br/>    SetDifferenceXaXb = SUM ( Xai ) + SUM ( Xbi ) - SUM ( MIN ( Xai, Xbi ) )</div>
 | 
| 
 | 
    90 <p>For BinaryForm of calculation between two vectors, let:</p>
 | 
| 
 | 
    91 <div class="OptionsBox">
 | 
| 
 | 
    92     Na = Number of bits set to "1" in A = SUM ( Xai )
 | 
| 
 | 
    93 <br/>    Nb = Number of bits set to "1" in B = SUM ( Xbi )
 | 
| 
 | 
    94 <br/>    Nc = Number of bits set to "1" in both A and B = SUM ( Xai * Xbi )
 | 
| 
 | 
    95 <br/>    Nd = Number of bits set to "0" in both A and B
 | 
| 
 | 
    96        = SUM ( 1 - Xai - Xbi + Xai * Xbi)</div>
 | 
| 
 | 
    97 <div class="OptionsBox">
 | 
| 
 | 
    98     N = Number of bits set to "1" or "0" in A or B = Size of A or B = Na + Nb - Nc + Nd</div>
 | 
| 
 | 
    99 <p>Additionally, for BinaryForm various values also correspond to:</p>
 | 
| 
 | 
   100 <div class="OptionsBox">
 | 
| 
 | 
   101     Na = | Xa |
 | 
| 
 | 
   102 <br/>    Nb = | Xb |
 | 
| 
 | 
   103 <br/>    Nc = | SetIntersectionXaXb |
 | 
| 
 | 
   104 <br/>    Nd = N - | SetDifferenceXaXb |</div>
 | 
| 
 | 
   105 <div class="OptionsBox">
 | 
| 
 | 
   106     | SetDifferenceXaXb | = N - Nd = Na + Nb - Nc + Nd - Nd = Na + Nb - Nc
 | 
| 
 | 
   107                           =  | Xa | + | Xb | - | SetIntersectionXaXb |</div>
 | 
| 
 | 
   108 <p>Various similarity and distance coefficients [ Ref 40, Ref 62, Ref 64 ] for a pair of vectors A and B
 | 
| 
 | 
   109 in <em>AlgebraicForm, BinaryForm and SetTheoreticForm</em> are defined as follows:</p>
 | 
| 
 | 
   110 <p><strong>CityBlockDistance</strong>: ( same as HammingDistance and ManhattanDistance)</p>
 | 
| 
 | 
   111 <p><em>AlgebraicForm</em>: SUM ( ABS ( Xai - Xbi ) )</p>
 | 
| 
 | 
   112 <p><em>BinaryForm</em>: ( Na - Nc ) + ( Nb - Nc ) = Na + Nb - 2 * Nc</p>
 | 
| 
 | 
   113 <p><em>SetTheoreticForm</em>: | SetDifferenceXaXb | - | SetIntersectionXaXb | = SUM ( Xai ) + SUM ( Xbi ) - 2 * ( SUM ( MIN ( Xai, Xbi ) ) )</p>
 | 
| 
 | 
   114 <p><strong>CosineSimilarity</strong>:  ( same as OchiaiSimilarityCoefficient)</p>
 | 
| 
 | 
   115 <p><em>AlgebraicForm</em>: SUM ( Xai * Xbi ) / SQRT ( SUM ( Xai ** 2) * SUM ( Xbi ** 2) )</p>
 | 
| 
 | 
   116 <p><em>BinaryForm</em>: Nc / SQRT ( Na * Nb)</p>
 | 
| 
 | 
   117 <p><em>SetTheoreticForm</em>: | SetIntersectionXaXb | / SQRT ( |Xa| * |Xb| ) = SUM ( MIN ( Xai, Xbi ) ) / SQRT ( SUM ( Xai ) * SUM ( Xbi ) )</p>
 | 
| 
 | 
   118 <p><strong>CzekanowskiSimilarity</strong>: ( same as DiceSimilarity and SorensonSimilarity)</p>
 | 
| 
 | 
   119 <p><em>AlgebraicForm</em>: ( 2 * ( SUM ( Xai * Xbi ) )  ) / ( SUM ( Xai ** 2) + SUM ( Xbi **2 ) )</p>
 | 
| 
 | 
   120 <p><em>BinaryForm</em>: 2 * Nc / ( Na + Nb )</p>
 | 
| 
 | 
   121 <p><em>SetTheoreticForm</em>: 2 * | SetIntersectionXaXb | / ( |Xa| + |Xb| ) = 2 * ( SUM ( MIN ( Xai, Xbi ) ) ) / ( SUM ( Xai ) + SUM ( Xbi ) )</p>
 | 
| 
 | 
   122 <p><strong>DiceSimilarity</strong>: ( same as CzekanowskiSimilarity and SorensonSimilarity)</p>
 | 
| 
 | 
   123 <p><em>AlgebraicForm</em>: ( 2 * ( SUM ( Xai * Xbi ) )  ) / ( SUM ( Xai ** 2) + SUM ( Xbi **2 ) )</p>
 | 
| 
 | 
   124 <p><em>BinaryForm</em>: 2 * Nc / ( Na + Nb )</p>
 | 
| 
 | 
   125 <p><em>SetTheoreticForm</em>: 2 * | SetIntersectionXaXb | / ( |Xa| + |Xb| ) = 2 * ( SUM ( MIN ( Xai, Xbi ) ) ) / ( SUM ( Xai ) + SUM ( Xbi ) )</p>
 | 
| 
 | 
   126 <p><strong>EuclideanDistance</strong>:</p>
 | 
| 
 | 
   127 <p><em>AlgebraicForm</em>: SQRT ( SUM ( ( ( Xai - Xbi ) ** 2 ) ) )</p>
 | 
| 
 | 
   128 <p><em>BinaryForm</em>: SQRT ( ( Na - Nc ) + ( Nb - Nc ) ) = SQRT ( Na + Nb - 2 * Nc )</p>
 | 
| 
 | 
   129 <p><em>SetTheoreticForm</em>: SQRT ( | SetDifferenceXaXb | - | SetIntersectionXaXb | ) = SQRT (  SUM ( Xai ) + SUM ( Xbi ) - 2 * ( SUM ( MIN ( Xai, Xbi ) ) ) )</p>
 | 
| 
 | 
   130 <p><strong>HammingDistance</strong>:  ( same as CityBlockDistance and ManhattanDistance)</p>
 | 
| 
 | 
   131 <p><em>AlgebraicForm</em>: SUM ( ABS ( Xai - Xbi ) )</p>
 | 
| 
 | 
   132 <p><em>BinaryForm</em>: ( Na - Nc ) + ( Nb - Nc ) = Na + Nb - 2 * Nc</p>
 | 
| 
 | 
   133 <p><em>SetTheoreticForm</em>: | SetDifferenceXaXb | - | SetIntersectionXaXb | = SUM ( Xai ) + SUM ( Xbi ) - 2 * ( SUM ( MIN ( Xai, Xbi ) ) )</p>
 | 
| 
 | 
   134 <p><strong>JaccardSimilarity</strong>: ( same as TanimotoSimilarity)</p>
 | 
| 
 | 
   135 <p><em>AlgebraicForm</em>:  SUM ( Xai * Xbi ) / ( SUM ( Xai ** 2 ) + SUM ( Xbi ** 2 ) - SUM ( Xai * Xbi ) )</p>
 | 
| 
 | 
   136 <p><em>BinaryForm</em>:  Nc / ( ( Na - Nc ) + ( Nb - Nc ) + Nc ) = Nc / ( Na + Nb - Nc )</p>
 | 
| 
 | 
   137 <p><em>SetTheoreticForm</em>: | SetIntersectionXaXb | / | SetDifferenceXaXb | = SUM ( MIN ( Xai, Xbi ) ) / (  SUM ( Xai ) + SUM ( Xbi ) - SUM ( MIN ( Xai, Xbi ) ) )</p>
 | 
| 
 | 
   138 <p><strong>ManhattanDistance</strong>:  ( same as CityBlockDistance and HammingDistance)</p>
 | 
| 
 | 
   139 <p><em>AlgebraicForm</em>: SUM ( ABS ( Xai - Xbi ) )</p>
 | 
| 
 | 
   140 <p><em>BinaryForm</em>: ( Na - Nc ) + ( Nb - Nc ) = Na + Nb - 2 * Nc</p>
 | 
| 
 | 
   141 <p><em>SetTheoreticForm</em>: | SetDifferenceXaXb | - | SetIntersectionXaXb | = SUM ( Xai ) + SUM ( Xbi ) - 2 * ( SUM ( MIN ( Xai, Xbi ) ) )</p>
 | 
| 
 | 
   142 <p><strong>OchiaiSimilarity</strong>:  ( same as CosineSimilarity)</p>
 | 
| 
 | 
   143 <p><em>AlgebraicForm</em>: SUM ( Xai * Xbi ) / SQRT ( SUM ( Xai ** 2) * SUM ( Xbi ** 2) )</p>
 | 
| 
 | 
   144 <p><em>BinaryForm</em>: Nc / SQRT ( Na * Nb)</p>
 | 
| 
 | 
   145 <p><em>SetTheoreticForm</em>: | SetIntersectionXaXb | / SQRT ( |Xa| * |Xb| ) = SUM ( MIN ( Xai, Xbi ) ) / SQRT ( SUM ( Xai ) * SUM ( Xbi ) )</p>
 | 
| 
 | 
   146 <p><strong>SorensonSimilarity</strong>: ( same as CzekanowskiSimilarity and DiceSimilarity)</p>
 | 
| 
 | 
   147 <p><em>AlgebraicForm</em>: ( 2 * ( SUM ( Xai * Xbi ) )  ) / ( SUM ( Xai ** 2) + SUM ( Xbi **2 ) )</p>
 | 
| 
 | 
   148 <p><em>BinaryForm</em>: 2 * Nc / ( Na + Nb )</p>
 | 
| 
 | 
   149 <p><em>SetTheoreticForm</em>: 2 * | SetIntersectionXaXb | / ( |Xa| + |Xb| ) = 2 * ( SUM ( MIN ( Xai, Xbi ) ) ) / ( SUM ( Xai ) + SUM ( Xbi ) )</p>
 | 
| 
 | 
   150 <p><strong>SoergelDistance</strong>:</p>
 | 
| 
 | 
   151 <p><em>AlgebraicForm</em>:  SUM ( ABS ( Xai - Xbi ) ) / SUM ( MAX ( Xai, Xbi ) )</p>
 | 
| 
 | 
   152 <p><em>BinaryForm</em>: 1 - Nc / ( Na + Nb - Nc ) = ( Na + Nb - 2 * Nc ) / ( Na + Nb - Nc )</p>
 | 
| 
 | 
   153 <p><em>SetTheoreticForm</em>: ( | SetDifferenceXaXb | - | SetIntersectionXaXb | ) / | SetDifferenceXaXb | = ( SUM ( Xai ) + SUM ( Xbi ) - 2 * ( SUM ( MIN ( Xai, Xbi ) ) ) ) / ( SUM ( Xai ) + SUM ( Xbi ) - SUM ( MIN ( Xai, Xbi ) ) )</p>
 | 
| 
 | 
   154 <p><strong>TanimotoSimilarity</strong>:  ( same as JaccardSimilarity)</p>
 | 
| 
 | 
   155 <p><em>AlgebraicForm</em>:  SUM ( Xai * Xbi ) / ( SUM ( Xai ** 2 ) + SUM ( Xbi ** 2 ) - SUM ( Xai * Xbi ) )</p>
 | 
| 
 | 
   156 <p><em>BinaryForm</em>:  Nc / ( ( Na - Nc ) + ( Nb - Nc ) + Nc ) = Nc / ( Na + Nb - Nc )</p>
 | 
| 
 | 
   157 <p><em>SetTheoreticForm</em>: | SetIntersectionXaXb | / | SetDifferenceXaXb | = SUM ( MIN ( Xai, Xbi ) ) / (  SUM ( Xai ) + SUM ( Xbi ) - SUM ( MIN ( Xai, Xbi ) ) )</p>
 | 
| 
 | 
   158 <p>
 | 
| 
 | 
   159 </p>
 | 
| 
 | 
   160 <h2>METHODS</h2>
 | 
| 
 | 
   161 <dl>
 | 
| 
 | 
   162 <dt><strong><a name="new" class="item"><strong>new</strong></a></strong></dt>
 | 
| 
 | 
   163 <dd>
 | 
| 
 | 
   164 <div class="OptionsBox">
 | 
| 
 | 
   165     $FPVector = new Fingerprints::FingerprintsVector(%NamesAndValues);</div>
 | 
| 
 | 
   166 <p>Using specified <em>FingerprintsVector</em> property names and values hash, <strong>new</strong> method creates
 | 
| 
 | 
   167 a new object and returns a reference to newly created <strong>FingerprintsVectorsVector</strong>
 | 
| 
 | 
   168 object. By default, the following properties are initialized:</p>
 | 
| 
 | 
   169 <div class="OptionsBox">
 | 
| 
 | 
   170     Type = ''
 | 
| 
 | 
   171 <br/>    @{Values} = ()
 | 
| 
 | 
   172 <br/>    @{ValuesIDs} = ()</div>
 | 
| 
 | 
   173 <p>Examples:</p>
 | 
| 
 | 
   174 <div class="OptionsBox">
 | 
| 
 | 
   175     $FPVector = new Fingerprints::FingerprintsVector('Type' => 'OrderedNumericalValues',
 | 
| 
 | 
   176                                        'Values' => [1, 2, 3, 4]);
 | 
| 
 | 
   177 <br/>    $FPVector = new Fingerprints::FingerprintsVector('Type' => 'NumericalValues',
 | 
| 
 | 
   178                                        'Values' => [10, 22, 33, 44],
 | 
| 
 | 
   179                                        'ValueIDs' => ['ID1', 'ID2', 'ID3', 'ID4']);
 | 
| 
 | 
   180 <br/>    $FPVector = new Fingerprints::FingerprintsVector('Type' => 'AlphaNumericalValues',
 | 
| 
 | 
   181                                        'Values' => ['a1', 2, 'a3', 4]);</div>
 | 
| 
 | 
   182 </dd>
 | 
| 
 | 
   183 <dt><strong><a name="addvalueids" class="item"><strong>AddValueIDs</strong></a></strong></dt>
 | 
| 
 | 
   184 <dd>
 | 
| 
 | 
   185 <div class="OptionsBox">
 | 
| 
 | 
   186     $FingerprintsVector->AddValueIDs($ValueIDsRef);
 | 
| 
 | 
   187 <br/>    $FingerprintsVector->AddValueIDs(@ValueIDs);</div>
 | 
| 
 | 
   188 <p>Adds specified <em>ValueIDs</em> to <em>FingerprintsVector</em> and returns <em>FingerprintsVector</em>.</p>
 | 
| 
 | 
   189 </dd>
 | 
| 
 | 
   190 <dt><strong><a name="addvalues" class="item"><strong>AddValues</strong></a></strong></dt>
 | 
| 
 | 
   191 <dd>
 | 
| 
 | 
   192 <div class="OptionsBox">
 | 
| 
 | 
   193     $FingerprintsVector->AddValues($ValuesRef);
 | 
| 
 | 
   194 <br/>    $FingerprintsVector->AddValues(@Values);
 | 
| 
 | 
   195 <br/>    $FingerprintsVector->AddValues($Vector);</div>
 | 
| 
 | 
   196 <p>Adds specified <em>Values</em> to <em>FingerprintsVector</em> and returns <em>FingerprintsVector</em>.</p>
 | 
| 
 | 
   197 </dd>
 | 
| 
 | 
   198 <dt><strong><a name="cityblockdistancecoefficient" class="item"><strong>CityBlockDistanceCoefficient</strong></a></strong></dt>
 | 
| 
 | 
   199 <dd>
 | 
| 
 | 
   200 <div class="OptionsBox">
 | 
| 
 | 
   201     $Value = $FingerprintsVector->CityBlockDistanceCoefficient(
 | 
| 
 | 
   202               $OtherFingerprintVector, [$CalculationMode, $SkipValuesCheck]);
 | 
| 
 | 
   203 <br/>    $Value = Fingerprints::FingerprintsVector::CityBlockDistanceCoefficient(
 | 
| 
 | 
   204               $FingerprintsVectorA, $FingerprintVectorB,
 | 
| 
 | 
   205               [$CalculationMode, $SkipValuesCheck]);</div>
 | 
| 
 | 
   206 <p>Returns value of <em>CityBlock</em> distance coefficient between two <em>FingerprintsVectors</em> using
 | 
| 
 | 
   207 optionally specified <em>CalculationMode</em> and optional checking of vector values.</p>
 | 
| 
 | 
   208 <p>Possible <em>CalculationMode</em> values: <em>AlgebraicForm, BinaryForm or SetTheoreticForm</em>. Default
 | 
| 
 | 
   209 <em>CalculationMode</em> value: <em>AlgebraicForm</em>. Default <em>SkipValuesCheck</em> value: <em>0</em>.</p>
 | 
| 
 | 
   210 </dd>
 | 
| 
 | 
   211 <dt><strong><a name="cosinesimilaritycoefficient" class="item"><strong>CosineSimilarityCoefficient</strong></a></strong></dt>
 | 
| 
 | 
   212 <dd>
 | 
| 
 | 
   213 <div class="OptionsBox">
 | 
| 
 | 
   214     $Value = $FingerprintsVector->CosineSimilarityCoefficient(
 | 
| 
 | 
   215               $OtherFingerprintVector, [$CalculationMode, $SkipValuesCheck]);
 | 
| 
 | 
   216 <br/>    $Value = Fingerprints::FingerprintsVector::CosineSimilarityCoefficient(
 | 
| 
 | 
   217               $FingerprintsVectorA, $FingerprintVectorB,
 | 
| 
 | 
   218               [$CalculationMode, $SkipValuesCheck]);</div>
 | 
| 
 | 
   219 <p>Returns value of <em>Cosine</em> similarity coefficient between two <em>FingerprintsVectors</em> using
 | 
| 
 | 
   220 optionally specified <em>CalculationMode</em> and optional checking of vector values.</p>
 | 
| 
 | 
   221 <p>Possible <em>CalculationMode</em> values: <em>AlgebraicForm, BinaryForm or SetTheoreticForm</em>. Default
 | 
| 
 | 
   222 <em>CalculationMode</em> value: <em>AlgebraicForm</em>. Default <em>SkipValuesCheck</em> value: <em>0</em>.</p>
 | 
| 
 | 
   223 </dd>
 | 
| 
 | 
   224 <dt><strong><a name="czekanowskisimilaritycoefficient" class="item"><strong>CzekanowskiSimilarityCoefficient</strong></a></strong></dt>
 | 
| 
 | 
   225 <dd>
 | 
| 
 | 
   226 <div class="OptionsBox">
 | 
| 
 | 
   227     $Value = $FingerprintsVector->CzekanowskiSimilarityCoefficient(
 | 
| 
 | 
   228               $OtherFingerprintVector, [$CalculationMode, $SkipValuesCheck]);
 | 
| 
 | 
   229 <br/>    $Value = Fingerprints::FingerprintsVector::CzekanowskiSimilarityCoefficient(
 | 
| 
 | 
   230               $FingerprintsVectorA, $FingerprintVectorB,
 | 
| 
 | 
   231               [$CalculationMode, $SkipValuesCheck]);</div>
 | 
| 
 | 
   232 <p>Returns value of <em>Czekanowski</em> similarity coefficient between two <em>FingerprintsVectors</em> using
 | 
| 
 | 
   233 optionally specified <em>CalculationMode</em> and optional checking of vector values.</p>
 | 
| 
 | 
   234 <p>Possible <em>CalculationMode</em> values: <em>AlgebraicForm, BinaryForm or SetTheoreticForm</em>. Default
 | 
| 
 | 
   235 <em>CalculationMode</em> value: <em>AlgebraicForm</em>. Default <em>SkipValuesCheck</em> value: <em>0</em>.</p>
 | 
| 
 | 
   236 </dd>
 | 
| 
 | 
   237 <dt><strong><a name="dicesimilaritycoefficient" class="item"><strong>DiceSimilarityCoefficient</strong></a></strong></dt>
 | 
| 
 | 
   238 <dd>
 | 
| 
 | 
   239 <div class="OptionsBox">
 | 
| 
 | 
   240     $Value = $FingerprintsVector->DiceSimilarityCoefficient(
 | 
| 
 | 
   241               $OtherFingerprintVector, [$CalculationMode, $SkipValuesCheck]);
 | 
| 
 | 
   242 <br/>    $Value = Fingerprints::FingerprintsVector::DiceSimilarityCoefficient(
 | 
| 
 | 
   243               $FingerprintsVectorA, $FingerprintVectorB,
 | 
| 
 | 
   244               [$CalculationMode, $SkipValuesCheck]);</div>
 | 
| 
 | 
   245 <p>Returns value of <em>Dice</em> similarity coefficient between two <em>FingerprintsVectors</em> using
 | 
| 
 | 
   246 optionally specified <em>CalculationMode</em> and optional checking of vector values.</p>
 | 
| 
 | 
   247 <p>Possible <em>CalculationMode</em> values: <em>AlgebraicForm, BinaryForm or SetTheoreticForm</em>. Default
 | 
| 
 | 
   248 <em>CalculationMode</em> value: <em>AlgebraicForm</em>. Default <em>SkipValuesCheck</em> value: <em>0</em>.</p>
 | 
| 
 | 
   249 </dd>
 | 
| 
 | 
   250 <dt><strong><a name="euclideandistancecoefficient" class="item"><strong>EuclideanDistanceCoefficient</strong></a></strong></dt>
 | 
| 
 | 
   251 <dd>
 | 
| 
 | 
   252 <div class="OptionsBox">
 | 
| 
 | 
   253     $Value = $FingerprintsVector->EuclideanDistanceCoefficient(
 | 
| 
 | 
   254               $OtherFingerprintVector, [$CalculationMode, $SkipValuesCheck]);
 | 
| 
 | 
   255 <br/>    $Value = Fingerprints::FingerprintsVector::EuclideanDistanceCoefficient(
 | 
| 
 | 
   256               $FingerprintsVectorA, $FingerprintVectorB,
 | 
| 
 | 
   257               [$CalculationMode, $SkipValuesCheck]);</div>
 | 
| 
 | 
   258 <p>Returns value of <em>Euclidean</em> distance coefficient between two <em>FingerprintsVectors</em> using
 | 
| 
 | 
   259 optionally specified <em>CalculationMode</em> and optional checking of vector values.</p>
 | 
| 
 | 
   260 <p>Possible <em>CalculationMode</em> values: <em>AlgebraicForm, BinaryForm or SetTheoreticForm</em>. Default
 | 
| 
 | 
   261 <em>CalculationMode</em> value: <em>AlgebraicForm</em>. Default <em>SkipValuesCheck</em> value: <em>0</em>.</p>
 | 
| 
 | 
   262 </dd>
 | 
| 
 | 
   263 <dt><strong><a name="getdescription" class="item"><strong>GetDescription</strong></a></strong></dt>
 | 
| 
 | 
   264 <dd>
 | 
| 
 | 
   265 <div class="OptionsBox">
 | 
| 
 | 
   266     $Description = $FingerprintsVector->GetDescription();</div>
 | 
| 
 | 
   267 <p>Returns a string containing description of fingerprints vector.</p>
 | 
| 
 | 
   268 </dd>
 | 
| 
 | 
   269 <dt><strong><a name="getfingerprintsvectorstring" class="item"><strong>GetFingerprintsVectorString</strong></a></strong></dt>
 | 
| 
 | 
   270 <dd>
 | 
| 
 | 
   271 <div class="OptionsBox">
 | 
| 
 | 
   272     $FPString = $FingerprintsVector->GetFingerprintsVectorString($Format);</div>
 | 
| 
 | 
   273 <p>Returns a <strong>FingerprintsString</strong> containing vector values and/or IDs in <em>FingerprintsVector</em>
 | 
| 
 | 
   274 corresponding to specified <em>Format</em>.</p>
 | 
| 
 | 
   275 <p>Possible <em>Format</em> values: <em>IDsAndValuesString, IDsAndValues, IDsAndValuesPairsString,
 | 
| 
 | 
   276 IDsAndValuesPairs, ValuesAndIDsString, ValuesAndIDs, ValuesAndIDsPairsString, ValuesAndIDsPairs,
 | 
| 
 | 
   277 ValueIDsString, ValueIDs, ValuesString, or Values</em>.</p>
 | 
| 
 | 
   278 </dd>
 | 
| 
 | 
   279 <dt><strong><a name="getid" class="item"><strong>GetID</strong></a></strong></dt>
 | 
| 
 | 
   280 <dd>
 | 
| 
 | 
   281 <div class="OptionsBox">
 | 
| 
 | 
   282     $ID = $FingerprintsVector->GetID();</div>
 | 
| 
 | 
   283 <p>Returns <em>ID</em> of <em>FingerprintsVector</em>.</p>
 | 
| 
 | 
   284 </dd>
 | 
| 
 | 
   285 <dt><strong><a name="getvectortype" class="item"><strong>GetVectorType</strong></a></strong></dt>
 | 
| 
 | 
   286 <dd>
 | 
| 
 | 
   287 <div class="OptionsBox">
 | 
| 
 | 
   288     $VectorType = $FingerprintsVector->GetVectorType();</div>
 | 
| 
 | 
   289 <p>Returns <em>VectorType</em> of <em>FingerprintsVector</em>.</p>
 | 
| 
 | 
   290 </dd>
 | 
| 
 | 
   291 <dt><strong><a name="getidsandvaluespairsstring" class="item"><strong>GetIDsAndValuesPairsString</strong></a></strong></dt>
 | 
| 
 | 
   292 <dd>
 | 
| 
 | 
   293 <div class="OptionsBox">
 | 
| 
 | 
   294     $IDsValuesPairsString = $FingerprintsVector->GetIDsAndValuesPairsString();</div>
 | 
| 
 | 
   295 <p>Returns <em>FingerprintsVector</em> value IDs and values as space delimited ID/value pair
 | 
| 
 | 
   296 string.</p>
 | 
| 
 | 
   297 </dd>
 | 
| 
 | 
   298 <dt><strong><a name="getidsandvaluesstring" class="item"><strong>GetIDsAndValuesString</strong></a></strong></dt>
 | 
| 
 | 
   299 <dd>
 | 
| 
 | 
   300 <div class="OptionsBox">
 | 
| 
 | 
   301     $IDsValuesString = $FingerprintsVector->GetIDsAndValuesString();</div>
 | 
| 
 | 
   302 <p>Returns <em>FingerprintsVector</em> value IDs and values as string containing space delimited IDs followed by
 | 
| 
 | 
   303 values with semicolon as IDs and values delimiter.</p>
 | 
| 
 | 
   304 </dd>
 | 
| 
 | 
   305 <dt><strong><a name="getnumofnonzerovalues" class="item"><strong>GetNumOfNonZeroValues</strong></a></strong></dt>
 | 
| 
 | 
   306 <dd>
 | 
| 
 | 
   307 <div class="OptionsBox">
 | 
| 
 | 
   308     $NumOfNonZeroValues = $FingerprintsVector->GetNumOfNonZeroValues();</div>
 | 
| 
 | 
   309 <p>Returns number of non-zero values in <em>FingerprintsVector</em>.</p>
 | 
| 
 | 
   310 </dd>
 | 
| 
 | 
   311 <dt><strong><a name="getnumofvalueids" class="item"><strong>GetNumOfValueIDs</strong></a></strong></dt>
 | 
| 
 | 
   312 <dd>
 | 
| 
 | 
   313 <div class="OptionsBox">
 | 
| 
 | 
   314     $NumOfValueIDs = $FingerprintsVector->GetNumOfValueIDs();</div>
 | 
| 
 | 
   315 <p>Returns number of value IDs <em>FingerprintsVector</em>.</p>
 | 
| 
 | 
   316 </dd>
 | 
| 
 | 
   317 <dt><strong><a name="getnumofvalues" class="item"><strong>GetNumOfValues</strong></a></strong></dt>
 | 
| 
 | 
   318 <dd>
 | 
| 
 | 
   319 <div class="OptionsBox">
 | 
| 
 | 
   320     $NumOfValues = $FingerprintsVector->GetNumOfValues();</div>
 | 
| 
 | 
   321 <p>Returns number of values <em>FingerprintsVector</em>.</p>
 | 
| 
 | 
   322 </dd>
 | 
| 
 | 
   323 <dt><strong><a name="getsupporteddistanceandsimilaritycoefficients" class="item"><strong>GetSupportedDistanceAndSimilarityCoefficients</strong></a></strong></dt>
 | 
| 
 | 
   324 <dd>
 | 
| 
 | 
   325 <div class="OptionsBox">
 | 
| 
 | 
   326     @SupportedDistanceAndSimilarityCoefficientsReturn =
 | 
| 
 | 
   327 <br/>            Fingerprints::FingerprintsVector::GetSupportedDistanceAndSimilarityCoefficients();</div>
 | 
| 
 | 
   328 <p>Returns an array containing names of supported distance and similarity coefficients.</p>
 | 
| 
 | 
   329 </dd>
 | 
| 
 | 
   330 <dt><strong><a name="getsupporteddistancecoefficients" class="item"><strong>GetSupportedDistanceCoefficients</strong></a></strong></dt>
 | 
| 
 | 
   331 <dd>
 | 
| 
 | 
   332 <div class="OptionsBox">
 | 
| 
 | 
   333     @SupportedDistanceCoefficientsReturn =
 | 
| 
 | 
   334 <br/>            Fingerprints::FingerprintsVector::GetSupportedDistanceCoefficients();</div>
 | 
| 
 | 
   335 <p>Returns an array containing names of supported disyance coefficients.</p>
 | 
| 
 | 
   336 </dd>
 | 
| 
 | 
   337 <dt><strong><a name="getsupportedsimilaritycoefficients" class="item"><strong>GetSupportedSimilarityCoefficients</strong></a></strong></dt>
 | 
| 
 | 
   338 <dd>
 | 
| 
 | 
   339 <div class="OptionsBox">
 | 
| 
 | 
   340     @SupportedSimilarityCoefficientsReturn =
 | 
| 
 | 
   341 <br/>            Fingerprints::FingerprintsVector::GetSupportedSimilarityCoefficients();</div>
 | 
| 
 | 
   342 <p>Returns an array containing names of supported similarity coefficients.</p>
 | 
| 
 | 
   343 </dd>
 | 
| 
 | 
   344 <dt><strong><a name="gettype" class="item"><strong>GetType</strong></a></strong></dt>
 | 
| 
 | 
   345 <dd>
 | 
| 
 | 
   346 <div class="OptionsBox">
 | 
| 
 | 
   347     $VectorType = $FingerprintsVector->GetType();</div>
 | 
| 
 | 
   348 <p>Returns <em>FingerprintsVector</em> vector type.</p>
 | 
| 
 | 
   349 </dd>
 | 
| 
 | 
   350 <dt><strong><a name="getvalue" class="item"><strong>GetValue</strong></a></strong></dt>
 | 
| 
 | 
   351 <dd>
 | 
| 
 | 
   352 <div class="OptionsBox">
 | 
| 
 | 
   353     $Value = $FingerprintsVector->GetValue($Index);</div>
 | 
| 
 | 
   354 <p>Returns fingerprints vector <strong>Value</strong> specified using <em>Index</em> starting at 0.</p>
 | 
| 
 | 
   355 </dd>
 | 
| 
 | 
   356 <dt><strong><a name="getvalueid" class="item"><strong>GetValueID</strong></a></strong></dt>
 | 
| 
 | 
   357 <dd>
 | 
| 
 | 
   358 <div class="OptionsBox">
 | 
| 
 | 
   359     $ValueID = $FingerprintsVector->GetValueID();</div>
 | 
| 
 | 
   360 <p>Returns fingerprints vector <strong>ValueID</strong> specified using <em>Index</em> starting at 0.</p>
 | 
| 
 | 
   361 </dd>
 | 
| 
 | 
   362 <dt><strong><a name="getvalueids" class="item"><strong>GetValueIDs</strong></a></strong></dt>
 | 
| 
 | 
   363 <dd>
 | 
| 
 | 
   364 <div class="OptionsBox">
 | 
| 
 | 
   365     $ValueIDs = $FingerprintsVector->GetValueIDs();
 | 
| 
 | 
   366 <br/>    @ValueIDs = $FingerprintsVector->GetValueIDs();</div>
 | 
| 
 | 
   367 <p>Returns fingerprints vector <strong>ValueIDs</strong> as an array or reference to an array.</p>
 | 
| 
 | 
   368 </dd>
 | 
| 
 | 
   369 <dt><strong><a name="getvalueidsstring" class="item"><strong>GetValueIDsString</strong></a></strong></dt>
 | 
| 
 | 
   370 <dd>
 | 
| 
 | 
   371 <div class="OptionsBox">
 | 
| 
 | 
   372     $ValueIDsString = $FingerprintsVector->GetValueIDsString();</div>
 | 
| 
 | 
   373 <p>Returns fingerprints vector <strong>ValueIDsString</strong> with value IDs delimited by space.</p>
 | 
| 
 | 
   374 </dd>
 | 
| 
 | 
   375 <dt><strong><a name="getvalues" class="item"><strong>GetValues</strong></a></strong></dt>
 | 
| 
 | 
   376 <dd>
 | 
| 
 | 
   377 <div class="OptionsBox">
 | 
| 
 | 
   378     $ValuesRef = $FingerprintsVector->GetValues();
 | 
| 
 | 
   379 <br/>    @Values = $FingerprintsVector->GetValues();</div>
 | 
| 
 | 
   380 <p>Returns fingerprints vector <strong>Values</strong> as an array or reference to an array.</p>
 | 
| 
 | 
   381 </dd>
 | 
| 
 | 
   382 <dt><strong><a name="getvaluesandidspairsstring" class="item"><strong>GetValuesAndIDsPairsString</strong></a></strong></dt>
 | 
| 
 | 
   383 <dd>
 | 
| 
 | 
   384 <div class="OptionsBox">
 | 
| 
 | 
   385     $ValuesIDsPairsString = $FingerprintsVector->GetValuesAndIDsPairsString();</div>
 | 
| 
 | 
   386 <p>Returns <em>FingerprintsVector</em> value and value IDs as space delimited ID/value pair
 | 
| 
 | 
   387 string.</p>
 | 
| 
 | 
   388 </dd>
 | 
| 
 | 
   389 <dt><strong><a name="getvaluesandidsstring" class="item"><strong>GetValuesAndIDsString</strong></a></strong></dt>
 | 
| 
 | 
   390 <dd>
 | 
| 
 | 
   391 <div class="OptionsBox">
 | 
| 
 | 
   392     $ValuesIDsString = $FingerprintsVector->GetValuesAndIDsString();</div>
 | 
| 
 | 
   393 <p>Returns <em>FingerprintsVector</em> values and value IDs as string containing space delimited IDs followed by
 | 
| 
 | 
   394 values with semicolon as IDs and values delimiter.</p>
 | 
| 
 | 
   395 </dd>
 | 
| 
 | 
   396 <dt><strong><a name="getvaluesstring" class="item"><strong>GetValuesString</strong></a></strong></dt>
 | 
| 
 | 
   397 <dd>
 | 
| 
 | 
   398 <div class="OptionsBox">
 | 
| 
 | 
   399     $Return = $FingerprintsVector->GetValuesString();</div>
 | 
| 
 | 
   400 <p>Returns <em>FingerprintsVector</em> values as space delimited string.</p>
 | 
| 
 | 
   401 </dd>
 | 
| 
 | 
   402 <dt><strong><a name="hammingdistancecoefficient" class="item"><strong>HammingDistanceCoefficient</strong></a></strong></dt>
 | 
| 
 | 
   403 <dd>
 | 
| 
 | 
   404 <div class="OptionsBox">
 | 
| 
 | 
   405     $Value = $FingerprintsVector->HammingDistanceCoefficient(
 | 
| 
 | 
   406               $OtherFingerprintVector, [$CalculationMode, $SkipValuesCheck]);
 | 
| 
 | 
   407 <br/>    $Value = Fingerprints::FingerprintsVector::HammingDistanceCoefficient(
 | 
| 
 | 
   408               $FingerprintsVectorA, $FingerprintVectorB,
 | 
| 
 | 
   409               [$CalculationMode, $SkipValuesCheck]);</div>
 | 
| 
 | 
   410 <p>Returns value of <em>Hamming</em> distance coefficient between two <em>FingerprintsVectors</em> using
 | 
| 
 | 
   411 optionally specified <em>CalculationMode</em> and optional checking of vector values.</p>
 | 
| 
 | 
   412 <p>Possible <em>CalculationMode</em> values: <em>AlgebraicForm, BinaryForm or SetTheoreticForm</em>. Default
 | 
| 
 | 
   413 <em>CalculationMode</em> value: <em>AlgebraicForm</em>. Default <em>SkipValuesCheck</em> value: <em>0</em>.</p>
 | 
| 
 | 
   414 </dd>
 | 
| 
 | 
   415 <dt><strong><a name="isfingerprintsvector" class="item"><strong>IsFingerprintsVector</strong></a></strong></dt>
 | 
| 
 | 
   416 <dd>
 | 
| 
 | 
   417 <div class="OptionsBox">
 | 
| 
 | 
   418     $Status = Fingerprints::FingerprintsVector::IsFingerprintsVector($Object);</div>
 | 
| 
 | 
   419 <p>Returns 1 or 0 based on whether <em>Object</em> is a <em>FingerprintsVector</em>.</p>
 | 
| 
 | 
   420 </dd>
 | 
| 
 | 
   421 <dt><strong><a name="jaccardsimilaritycoefficient" class="item"><strong>JaccardSimilarityCoefficient</strong></a></strong></dt>
 | 
| 
 | 
   422 <dd>
 | 
| 
 | 
   423 <div class="OptionsBox">
 | 
| 
 | 
   424     $Value = $FingerprintsVector->JaccardSimilarityCoefficient(
 | 
| 
 | 
   425               $OtherFingerprintVector, [$CalculationMode, $SkipValuesCheck]);
 | 
| 
 | 
   426 <br/>    $Value = Fingerprints::FingerprintsVector::JaccardSimilarityCoefficient(
 | 
| 
 | 
   427               $FingerprintsVectorA, $FingerprintVectorB,
 | 
| 
 | 
   428               [$CalculationMode, $SkipValuesCheck]);</div>
 | 
| 
 | 
   429 <p>Returns value of <em>Jaccard</em> similarity coefficient between two <em>FingerprintsVectors</em> using
 | 
| 
 | 
   430 optionally specified <em>CalculationMode</em> and optional checking of vector values.</p>
 | 
| 
 | 
   431 <p>Possible <em>CalculationMode</em> values: <em>AlgebraicForm, BinaryForm or SetTheoreticForm</em>. Default
 | 
| 
 | 
   432 <em>CalculationMode</em> value: <em>AlgebraicForm</em>. Default <em>SkipValuesCheck</em> value: <em>0</em>.</p>
 | 
| 
 | 
   433 </dd>
 | 
| 
 | 
   434 <dt><strong><a name="manhattandistancecoefficient" class="item"><strong>ManhattanDistanceCoefficient</strong></a></strong></dt>
 | 
| 
 | 
   435 <dd>
 | 
| 
 | 
   436 <div class="OptionsBox">
 | 
| 
 | 
   437     $Value = $FingerprintsVector->ManhattanDistanceCoefficient(
 | 
| 
 | 
   438               $OtherFingerprintVector, [$CalculationMode, $SkipValuesCheck]);
 | 
| 
 | 
   439 <br/>    $Value = Fingerprints::FingerprintsVector::ManhattanDistanceCoefficient(
 | 
| 
 | 
   440               $FingerprintsVectorA, $FingerprintVectorB,
 | 
| 
 | 
   441               [$CalculationMode, $SkipValuesCheck]);</div>
 | 
| 
 | 
   442 <p>Returns value of <em>Manhattan</em> distance coefficient between two <em>FingerprintsVectors</em> using
 | 
| 
 | 
   443 optionally specified <em>CalculationMode</em> and optional checking of vector values.</p>
 | 
| 
 | 
   444 <p>Possible <em>CalculationMode</em> values: <em>AlgebraicForm, BinaryForm or SetTheoreticForm</em>. Default
 | 
| 
 | 
   445 <em>CalculationMode</em> value: <em>AlgebraicForm</em>. Default <em>SkipValuesCheck</em> value: <em>0</em>.</p>
 | 
| 
 | 
   446 </dd>
 | 
| 
 | 
   447 <dt><strong><a name="newfromidsandvaluespairsstring" class="item"><strong>NewFromIDsAndValuesPairsString</strong></a></strong></dt>
 | 
| 
 | 
   448 <dd>
 | 
| 
 | 
   449 <div class="OptionsBox">
 | 
| 
 | 
   450     $FingerprintsVector = $FingerprintsVector->NewFromIDsAndValuesPairsString(
 | 
| 
 | 
   451                           $ValuesType, $IDsAndValuesPairsString);
 | 
| 
 | 
   452 <br/>    $FingerprintsVector = Fingerprints::FingerprintsVector::NewFromIDsAndValuesPairsString(
 | 
| 
 | 
   453                           $ValuesType, $IDsAndValuesPairsString);</div>
 | 
| 
 | 
   454 <p>Creates a new <em>FingerprintsVector</em> of <em>ValuesType</em> using <em>IDsAndValuesPairsString</em> containing
 | 
| 
 | 
   455 space delimited value IDs and values pairs and returns new <strong>FingerprintsVector</strong> object.
 | 
| 
 | 
   456 Possible <em>ValuesType</em> values: <em>OrderedNumericalValues, NumericalValues, or AlphaNumericalValues</em>.</p>
 | 
| 
 | 
   457 </dd>
 | 
| 
 | 
   458 <dt><strong><a name="newfromidsandvaluesstring" class="item"><strong>NewFromIDsAndValuesString</strong></a></strong></dt>
 | 
| 
 | 
   459 <dd>
 | 
| 
 | 
   460 <div class="OptionsBox">
 | 
| 
 | 
   461     $FingerprintsVector = $FingerprintsVector->NewFromIDsAndValuesString(
 | 
| 
 | 
   462                           $ValuesType, $IDsAndValuesString);
 | 
| 
 | 
   463 <br/>    $FingerprintsVector = Fingerprints::FingerprintsVector::NewFromIDsAndValuesString(
 | 
| 
 | 
   464                           $ValuesType, $IDsAndValuesString);</div>
 | 
| 
 | 
   465 <p>Creates a new <em>FingerprintsVector</em> of <em>ValuesType</em> using <em>IDsAndValuesString</em> containing
 | 
| 
 | 
   466 semicolon delimited value IDs string followed by values strings and returns new <strong>FingerprintsVector</strong>
 | 
| 
 | 
   467 object. The values within value and value IDs tring are delimited by spaces. Possible <em>ValuesType</em>
 | 
| 
 | 
   468 values: <em>OrderedNumericalValues, NumericalValues, or AlphaNumericalValues</em>.</p>
 | 
| 
 | 
   469 </dd>
 | 
| 
 | 
   470 <dt><strong><a name="newfromvaluesandidspairsstring" class="item"><strong>NewFromValuesAndIDsPairsString</strong></a></strong></dt>
 | 
| 
 | 
   471 <dd>
 | 
| 
 | 
   472 <div class="OptionsBox">
 | 
| 
 | 
   473     $FingerprintsVector = $FingerprintsVector->NewFromValuesAndIDsPairsString(
 | 
| 
 | 
   474                           $ValuesType, $ValuesAndIDsPairsString);
 | 
| 
 | 
   475 <br/>    $FingerprintsVector = Fingerprints::FingerprintsVector::NewFromValuesAndIDsPairsString(
 | 
| 
 | 
   476                           $ValuesType, $ValuesAndIDsPairsString);</div>
 | 
| 
 | 
   477 <p>Creates a new <em>FingerprintsVector</em> of <em>ValuesType</em> using <em>ValuesAndIDsPairsString</em> containing
 | 
| 
 | 
   478 space delimited value and value IDs pairs and returns new <strong>FingerprintsVector</strong> object.
 | 
| 
 | 
   479 Possible <em>ValuesType</em> values: <em>OrderedNumericalValues, NumericalValues, or AlphaNumericalValues</em>.</p>
 | 
| 
 | 
   480 </dd>
 | 
| 
 | 
   481 <dt><strong><a name="newfromvaluesandidsstring" class="item"><strong>NewFromValuesAndIDsString</strong></a></strong></dt>
 | 
| 
 | 
   482 <dd>
 | 
| 
 | 
   483 <div class="OptionsBox">
 | 
| 
 | 
   484     $FingerprintsVector = $FingerprintsVector->NewFromValuesAndIDsString(
 | 
| 
 | 
   485                           $ValuesType, $IDsAndValuesString);
 | 
| 
 | 
   486 <br/>    $FingerprintsVector = Fingerprints::FingerprintsVector::NewFromValuesAndIDsString(
 | 
| 
 | 
   487                           $ValuesType, $IDsAndValuesString);</div>
 | 
| 
 | 
   488 <p>Creates a new <em>FingerprintsVector</em> of <em>ValuesType</em> using <em>ValuesAndIDsString</em> containing
 | 
| 
 | 
   489 semicolon delimited values string followed by value IDs strings and returns new <strong>FingerprintsVector</strong>
 | 
| 
 | 
   490 object. The values within values and value IDs tring are delimited by spaces. Possible <em>ValuesType</em>
 | 
| 
 | 
   491 values: <em>OrderedNumericalValues, NumericalValues, or AlphaNumericalValues</em>.</p>
 | 
| 
 | 
   492 </dd>
 | 
| 
 | 
   493 <dt><strong><a name="newfromvaluesstring" class="item"><strong>NewFromValuesString</strong></a></strong></dt>
 | 
| 
 | 
   494 <dd>
 | 
| 
 | 
   495 <div class="OptionsBox">
 | 
| 
 | 
   496     $FingerprintsVector = $FingerprintsVector->NewFromValuesString(
 | 
| 
 | 
   497                           $ValuesType, $ValuesString);
 | 
| 
 | 
   498 <br/>    $FingerprintsVector = Fingerprints::FingerprintsVector::NewFromValuesString(
 | 
| 
 | 
   499                           $ValuesType, $ValuesString);</div>
 | 
| 
 | 
   500 <p>Creates a new <em>FingerprintsVector</em> of <em>ValuesType</em> using <em>ValuesString</em> containing space
 | 
| 
 | 
   501 delimited values string and returns new <strong>FingerprintsVector</strong> object. The values within values
 | 
| 
 | 
   502 and value IDs tring are delimited by spaces. Possible <em>ValuesType</em> values: <em>OrderedNumericalValues,
 | 
| 
 | 
   503 NumericalValues, or AlphaNumericalValues</em>.</p>
 | 
| 
 | 
   504 </dd>
 | 
| 
 | 
   505 <dt><strong><a name="ochiaisimilaritycoefficient" class="item"><strong>OchiaiSimilarityCoefficient</strong></a></strong></dt>
 | 
| 
 | 
   506 <dd>
 | 
| 
 | 
   507 <div class="OptionsBox">
 | 
| 
 | 
   508     $Value = $FingerprintsVector->OchiaiSimilarityCoefficient(
 | 
| 
 | 
   509               $OtherFingerprintVector, [$CalculationMode, $SkipValuesCheck]);
 | 
| 
 | 
   510 <br/>    $Value = Fingerprints::FingerprintsVector::OchiaiSimilarityCoefficient(
 | 
| 
 | 
   511               $FingerprintsVectorA, $FingerprintVectorB,
 | 
| 
 | 
   512               [$CalculationMode, $SkipValuesCheck]);</div>
 | 
| 
 | 
   513 <p>Returns value of <em>Ochiai</em> similarity coefficient between two <em>FingerprintsVectors</em> using
 | 
| 
 | 
   514 optionally specified <em>CalculationMode</em> and optional checking of vector values.</p>
 | 
| 
 | 
   515 <p>Possible <em>CalculationMode</em> values: <em>AlgebraicForm, BinaryForm or SetTheoreticForm</em>. Default
 | 
| 
 | 
   516 <em>CalculationMode</em> value: <em>AlgebraicForm</em>. Default <em>SkipValuesCheck</em> value: <em>0</em>.</p>
 | 
| 
 | 
   517 </dd>
 | 
| 
 | 
   518 <dt><strong><a name="setdescription" class="item"><strong>SetDescription</strong></a></strong></dt>
 | 
| 
 | 
   519 <dd>
 | 
| 
 | 
   520 <div class="OptionsBox">
 | 
| 
 | 
   521     $FingerprintsVector->SetDescription($Description);</div>
 | 
| 
 | 
   522 <p>Sets <em>Description</em> of fingerprints vector and returns <em>FingerprintsVector</em>.</p>
 | 
| 
 | 
   523 </dd>
 | 
| 
 | 
   524 <dt><strong><a name="setid" class="item"><strong>SetID</strong></a></strong></dt>
 | 
| 
 | 
   525 <dd>
 | 
| 
 | 
   526 <div class="OptionsBox">
 | 
| 
 | 
   527     $FingerprintsVector->SetID($ID);</div>
 | 
| 
 | 
   528 <p>Sets <em>ID</em> of fingerprints vector and returns <em>FingerprintsVector</em>.</p>
 | 
| 
 | 
   529 </dd>
 | 
| 
 | 
   530 <dt><strong><a name="setvectortype" class="item"><strong>SetVectorType</strong></a></strong></dt>
 | 
| 
 | 
   531 <dd>
 | 
| 
 | 
   532 <div class="OptionsBox">
 | 
| 
 | 
   533     $FingerprintsVector->SetVectorType($VectorType);</div>
 | 
| 
 | 
   534 <p>Sets <em>VectorType</em> of fingerprints vector and returns <em>FingerprintsVector</em>.</p>
 | 
| 
 | 
   535 </dd>
 | 
| 
 | 
   536 <dt><strong><a name="settype" class="item"><strong>SetType</strong></a></strong></dt>
 | 
| 
 | 
   537 <dd>
 | 
| 
 | 
   538 <div class="OptionsBox">
 | 
| 
 | 
   539     $FingerprintsVector->SetType($Type);</div>
 | 
| 
 | 
   540 <p>Sets <em>FingerprintsVector</em> values <em>Type</em> and returns <em>FingerprintsVector</em>. Possible <em>Type</em>
 | 
| 
 | 
   541 values: <em>OrderedNumericalValues, NumericalValues, or AlphaNumericalValues</em>.</p>
 | 
| 
 | 
   542 <p>During calculation of similarity and distance coefficients between two <em>FingerprintsVectors</em>, the
 | 
| 
 | 
   543 following conditions apply to vector type, size, value and value IDs:</p>
 | 
| 
 | 
   544 <div class="OptionsBox">
 | 
| 
 | 
   545     o For OrderedNumericalValues type, both vectors must be of the same size
 | 
| 
 | 
   546       and contain similar types of numerical values in the same order.</div>
 | 
| 
 | 
   547 <div class="OptionsBox">
 | 
| 
 | 
   548     o For NumericalValues type, vector value IDs for both vectors must be
 | 
| 
 | 
   549       specified; however, their size and order of IDs and numerical values may
 | 
| 
 | 
   550       be different. For each vector, value IDs must correspond to vector values.</div>
 | 
| 
 | 
   551 <div class="OptionsBox">
 | 
| 
 | 
   552     o For AlphaNumericalValues type, vectors may contain both numerical and
 | 
| 
 | 
   553       alphanumerical values and their sizes may be different.</div>
 | 
| 
 | 
   554 </dd>
 | 
| 
 | 
   555 <dt><strong><a name="setvalue" class="item"><strong>SetValue</strong></a></strong></dt>
 | 
| 
 | 
   556 <dd>
 | 
| 
 | 
   557 <div class="OptionsBox">
 | 
| 
 | 
   558     $FingerprintsVector->SetValue($Index, $Value, [$SkipIndexCheck]);</div>
 | 
| 
 | 
   559 <p>Sets a <em>FingerprintsVector</em> value specified by <em>Index</em> starting at 0 to <em>Value</em> along with
 | 
| 
 | 
   560 optional index range check and returns <em>FingerprintsVector</em>.</p>
 | 
| 
 | 
   561 </dd>
 | 
| 
 | 
   562 <dt><strong><a name="setvalueid" class="item"><strong>SetValueID</strong></a></strong></dt>
 | 
| 
 | 
   563 <dd>
 | 
| 
 | 
   564 <div class="OptionsBox">
 | 
| 
 | 
   565     $FingerprintsVector->SetValueID($Index, $ValueID, [$SkipIndexCheck]);</div>
 | 
| 
 | 
   566 <p>Sets a <em>FingerprintsVector</em> value ID specified by <em>Index</em> starting at 0 to <em>ValueID</em> along with
 | 
| 
 | 
   567 optional index range check and returns <em>FingerprintsVector</em>.</p>
 | 
| 
 | 
   568 </dd>
 | 
| 
 | 
   569 <dt><strong><a name="setvalueids" class="item"><strong>SetValueIDs</strong></a></strong></dt>
 | 
| 
 | 
   570 <dd>
 | 
| 
 | 
   571 <div class="OptionsBox">
 | 
| 
 | 
   572     $FingerprintsVector->SetValueIDs($ValueIDsRef);
 | 
| 
 | 
   573 <br/>    $FingerprintsVector->SetValueIDs(@ValueIDs);</div>
 | 
| 
 | 
   574 <p>Sets <em>FingerprintsVector</em> value IDs to specified <em>ValueIDs</em> and returns <em>FingerprintsVector</em>.</p>
 | 
| 
 | 
   575 </dd>
 | 
| 
 | 
   576 <dt><strong><a name="setvalues" class="item"><strong>SetValues</strong></a></strong></dt>
 | 
| 
 | 
   577 <dd>
 | 
| 
 | 
   578 <div class="OptionsBox">
 | 
| 
 | 
   579     $FingerprintsVector->SetValues($ValuesRef);
 | 
| 
 | 
   580 <br/>    $FingerprintsVector->SetValues(@Values);</div>
 | 
| 
 | 
   581 <p>Sets <em>FingerprintsVector</em> value to specified <em>Values</em> and returns <em>FingerprintsVector</em>.</p>
 | 
| 
 | 
   582 </dd>
 | 
| 
 | 
   583 <dt><strong><a name="soergeldistancecoefficient" class="item"><strong>SoergelDistanceCoefficient</strong></a></strong></dt>
 | 
| 
 | 
   584 <dd>
 | 
| 
 | 
   585 <div class="OptionsBox">
 | 
| 
 | 
   586     $Value = $FingerprintsVector->SoergelDistanceCoefficient(
 | 
| 
 | 
   587               $OtherFingerprintVector, [$CalculationMode, $SkipValuesCheck]);
 | 
| 
 | 
   588 <br/>    $Value = Fingerprints::FingerprintsVector::SoergelDistanceCoefficient(
 | 
| 
 | 
   589               $FingerprintsVectorA, $FingerprintVectorB,
 | 
| 
 | 
   590               [$CalculationMode, $SkipValuesCheck]);</div>
 | 
| 
 | 
   591 <p>Returns value of <em>Soergel</em> distance coefficient between two <em>FingerprintsVectors</em> using
 | 
| 
 | 
   592 optionally specified <em>CalculationMode</em> and optional checking of vector values.</p>
 | 
| 
 | 
   593 <p>Possible <em>CalculationMode</em> values: <em>AlgebraicForm, BinaryForm or SetTheoreticForm</em>. Default
 | 
| 
 | 
   594 <em>CalculationMode</em> value: <em>AlgebraicForm</em>. Default <em>SkipValuesCheck</em> value: <em>0</em>.</p>
 | 
| 
 | 
   595 </dd>
 | 
| 
 | 
   596 <dt><strong><a name="sorensonsimilaritycoefficient" class="item"><strong>SorensonSimilarityCoefficient</strong></a></strong></dt>
 | 
| 
 | 
   597 <dd>
 | 
| 
 | 
   598 <div class="OptionsBox">
 | 
| 
 | 
   599     $Value = $FingerprintsVector->SorensonSimilarityCoefficient(
 | 
| 
 | 
   600               $OtherFingerprintVector, [$CalculationMode, $SkipValuesCheck]);
 | 
| 
 | 
   601 <br/>    $Value = Fingerprints::FingerprintsVector::SorensonSimilarityCoefficient(
 | 
| 
 | 
   602               $FingerprintsVectorA, $FingerprintVectorB,
 | 
| 
 | 
   603               [$CalculationMode, $SkipValuesCheck]);</div>
 | 
| 
 | 
   604 <p>Returns value of <em>Sorenson</em> similarity coefficient between two <em>FingerprintsVectors</em> using
 | 
| 
 | 
   605 optionally specified <em>CalculationMode</em> and optional checking of vector values.</p>
 | 
| 
 | 
   606 <p>Possible <em>CalculationMode</em> values: <em>AlgebraicForm, BinaryForm or SetTheoreticForm</em>. Default
 | 
| 
 | 
   607 <em>CalculationMode</em> value: <em>AlgebraicForm</em>. Default <em>SkipValuesCheck</em> value: <em>0</em>.</p>
 | 
| 
 | 
   608 </dd>
 | 
| 
 | 
   609 <dt><strong><a name="tanimotosimilaritycoefficient" class="item"><strong>TanimotoSimilarityCoefficient</strong></a></strong></dt>
 | 
| 
 | 
   610 <dd>
 | 
| 
 | 
   611 <div class="OptionsBox">
 | 
| 
 | 
   612     $Value = $FingerprintsVector->TanimotoSimilarityCoefficient(
 | 
| 
 | 
   613               $OtherFingerprintVector, [$CalculationMode, $SkipValuesCheck]);
 | 
| 
 | 
   614 <br/>    $Value = Fingerprints::FingerprintsVector::TanimotoSimilarityCoefficient(
 | 
| 
 | 
   615               $FingerprintsVectorA, $FingerprintVectorB,
 | 
| 
 | 
   616               [$CalculationMode, $SkipValuesCheck]);</div>
 | 
| 
 | 
   617 <p>Returns value of <em>Tanimoto</em> similarity coefficient between two <em>FingerprintsVectors</em> using
 | 
| 
 | 
   618 optionally specified <em>CalculationMode</em> and optional checking of vector values.</p>
 | 
| 
 | 
   619 <p>Possible <em>CalculationMode</em> values: <em>AlgebraicForm, BinaryForm or SetTheoreticForm</em>. Default
 | 
| 
 | 
   620 <em>CalculationMode</em> value: <em>AlgebraicForm</em>. Default <em>SkipValuesCheck</em> value: <em>0</em>.</p>
 | 
| 
 | 
   621 </dd>
 | 
| 
 | 
   622 <dt><strong><a name="stringifyfingerprintsvector" class="item"><strong>StringifyFingerprintsVector</strong></a></strong></dt>
 | 
| 
 | 
   623 <dd>
 | 
| 
 | 
   624 <div class="OptionsBox">
 | 
| 
 | 
   625     $String = $FingerprintsVector->StringifyFingerprintsVector();</div>
 | 
| 
 | 
   626 <p>Returns a string containing information about <em>FingerprintsVector</em> object.</p>
 | 
| 
 | 
   627 </dd>
 | 
| 
 | 
   628 </dl>
 | 
| 
 | 
   629 <p>
 | 
| 
 | 
   630 </p>
 | 
| 
 | 
   631 <h2>AUTHOR</h2>
 | 
| 
 | 
   632 <p><a href="mailto:msud@san.rr.com">Manish Sud</a></p>
 | 
| 
 | 
   633 <p>
 | 
| 
 | 
   634 </p>
 | 
| 
 | 
   635 <h2>SEE ALSO</h2>
 | 
| 
 | 
   636 <p><a href="./BitVector.html">BitVector.pm</a>, <a href="./FingerprintsStringUtil.html">FingerprintsStringUtil.pm</a>, <a href="./FingerprintsBitVector.html">FingerprintsBitVector.pm</a>, <a href="./Vector.html">Vector.pm</a>
 | 
| 
 | 
   637 </p>
 | 
| 
 | 
   638 <p>
 | 
| 
 | 
   639 </p>
 | 
| 
 | 
   640 <h2>COPYRIGHT</h2>
 | 
| 
 | 
   641 <p>Copyright (C) 2015 Manish Sud. All rights reserved.</p>
 | 
| 
 | 
   642 <p>This file is part of MayaChemTools.</p>
 | 
| 
 | 
   643 <p>MayaChemTools is free software; you can redistribute it and/or modify it under
 | 
| 
 | 
   644 the terms of the GNU Lesser General Public License as published by the Free
 | 
| 
 | 
   645 Software Foundation; either version 3 of the License, or (at your option)
 | 
| 
 | 
   646 any later version.</p>
 | 
| 
 | 
   647 <p> </p><p> </p><div class="DocNav">
 | 
| 
 | 
   648 <table width="100%" border=0 cellpadding=0 cellspacing=2>
 | 
| 
 | 
   649 <tr align="left" valign="top"><td width="33%" align="left"><a href="./FingerprintsStringUtil.html" title="FingerprintsStringUtil.html">Previous</a>  <a href="./index.html" title="Table of Contents">TOC</a>  <a href="./MACCSKeys.html" title="MACCSKeys.html">Next</a></td><td width="34%" align="middle"><strong>March 29, 2015</strong></td><td width="33%" align="right"><strong>Fingerprints::FingerprintsVector.pm</strong></td></tr>
 | 
| 
 | 
   650 </table>
 | 
| 
 | 
   651 </div>
 | 
| 
 | 
   652 <br />
 | 
| 
 | 
   653 <center>
 | 
| 
 | 
   654 <img src="../../images/h2o2.png">
 | 
| 
 | 
   655 </center>
 | 
| 
 | 
   656 </body>
 | 
| 
 | 
   657 </html>
 |