diff docs/modules/txt/FingerprintsVector.txt @ 0:4816e4a8ae95 draft default tip

Uploaded
author deepakjadmin
date Wed, 20 Jan 2016 09:23:18 -0500
parents
children
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/docs/modules/txt/FingerprintsVector.txt	Wed Jan 20 09:23:18 2016 -0500
@@ -0,0 +1,741 @@
+NAME
+    FingerprintsVector
+
+SYNOPSIS
+    use Fingerprints::FingerprintsVector;
+
+    use Fingerprints::FingerprintsVector qw(:all);
+
+DESCRIPTION
+    FingerprintsVector class provides the following methods:
+
+    new, AddValueIDs, AddValues, CityBlockDistanceCoefficient,
+    CosineSimilarityCoefficient, CzekanowskiSimilarityCoefficient,
+    DiceSimilarityCoefficient, EuclideanDistanceCoefficient, GetDescription,
+    GetFingerprintsVectorString, GetID, GetIDsAndValuesPairsString,
+    GetIDsAndValuesString, GetNumOfNonZeroValues, GetNumOfValueIDs,
+    GetNumOfValues, GetSupportedDistanceAndSimilarityCoefficients,
+    GetSupportedDistanceCoefficients, GetSupportedSimilarityCoefficients,
+    GetType, GetValue, GetValueID, GetValueIDs, GetValueIDsString,
+    GetValues, GetValuesAndIDsPairsString, GetValuesAndIDsString,
+    GetValuesString, GetVectorType, HammingDistanceCoefficient,
+    IsFingerprintsVector, JaccardSimilarityCoefficient,
+    ManhattanDistanceCoefficient, NewFromIDsAndValuesPairsString,
+    NewFromIDsAndValuesString, NewFromValuesAndIDsPairsString,
+    NewFromValuesAndIDsString, NewFromValuesString,
+    OchiaiSimilarityCoefficient, SetDescription, SetID, SetType, SetValue,
+    SetValueID, SetValueIDs, SetValues, SetVectorType,
+    SoergelDistanceCoefficient, SorensonSimilarityCoefficient,
+    StringifyFingerprintsVector, TanimotoSimilarityCoefficient
+
+    The methods available to create fingerprints vector from strings and to
+    calculate similarity and distance coefficients between two vectors can
+    also be invoked as class functions.
+
+    FingerprintsVector class provides support to perform comparison between
+    vectors containing three different types of values:
+
+    Type I: OrderedNumericalValues
+
+        o Size of two vectors are same
+        o Vectors contain real values in a specific order. For example: MACCS keys
+          count, Topological pharmacophore atom pairs and so on.
+
+    Type II: UnorderedNumericalValues
+
+        o Size of two vectors might not be same
+        o Vectors contain unordered real value identified by value IDs. For example:
+          Topological atom pairs, Topological atom torsions and so on
+
+    Type III: AlphaNumericalValues
+
+        o Size of two vectors might not be same
+        o Vectors contain unordered alphanumerical values. For example: Extended
+          connectivity fingerprints, atom neighborhood fingerprints.
+
+    Before performing similarity or distance calculations between vectors
+    containing UnorderedNumericalValues or AlphaNumericalValues, the vectors
+    are transformed into vectors containing unique OrderedNumericalValues
+    using value IDs for UnorderedNumericalValues and values itself for
+    AlphaNumericalValues.
+
+    Three forms of similarity and distance calculation between two vectors,
+    specified using CalculationMode option, are supported: *AlgebraicForm,
+    BinaryForm or SetTheoreticForm*.
+
+    For *BinaryForm*, the ordered list of processed final vector values
+    containing the value or count of each unique value type is simply
+    converted into a binary vector containing 1s and 0s corresponding to
+    presence or absence of values before calculating similarity or distance
+    between two vectors.
+
+    For two fingerprint vectors A and B of same size containing
+    OrderedNumericalValues, let:
+
+        N = Number values in A or B
+
+        Xa = Values of vector A
+        Xb = Values of vector B
+
+        Xai = Value of ith element in A
+        Xbi = Value of ith element in B
+
+       SUM = Sum of i over N values
+
+    For SetTheoreticForm of calculation between two vectors, let:
+
+        SetIntersectionXaXb = SUM ( MIN ( Xai, Xbi ) )
+        SetDifferenceXaXb = SUM ( Xai ) + SUM ( Xbi ) - SUM ( MIN ( Xai, Xbi ) )
+
+    For BinaryForm of calculation between two vectors, let:
+
+        Na = Number of bits set to "1" in A = SUM ( Xai )
+        Nb = Number of bits set to "1" in B = SUM ( Xbi )
+        Nc = Number of bits set to "1" in both A and B = SUM ( Xai * Xbi )
+        Nd = Number of bits set to "0" in both A and B
+           = SUM ( 1 - Xai - Xbi + Xai * Xbi)
+
+        N = Number of bits set to "1" or "0" in A or B = Size of A or B = Na + Nb - Nc + Nd
+
+    Additionally, for BinaryForm various values also correspond to:
+
+        Na = | Xa |
+        Nb = | Xb |
+        Nc = | SetIntersectionXaXb |
+        Nd = N - | SetDifferenceXaXb |
+
+        | SetDifferenceXaXb | = N - Nd = Na + Nb - Nc + Nd - Nd = Na + Nb - Nc
+                              =  | Xa | + | Xb | - | SetIntersectionXaXb |
+
+    Various similarity and distance coefficients [ Ref 40, Ref 62, Ref 64 ]
+    for a pair of vectors A and B in *AlgebraicForm, BinaryForm and
+    SetTheoreticForm* are defined as follows:
+
+    CityBlockDistance: ( same as HammingDistance and ManhattanDistance)
+
+    *AlgebraicForm*: SUM ( ABS ( Xai - Xbi ) )
+
+    *BinaryForm*: ( Na - Nc ) + ( Nb - Nc ) = Na + Nb - 2 * Nc
+
+    *SetTheoreticForm*: | SetDifferenceXaXb | - | SetIntersectionXaXb | =
+    SUM ( Xai ) + SUM ( Xbi ) - 2 * ( SUM ( MIN ( Xai, Xbi ) ) )
+
+    CosineSimilarity: ( same as OchiaiSimilarityCoefficient)
+
+    *AlgebraicForm*: SUM ( Xai * Xbi ) / SQRT ( SUM ( Xai ** 2) * SUM ( Xbi
+    ** 2) )
+
+    *BinaryForm*: Nc / SQRT ( Na * Nb)
+
+    *SetTheoreticForm*: | SetIntersectionXaXb | / SQRT ( |Xa| * |Xb| ) = SUM
+    ( MIN ( Xai, Xbi ) ) / SQRT ( SUM ( Xai ) * SUM ( Xbi ) )
+
+    CzekanowskiSimilarity: ( same as DiceSimilarity and SorensonSimilarity)
+
+    *AlgebraicForm*: ( 2 * ( SUM ( Xai * Xbi ) ) ) / ( SUM ( Xai ** 2) + SUM
+    ( Xbi **2 ) )
+
+    *BinaryForm*: 2 * Nc / ( Na + Nb )
+
+    *SetTheoreticForm*: 2 * | SetIntersectionXaXb | / ( |Xa| + |Xb| ) = 2 *
+    ( SUM ( MIN ( Xai, Xbi ) ) ) / ( SUM ( Xai ) + SUM ( Xbi ) )
+
+    DiceSimilarity: ( same as CzekanowskiSimilarity and SorensonSimilarity)
+
+    *AlgebraicForm*: ( 2 * ( SUM ( Xai * Xbi ) ) ) / ( SUM ( Xai ** 2) + SUM
+    ( Xbi **2 ) )
+
+    *BinaryForm*: 2 * Nc / ( Na + Nb )
+
+    *SetTheoreticForm*: 2 * | SetIntersectionXaXb | / ( |Xa| + |Xb| ) = 2 *
+    ( SUM ( MIN ( Xai, Xbi ) ) ) / ( SUM ( Xai ) + SUM ( Xbi ) )
+
+    EuclideanDistance:
+
+    *AlgebraicForm*: SQRT ( SUM ( ( ( Xai - Xbi ) ** 2 ) ) )
+
+    *BinaryForm*: SQRT ( ( Na - Nc ) + ( Nb - Nc ) ) = SQRT ( Na + Nb - 2 *
+    Nc )
+
+    *SetTheoreticForm*: SQRT ( | SetDifferenceXaXb | - | SetIntersectionXaXb
+    | ) = SQRT ( SUM ( Xai ) + SUM ( Xbi ) - 2 * ( SUM ( MIN ( Xai, Xbi ) )
+    ) )
+
+    HammingDistance: ( same as CityBlockDistance and ManhattanDistance)
+
+    *AlgebraicForm*: SUM ( ABS ( Xai - Xbi ) )
+
+    *BinaryForm*: ( Na - Nc ) + ( Nb - Nc ) = Na + Nb - 2 * Nc
+
+    *SetTheoreticForm*: | SetDifferenceXaXb | - | SetIntersectionXaXb | =
+    SUM ( Xai ) + SUM ( Xbi ) - 2 * ( SUM ( MIN ( Xai, Xbi ) ) )
+
+    JaccardSimilarity: ( same as TanimotoSimilarity)
+
+    *AlgebraicForm*: SUM ( Xai * Xbi ) / ( SUM ( Xai ** 2 ) + SUM ( Xbi ** 2
+    ) - SUM ( Xai * Xbi ) )
+
+    *BinaryForm*: Nc / ( ( Na - Nc ) + ( Nb - Nc ) + Nc ) = Nc / ( Na + Nb -
+    Nc )
+
+    *SetTheoreticForm*: | SetIntersectionXaXb | / | SetDifferenceXaXb | =
+    SUM ( MIN ( Xai, Xbi ) ) / ( SUM ( Xai ) + SUM ( Xbi ) - SUM ( MIN (
+    Xai, Xbi ) ) )
+
+    ManhattanDistance: ( same as CityBlockDistance and HammingDistance)
+
+    *AlgebraicForm*: SUM ( ABS ( Xai - Xbi ) )
+
+    *BinaryForm*: ( Na - Nc ) + ( Nb - Nc ) = Na + Nb - 2 * Nc
+
+    *SetTheoreticForm*: | SetDifferenceXaXb | - | SetIntersectionXaXb | =
+    SUM ( Xai ) + SUM ( Xbi ) - 2 * ( SUM ( MIN ( Xai, Xbi ) ) )
+
+    OchiaiSimilarity: ( same as CosineSimilarity)
+
+    *AlgebraicForm*: SUM ( Xai * Xbi ) / SQRT ( SUM ( Xai ** 2) * SUM ( Xbi
+    ** 2) )
+
+    *BinaryForm*: Nc / SQRT ( Na * Nb)
+
+    *SetTheoreticForm*: | SetIntersectionXaXb | / SQRT ( |Xa| * |Xb| ) = SUM
+    ( MIN ( Xai, Xbi ) ) / SQRT ( SUM ( Xai ) * SUM ( Xbi ) )
+
+    SorensonSimilarity: ( same as CzekanowskiSimilarity and DiceSimilarity)
+
+    *AlgebraicForm*: ( 2 * ( SUM ( Xai * Xbi ) ) ) / ( SUM ( Xai ** 2) + SUM
+    ( Xbi **2 ) )
+
+    *BinaryForm*: 2 * Nc / ( Na + Nb )
+
+    *SetTheoreticForm*: 2 * | SetIntersectionXaXb | / ( |Xa| + |Xb| ) = 2 *
+    ( SUM ( MIN ( Xai, Xbi ) ) ) / ( SUM ( Xai ) + SUM ( Xbi ) )
+
+    SoergelDistance:
+
+    *AlgebraicForm*: SUM ( ABS ( Xai - Xbi ) ) / SUM ( MAX ( Xai, Xbi ) )
+
+    *BinaryForm*: 1 - Nc / ( Na + Nb - Nc ) = ( Na + Nb - 2 * Nc ) / ( Na +
+    Nb - Nc )
+
+    *SetTheoreticForm*: ( | SetDifferenceXaXb | - | SetIntersectionXaXb | )
+    / | SetDifferenceXaXb | = ( SUM ( Xai ) + SUM ( Xbi ) - 2 * ( SUM ( MIN
+    ( Xai, Xbi ) ) ) ) / ( SUM ( Xai ) + SUM ( Xbi ) - SUM ( MIN ( Xai, Xbi
+    ) ) )
+
+    TanimotoSimilarity: ( same as JaccardSimilarity)
+
+    *AlgebraicForm*: SUM ( Xai * Xbi ) / ( SUM ( Xai ** 2 ) + SUM ( Xbi ** 2
+    ) - SUM ( Xai * Xbi ) )
+
+    *BinaryForm*: Nc / ( ( Na - Nc ) + ( Nb - Nc ) + Nc ) = Nc / ( Na + Nb -
+    Nc )
+
+    *SetTheoreticForm*: | SetIntersectionXaXb | / | SetDifferenceXaXb | =
+    SUM ( MIN ( Xai, Xbi ) ) / ( SUM ( Xai ) + SUM ( Xbi ) - SUM ( MIN (
+    Xai, Xbi ) ) )
+
+  METHODS
+    new
+            $FPVector = new Fingerprints::FingerprintsVector(%NamesAndValues);
+
+        Using specified *FingerprintsVector* property names and values hash,
+        new method creates a new object and returns a reference to newly
+        created FingerprintsVectorsVector object. By default, the following
+        properties are initialized:
+
+            Type = ''
+            @{Values} = ()
+            @{ValuesIDs} = ()
+
+        Examples:
+
+            $FPVector = new Fingerprints::FingerprintsVector('Type' => 'OrderedNumericalValues',
+                                               'Values' => [1, 2, 3, 4]);
+            $FPVector = new Fingerprints::FingerprintsVector('Type' => 'NumericalValues',
+                                               'Values' => [10, 22, 33, 44],
+                                               'ValueIDs' => ['ID1', 'ID2', 'ID3', 'ID4']);
+            $FPVector = new Fingerprints::FingerprintsVector('Type' => 'AlphaNumericalValues',
+                                               'Values' => ['a1', 2, 'a3', 4]);
+
+    AddValueIDs
+            $FingerprintsVector->AddValueIDs($ValueIDsRef);
+            $FingerprintsVector->AddValueIDs(@ValueIDs);
+
+        Adds specified *ValueIDs* to *FingerprintsVector* and returns
+        *FingerprintsVector*.
+
+    AddValues
+            $FingerprintsVector->AddValues($ValuesRef);
+            $FingerprintsVector->AddValues(@Values);
+            $FingerprintsVector->AddValues($Vector);
+
+        Adds specified *Values* to *FingerprintsVector* and returns
+        *FingerprintsVector*.
+
+    CityBlockDistanceCoefficient
+            $Value = $FingerprintsVector->CityBlockDistanceCoefficient(
+                      $OtherFingerprintVector, [$CalculationMode, $SkipValuesCheck]);
+            $Value = Fingerprints::FingerprintsVector::CityBlockDistanceCoefficient(
+                      $FingerprintsVectorA, $FingerprintVectorB,
+                      [$CalculationMode, $SkipValuesCheck]);
+
+        Returns value of *CityBlock* distance coefficient between two
+        *FingerprintsVectors* using optionally specified *CalculationMode*
+        and optional checking of vector values.
+
+        Possible *CalculationMode* values: *AlgebraicForm, BinaryForm or
+        SetTheoreticForm*. Default *CalculationMode* value: *AlgebraicForm*.
+        Default *SkipValuesCheck* value: *0*.
+
+    CosineSimilarityCoefficient
+            $Value = $FingerprintsVector->CosineSimilarityCoefficient(
+                      $OtherFingerprintVector, [$CalculationMode, $SkipValuesCheck]);
+            $Value = Fingerprints::FingerprintsVector::CosineSimilarityCoefficient(
+                      $FingerprintsVectorA, $FingerprintVectorB,
+                      [$CalculationMode, $SkipValuesCheck]);
+
+        Returns value of *Cosine* similarity coefficient between two
+        *FingerprintsVectors* using optionally specified *CalculationMode*
+        and optional checking of vector values.
+
+        Possible *CalculationMode* values: *AlgebraicForm, BinaryForm or
+        SetTheoreticForm*. Default *CalculationMode* value: *AlgebraicForm*.
+        Default *SkipValuesCheck* value: *0*.
+
+    CzekanowskiSimilarityCoefficient
+            $Value = $FingerprintsVector->CzekanowskiSimilarityCoefficient(
+                      $OtherFingerprintVector, [$CalculationMode, $SkipValuesCheck]);
+            $Value = Fingerprints::FingerprintsVector::CzekanowskiSimilarityCoefficient(
+                      $FingerprintsVectorA, $FingerprintVectorB,
+                      [$CalculationMode, $SkipValuesCheck]);
+
+        Returns value of *Czekanowski* similarity coefficient between two
+        *FingerprintsVectors* using optionally specified *CalculationMode*
+        and optional checking of vector values.
+
+        Possible *CalculationMode* values: *AlgebraicForm, BinaryForm or
+        SetTheoreticForm*. Default *CalculationMode* value: *AlgebraicForm*.
+        Default *SkipValuesCheck* value: *0*.
+
+    DiceSimilarityCoefficient
+            $Value = $FingerprintsVector->DiceSimilarityCoefficient(
+                      $OtherFingerprintVector, [$CalculationMode, $SkipValuesCheck]);
+            $Value = Fingerprints::FingerprintsVector::DiceSimilarityCoefficient(
+                      $FingerprintsVectorA, $FingerprintVectorB,
+                      [$CalculationMode, $SkipValuesCheck]);
+
+        Returns value of *Dice* similarity coefficient between two
+        *FingerprintsVectors* using optionally specified *CalculationMode*
+        and optional checking of vector values.
+
+        Possible *CalculationMode* values: *AlgebraicForm, BinaryForm or
+        SetTheoreticForm*. Default *CalculationMode* value: *AlgebraicForm*.
+        Default *SkipValuesCheck* value: *0*.
+
+    EuclideanDistanceCoefficient
+            $Value = $FingerprintsVector->EuclideanDistanceCoefficient(
+                      $OtherFingerprintVector, [$CalculationMode, $SkipValuesCheck]);
+            $Value = Fingerprints::FingerprintsVector::EuclideanDistanceCoefficient(
+                      $FingerprintsVectorA, $FingerprintVectorB,
+                      [$CalculationMode, $SkipValuesCheck]);
+
+        Returns value of *Euclidean* distance coefficient between two
+        *FingerprintsVectors* using optionally specified *CalculationMode*
+        and optional checking of vector values.
+
+        Possible *CalculationMode* values: *AlgebraicForm, BinaryForm or
+        SetTheoreticForm*. Default *CalculationMode* value: *AlgebraicForm*.
+        Default *SkipValuesCheck* value: *0*.
+
+    GetDescription
+            $Description = $FingerprintsVector->GetDescription();
+
+        Returns a string containing description of fingerprints vector.
+
+    GetFingerprintsVectorString
+            $FPString = $FingerprintsVector->GetFingerprintsVectorString($Format);
+
+        Returns a FingerprintsString containing vector values and/or IDs in
+        *FingerprintsVector* corresponding to specified *Format*.
+
+        Possible *Format* values: *IDsAndValuesString, IDsAndValues,
+        IDsAndValuesPairsString, IDsAndValuesPairs, ValuesAndIDsString,
+        ValuesAndIDs, ValuesAndIDsPairsString, ValuesAndIDsPairs,
+        ValueIDsString, ValueIDs, ValuesString, or Values*.
+
+    GetID
+            $ID = $FingerprintsVector->GetID();
+
+        Returns *ID* of *FingerprintsVector*.
+
+    GetVectorType
+            $VectorType = $FingerprintsVector->GetVectorType();
+
+        Returns *VectorType* of *FingerprintsVector*.
+
+    GetIDsAndValuesPairsString
+            $IDsValuesPairsString = $FingerprintsVector->GetIDsAndValuesPairsString();
+
+        Returns *FingerprintsVector* value IDs and values as space delimited
+        ID/value pair string.
+
+    GetIDsAndValuesString
+            $IDsValuesString = $FingerprintsVector->GetIDsAndValuesString();
+
+        Returns *FingerprintsVector* value IDs and values as string
+        containing space delimited IDs followed by values with semicolon as
+        IDs and values delimiter.
+
+    GetNumOfNonZeroValues
+            $NumOfNonZeroValues = $FingerprintsVector->GetNumOfNonZeroValues();
+
+        Returns number of non-zero values in *FingerprintsVector*.
+
+    GetNumOfValueIDs
+            $NumOfValueIDs = $FingerprintsVector->GetNumOfValueIDs();
+
+        Returns number of value IDs *FingerprintsVector*.
+
+    GetNumOfValues
+            $NumOfValues = $FingerprintsVector->GetNumOfValues();
+
+        Returns number of values *FingerprintsVector*.
+
+    GetSupportedDistanceAndSimilarityCoefficients
+            @SupportedDistanceAndSimilarityCoefficientsReturn =
+                Fingerprints::FingerprintsVector::GetSupportedDistanceAndSimilarityCoefficients();
+
+        Returns an array containing names of supported distance and
+        similarity coefficients.
+
+    GetSupportedDistanceCoefficients
+            @SupportedDistanceCoefficientsReturn =
+                Fingerprints::FingerprintsVector::GetSupportedDistanceCoefficients();
+
+        Returns an array containing names of supported disyance
+        coefficients.
+
+    GetSupportedSimilarityCoefficients
+            @SupportedSimilarityCoefficientsReturn =
+                Fingerprints::FingerprintsVector::GetSupportedSimilarityCoefficients();
+
+        Returns an array containing names of supported similarity
+        coefficients.
+
+    GetType
+            $VectorType = $FingerprintsVector->GetType();
+
+        Returns *FingerprintsVector* vector type.
+
+    GetValue
+            $Value = $FingerprintsVector->GetValue($Index);
+
+        Returns fingerprints vector Value specified using *Index* starting
+        at 0.
+
+    GetValueID
+            $ValueID = $FingerprintsVector->GetValueID();
+
+        Returns fingerprints vector ValueID specified using *Index* starting
+        at 0.
+
+    GetValueIDs
+            $ValueIDs = $FingerprintsVector->GetValueIDs();
+            @ValueIDs = $FingerprintsVector->GetValueIDs();
+
+        Returns fingerprints vector ValueIDs as an array or reference to an
+        array.
+
+    GetValueIDsString
+            $ValueIDsString = $FingerprintsVector->GetValueIDsString();
+
+        Returns fingerprints vector ValueIDsString with value IDs delimited
+        by space.
+
+    GetValues
+            $ValuesRef = $FingerprintsVector->GetValues();
+            @Values = $FingerprintsVector->GetValues();
+
+        Returns fingerprints vector Values as an array or reference to an
+        array.
+
+    GetValuesAndIDsPairsString
+            $ValuesIDsPairsString = $FingerprintsVector->GetValuesAndIDsPairsString();
+
+        Returns *FingerprintsVector* value and value IDs as space delimited
+        ID/value pair string.
+
+    GetValuesAndIDsString
+            $ValuesIDsString = $FingerprintsVector->GetValuesAndIDsString();
+
+        Returns *FingerprintsVector* values and value IDs as string
+        containing space delimited IDs followed by values with semicolon as
+        IDs and values delimiter.
+
+    GetValuesString
+            $Return = $FingerprintsVector->GetValuesString();
+
+        Returns *FingerprintsVector* values as space delimited string.
+
+    HammingDistanceCoefficient
+            $Value = $FingerprintsVector->HammingDistanceCoefficient(
+                      $OtherFingerprintVector, [$CalculationMode, $SkipValuesCheck]);
+            $Value = Fingerprints::FingerprintsVector::HammingDistanceCoefficient(
+                      $FingerprintsVectorA, $FingerprintVectorB,
+                      [$CalculationMode, $SkipValuesCheck]);
+
+        Returns value of *Hamming* distance coefficient between two
+        *FingerprintsVectors* using optionally specified *CalculationMode*
+        and optional checking of vector values.
+
+        Possible *CalculationMode* values: *AlgebraicForm, BinaryForm or
+        SetTheoreticForm*. Default *CalculationMode* value: *AlgebraicForm*.
+        Default *SkipValuesCheck* value: *0*.
+
+    IsFingerprintsVector
+            $Status = Fingerprints::FingerprintsVector::IsFingerprintsVector($Object);
+
+        Returns 1 or 0 based on whether *Object* is a *FingerprintsVector*.
+
+    JaccardSimilarityCoefficient
+            $Value = $FingerprintsVector->JaccardSimilarityCoefficient(
+                      $OtherFingerprintVector, [$CalculationMode, $SkipValuesCheck]);
+            $Value = Fingerprints::FingerprintsVector::JaccardSimilarityCoefficient(
+                      $FingerprintsVectorA, $FingerprintVectorB,
+                      [$CalculationMode, $SkipValuesCheck]);
+
+        Returns value of *Jaccard* similarity coefficient between two
+        *FingerprintsVectors* using optionally specified *CalculationMode*
+        and optional checking of vector values.
+
+        Possible *CalculationMode* values: *AlgebraicForm, BinaryForm or
+        SetTheoreticForm*. Default *CalculationMode* value: *AlgebraicForm*.
+        Default *SkipValuesCheck* value: *0*.
+
+    ManhattanDistanceCoefficient
+            $Value = $FingerprintsVector->ManhattanDistanceCoefficient(
+                      $OtherFingerprintVector, [$CalculationMode, $SkipValuesCheck]);
+            $Value = Fingerprints::FingerprintsVector::ManhattanDistanceCoefficient(
+                      $FingerprintsVectorA, $FingerprintVectorB,
+                      [$CalculationMode, $SkipValuesCheck]);
+
+        Returns value of *Manhattan* distance coefficient between two
+        *FingerprintsVectors* using optionally specified *CalculationMode*
+        and optional checking of vector values.
+
+        Possible *CalculationMode* values: *AlgebraicForm, BinaryForm or
+        SetTheoreticForm*. Default *CalculationMode* value: *AlgebraicForm*.
+        Default *SkipValuesCheck* value: *0*.
+
+    NewFromIDsAndValuesPairsString
+            $FingerprintsVector = $FingerprintsVector->NewFromIDsAndValuesPairsString(
+                                  $ValuesType, $IDsAndValuesPairsString);
+            $FingerprintsVector = Fingerprints::FingerprintsVector::NewFromIDsAndValuesPairsString(
+                                  $ValuesType, $IDsAndValuesPairsString);
+
+        Creates a new *FingerprintsVector* of *ValuesType* using
+        *IDsAndValuesPairsString* containing space delimited value IDs and
+        values pairs and returns new FingerprintsVector object. Possible
+        *ValuesType* values: *OrderedNumericalValues, NumericalValues, or
+        AlphaNumericalValues*.
+
+    NewFromIDsAndValuesString
+            $FingerprintsVector = $FingerprintsVector->NewFromIDsAndValuesString(
+                                  $ValuesType, $IDsAndValuesString);
+            $FingerprintsVector = Fingerprints::FingerprintsVector::NewFromIDsAndValuesString(
+                                  $ValuesType, $IDsAndValuesString);
+
+        Creates a new *FingerprintsVector* of *ValuesType* using
+        *IDsAndValuesString* containing semicolon delimited value IDs string
+        followed by values strings and returns new FingerprintsVector
+        object. The values within value and value IDs tring are delimited by
+        spaces. Possible *ValuesType* values: *OrderedNumericalValues,
+        NumericalValues, or AlphaNumericalValues*.
+
+    NewFromValuesAndIDsPairsString
+            $FingerprintsVector = $FingerprintsVector->NewFromValuesAndIDsPairsString(
+                                  $ValuesType, $ValuesAndIDsPairsString);
+            $FingerprintsVector = Fingerprints::FingerprintsVector::NewFromValuesAndIDsPairsString(
+                                  $ValuesType, $ValuesAndIDsPairsString);
+
+        Creates a new *FingerprintsVector* of *ValuesType* using
+        *ValuesAndIDsPairsString* containing space delimited value and value
+        IDs pairs and returns new FingerprintsVector object. Possible
+        *ValuesType* values: *OrderedNumericalValues, NumericalValues, or
+        AlphaNumericalValues*.
+
+    NewFromValuesAndIDsString
+            $FingerprintsVector = $FingerprintsVector->NewFromValuesAndIDsString(
+                                  $ValuesType, $IDsAndValuesString);
+            $FingerprintsVector = Fingerprints::FingerprintsVector::NewFromValuesAndIDsString(
+                                  $ValuesType, $IDsAndValuesString);
+
+        Creates a new *FingerprintsVector* of *ValuesType* using
+        *ValuesAndIDsString* containing semicolon delimited values string
+        followed by value IDs strings and returns new FingerprintsVector
+        object. The values within values and value IDs tring are delimited
+        by spaces. Possible *ValuesType* values: *OrderedNumericalValues,
+        NumericalValues, or AlphaNumericalValues*.
+
+    NewFromValuesString
+            $FingerprintsVector = $FingerprintsVector->NewFromValuesString(
+                                  $ValuesType, $ValuesString);
+            $FingerprintsVector = Fingerprints::FingerprintsVector::NewFromValuesString(
+                                  $ValuesType, $ValuesString);
+
+        Creates a new *FingerprintsVector* of *ValuesType* using
+        *ValuesString* containing space delimited values string and returns
+        new FingerprintsVector object. The values within values and value
+        IDs tring are delimited by spaces. Possible *ValuesType* values:
+        *OrderedNumericalValues, NumericalValues, or AlphaNumericalValues*.
+
+    OchiaiSimilarityCoefficient
+            $Value = $FingerprintsVector->OchiaiSimilarityCoefficient(
+                      $OtherFingerprintVector, [$CalculationMode, $SkipValuesCheck]);
+            $Value = Fingerprints::FingerprintsVector::OchiaiSimilarityCoefficient(
+                      $FingerprintsVectorA, $FingerprintVectorB,
+                      [$CalculationMode, $SkipValuesCheck]);
+
+        Returns value of *Ochiai* similarity coefficient between two
+        *FingerprintsVectors* using optionally specified *CalculationMode*
+        and optional checking of vector values.
+
+        Possible *CalculationMode* values: *AlgebraicForm, BinaryForm or
+        SetTheoreticForm*. Default *CalculationMode* value: *AlgebraicForm*.
+        Default *SkipValuesCheck* value: *0*.
+
+    SetDescription
+            $FingerprintsVector->SetDescription($Description);
+
+        Sets *Description* of fingerprints vector and returns
+        *FingerprintsVector*.
+
+    SetID
+            $FingerprintsVector->SetID($ID);
+
+        Sets *ID* of fingerprints vector and returns *FingerprintsVector*.
+
+    SetVectorType
+            $FingerprintsVector->SetVectorType($VectorType);
+
+        Sets *VectorType* of fingerprints vector and returns
+        *FingerprintsVector*.
+
+    SetType
+            $FingerprintsVector->SetType($Type);
+
+        Sets *FingerprintsVector* values *Type* and returns
+        *FingerprintsVector*. Possible *Type* values:
+        *OrderedNumericalValues, NumericalValues, or AlphaNumericalValues*.
+
+        During calculation of similarity and distance coefficients between
+        two *FingerprintsVectors*, the following conditions apply to vector
+        type, size, value and value IDs:
+
+            o For OrderedNumericalValues type, both vectors must be of the same size
+              and contain similar types of numerical values in the same order.
+
+            o For NumericalValues type, vector value IDs for both vectors must be
+              specified; however, their size and order of IDs and numerical values may
+              be different. For each vector, value IDs must correspond to vector values.
+
+            o For AlphaNumericalValues type, vectors may contain both numerical and
+              alphanumerical values and their sizes may be different.
+
+    SetValue
+            $FingerprintsVector->SetValue($Index, $Value, [$SkipIndexCheck]);
+
+        Sets a *FingerprintsVector* value specified by *Index* starting at 0
+        to *Value* along with optional index range check and returns
+        *FingerprintsVector*.
+
+    SetValueID
+            $FingerprintsVector->SetValueID($Index, $ValueID, [$SkipIndexCheck]);
+
+        Sets a *FingerprintsVector* value ID specified by *Index* starting
+        at 0 to *ValueID* along with optional index range check and returns
+        *FingerprintsVector*.
+
+    SetValueIDs
+            $FingerprintsVector->SetValueIDs($ValueIDsRef);
+            $FingerprintsVector->SetValueIDs(@ValueIDs);
+
+        Sets *FingerprintsVector* value IDs to specified *ValueIDs* and
+        returns *FingerprintsVector*.
+
+    SetValues
+            $FingerprintsVector->SetValues($ValuesRef);
+            $FingerprintsVector->SetValues(@Values);
+
+        Sets *FingerprintsVector* value to specified *Values* and returns
+        *FingerprintsVector*.
+
+    SoergelDistanceCoefficient
+            $Value = $FingerprintsVector->SoergelDistanceCoefficient(
+                      $OtherFingerprintVector, [$CalculationMode, $SkipValuesCheck]);
+            $Value = Fingerprints::FingerprintsVector::SoergelDistanceCoefficient(
+                      $FingerprintsVectorA, $FingerprintVectorB,
+                      [$CalculationMode, $SkipValuesCheck]);
+
+        Returns value of *Soergel* distance coefficient between two
+        *FingerprintsVectors* using optionally specified *CalculationMode*
+        and optional checking of vector values.
+
+        Possible *CalculationMode* values: *AlgebraicForm, BinaryForm or
+        SetTheoreticForm*. Default *CalculationMode* value: *AlgebraicForm*.
+        Default *SkipValuesCheck* value: *0*.
+
+    SorensonSimilarityCoefficient
+            $Value = $FingerprintsVector->SorensonSimilarityCoefficient(
+                      $OtherFingerprintVector, [$CalculationMode, $SkipValuesCheck]);
+            $Value = Fingerprints::FingerprintsVector::SorensonSimilarityCoefficient(
+                      $FingerprintsVectorA, $FingerprintVectorB,
+                      [$CalculationMode, $SkipValuesCheck]);
+
+        Returns value of *Sorenson* similarity coefficient between two
+        *FingerprintsVectors* using optionally specified *CalculationMode*
+        and optional checking of vector values.
+
+        Possible *CalculationMode* values: *AlgebraicForm, BinaryForm or
+        SetTheoreticForm*. Default *CalculationMode* value: *AlgebraicForm*.
+        Default *SkipValuesCheck* value: *0*.
+
+    TanimotoSimilarityCoefficient
+            $Value = $FingerprintsVector->TanimotoSimilarityCoefficient(
+                      $OtherFingerprintVector, [$CalculationMode, $SkipValuesCheck]);
+            $Value = Fingerprints::FingerprintsVector::TanimotoSimilarityCoefficient(
+                      $FingerprintsVectorA, $FingerprintVectorB,
+                      [$CalculationMode, $SkipValuesCheck]);
+
+        Returns value of *Tanimoto* similarity coefficient between two
+        *FingerprintsVectors* using optionally specified *CalculationMode*
+        and optional checking of vector values.
+
+        Possible *CalculationMode* values: *AlgebraicForm, BinaryForm or
+        SetTheoreticForm*. Default *CalculationMode* value: *AlgebraicForm*.
+        Default *SkipValuesCheck* value: *0*.
+
+    StringifyFingerprintsVector
+            $String = $FingerprintsVector->StringifyFingerprintsVector();
+
+        Returns a string containing information about *FingerprintsVector*
+        object.
+
+AUTHOR
+    Manish Sud <msud@san.rr.com>
+
+SEE ALSO
+    BitVector.pm, FingerprintsStringUtil.pm, FingerprintsBitVector.pm,
+    Vector.pm
+
+COPYRIGHT
+    Copyright (C) 2015 Manish Sud. All rights reserved.
+
+    This file is part of MayaChemTools.
+
+    MayaChemTools is free software; you can redistribute it and/or modify it
+    under the terms of the GNU Lesser General Public License as published by
+    the Free Software Foundation; either version 3 of the License, or (at
+    your option) any later version.
+