diff docs/modules/txt/TopologicalPharmacophoreAtomPairsFingerprints.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/TopologicalPharmacophoreAtomPairsFingerprints.txt	Wed Jan 20 09:23:18 2016 -0500
@@ -0,0 +1,403 @@
+NAME
+    TopologicalPharmacophoreAtomPairsFingerprints
+
+SYNOPSIS
+    use Fingerprints::TopologicalPharmacophoreAtomPairsFingerprints;
+
+    use Fingerprints::TopologicalPharmacophoreAtomPairsFingerprints
+    qw(:all);
+
+DESCRIPTION
+    TopologicalPharmacophoreAtomPairsFingerprints [ Ref 60-62, Ref 65, Ref
+    68 ] class provides the following methods:
+
+    new, GenerateFingerprints, GetDescription, GetAtomPairIDs,
+    SetAtomTypesToUse, SetAtomTypesWeight, SetFuzzFactor,
+    SetFuzzificationMethodology, SetFuzzificationMode, SetMaxDistance,
+    SetMinDistance, SetNormalizationMethodology, SetValuesPrecision,
+    StringifyTopologicalPharmacophoreAtomPairsFingerprints
+
+    TopologicalPharmacophoreAtomPairsFingerprints is derived from
+    Fingerprints class which in turn is derived from ObjectProperty base
+    class that provides methods not explicitly defined in
+    TopologicalPharmacophoreAtomPairsFingerprints, Fingerprints or
+    ObjectProperty classes using Perl's AUTOLOAD functionality. These
+    methods are generated on-the-fly for a specified object property:
+
+        Set<PropertyName>(<PropertyValue>);
+        $PropertyValue = Get<PropertyName>();
+        Delete<PropertyName>();
+
+    Based on the values specified for AtomTypesToUse, pharmacophore atom
+    types are assigned to all non-hydrogen atoms in a molecule and a
+    distance matrix is generated. A pharmacophore atom pairs basis set is
+    initialized for all unique possible pairs within MinDistance and
+    MaxDistance range.
+
+        Let:
+
+        P = Valid pharmacophore atom type
+
+        Px = Pharmacophore atom type x
+        Py = Pharmacophore atom type y
+
+        Dmin = Minimum distance corresponding to number of bonds between two atoms
+        Dmax = Maximum distance corresponding to number of bonds between two atoms
+        D = Distance corresponding to number of bonds between two atoms
+
+        Px-Dn-Py = Pharmacophore atom pair ID for atom types Px and Py at distance Dn
+
+        P = Number of pharmacophore atom types to consider
+        PPDn = Number of possible unique pharmacophore atom pairs at a distance Dn
+
+        PPT = Total number of possible pharmacophore atom pairs at all distances between Dmin and Dmax
+
+        Then:
+
+        PPD =  (P * (P - 1))/2 + P
+
+        PPT = ((Dmax - Dmin) + 1) * ((P * (P - 1))/2 + P)
+            = ((Dmax - Dmin) + 1) * PPD
+
+        So for default values of Dmin = 1, Dmax = 10 and P = 5,
+
+        PPD =  (5 * (5 - 1))/2 + 5 = 15
+        PPT = ((10 - 1) + 1) * 15 = 150
+
+        The pharmacophore atom pairs bais set includes 150 values.
+
+        The atom pair IDs correspond to:
+
+        Px-Dn-Py = Pharmacophore atom pair ID for atom types Px and Py at distance Dn
+
+        For example: H-D1-H, H-D2-HBA, PI-D5-PI and so on
+
+    Using distance matrix and pharmacohore atom types, occurrence of unique
+    pharmacohore atom pairs is counted. The contribution of each atom type
+    to atom pair interaction is optionally weighted by specified
+    AtomTypesWeight before assigning its count to appropriate distance bin.
+    Based on NormalizationMethodology option, pharmacophore atom pairs count
+    is optionally normalized. Additionally, pharmacohore atom pairs count is
+    optionally fuzzified before or after the normalization controlled by
+    values of FuzzifyAtomPairsCount, FuzzificationMode,
+    FuzzificationMethodology and FuzzFactor.
+
+    The final pharmacophore atom pairs count along with atom pair
+    identifiers involving all non-hydrogen atoms, with optional
+    normalization and fuzzification, constitute pharmacophore topological
+    atom pairs fingerprints of the molecule.
+
+    For *ArbitrarySize* value of AtomPairsSetSizeToUse, the fingerprint
+    vector correspond to only those topological pharmacophore atom pairs
+    which are present and have non-zero count. However, for *FixedSize*
+    value of AtomPairsSetSizeToUse, the fingerprint vector contains all
+    possible valid topological pharmacophore atom pairs with both zero and
+    non-zero count values.
+
+    The current release of MayaChemTools generates the following types of
+    topological pharmacophore atom pairs fingerprints vector strings:
+
+        FingerprintsVector;TopologicalPharmacophoreAtomPairs:ArbitrarySize:Min
+        Distance1:MaxDistance10;54;NumericalValues;IDsAndValuesString;H-D1-H H
+        -D1-NI HBA-D1-NI HBD-D1-NI H-D2-H H-D2-HBA H-D2-HBD HBA-D2-HBA HBA-D2-
+        HBD H-D3-H H-D3-HBA H-D3-HBD H-D3-NI HBA-D3-NI HBD-D3-NI H-D4-H H-D4-H
+        BA H-D4-HBD HBA-D4-HBA HBA-D4-HBD HBD-D4-HBD H-D5-H H-D5-HBA H-D5-...;
+        18 1 2 1 22 12 8 1 2 18 6 3 1 1 1 22 13 6 5 7 2 28 9 5 1 1 1 36 16 10
+        3 4 1 37 10 8 1 35 10 9 3 3 1 28 7 7 4 18 16 12 5 1 2 1
+
+        FingerprintsVector;TopologicalPharmacophoreAtomPairs:FixedSize:MinDist
+        ance1:MaxDistance10;150;OrderedNumericalValues;ValuesString;18 0 0 1 0
+        0 0 2 0 0 1 0 0 0 0 22 12 8 0 0 1 2 0 0 0 0 0 0 0 0 18 6 3 1 0 0 0 1
+        0 0 1 0 0 0 0 22 13 6 0 0 5 7 0 0 2 0 0 0 0 0 28 9 5 1 0 0 0 1 0 0 1 0
+        0 0 0 36 16 10 0 0 3 4 0 0 1 0 0 0 0 0 37 10 8 0 0 0 0 1 0 0 0 0 0 0
+        0 35 10 9 0 0 3 3 0 0 1 0 0 0 0 0 28 7 7 4 0 0 0 0 0 0 0 0 0 0 0 18...
+
+        FingerprintsVector;TopologicalPharmacophoreAtomPairs:FixedSize:MinDist
+        ance1:MaxDistance10;150;OrderedNumericalValues;IDsAndValuesString;H-D1
+        -H H-D1-HBA H-D1-HBD H-D1-NI H-D1-PI HBA-D1-HBA HBA-D1-HBD HBA-D1-NI H
+        BA-D1-PI HBD-D1-HBD HBD-D1-NI HBD-D1-PI NI-D1-NI NI-D1-PI PI-D1-PI H-D
+        2-H H-D2-HBA H-D2-HBD H-D2-NI H-D2-PI HBA-D2-HBA HBA-D2-HBD HBA-D2...;
+        18 0 0 1 0 0 0 2 0 0 1 0 0 0 0 22 12 8 0 0 1 2 0 0 0 0 0 0 0 0 18 6 3
+        1 0 0 0 1 0 0 1 0 0 0 0 22 13 6 0 0 5 7 0 0 2 0 0 0 0 0 28 9 5 1 0 0 0
+        1 0 0 1 0 0 0 0 36 16 10 0 0 3 4 0 0 1 0 0 0 0
+
+  METHODS
+    new
+            $TPAPFP = new TopologicalPharmacophoreAtomPairsFingerprints(
+                                                           %NamesAndValues);
+
+        Using specified *TopologicalPharmacophoreAtomPairsFingerprints*
+        property names and values hash, new method creates a new object and
+        returns a reference to newly created
+        TopologicalPharmacophoreAtomPairsFingerprints object. By default,
+        the following properties are initialized:
+
+            Molecule = ''
+            Type = 'TopologicalPharmacophoreAtomPairs'
+            MinDistance = 1
+            MaxDistance = 10
+            NormalizationMethodology = 'None'
+            AtomTypesToUse = ['HBD', 'HBA', 'PI', 'NI', 'H']
+
+            FuzzifyAtomPairsCount = 0
+            FuzzificationMode = 'AfterNormalization'
+            FuzzificationMethodology =  'FuzzyBinning'
+            FuzzFactor = 0.15
+
+            ValuesPrecision = 2
+
+        Examples:
+
+            $TPAPFP = new TopologicalPharmacophoreAtomPairsFingerprints(
+                                      'Molecule' => $Molecule);
+
+            $TPAPFP = new TopologicalPharmacophoreAtomPairsFingerprints(
+                                      'Molecule' => $Molecule,
+                                      'AtomPairsSetSizeToUse' => 'ArbitrarySize',
+                                      'MinDistance' => 1,
+                                      'MaxDistance' => 10,
+                                      'NormalizationMethodology' => 'None',
+                                      'AtomTypesToUse' => ['HBD', 'HBA', 'PI', 'NI', 'H'],
+                                      'FuzzifyAtomPairsCount' => 0);
+
+            $TPAPFP = new TopologicalPharmacophoreAtomPairsFingerprints(
+                                      'Molecule' => $Molecule,
+                                      'AtomPairsSetSizeToUse' => 'FizedSize',
+                                      'MinDistance' => 1,
+                                      'MaxDistance' => 10,
+                                      'NormalizationMethodology' => 'None',
+                                      'AtomTypesToUse' => ['HBD', 'HBA', 'PI', 'NI', 'H'],
+                                      'FuzzifyAtomPairsCount' => 1,
+                                      'FuzzificationMethodology' => 'FuzzyBinning',
+                                      'FuzzFactor' => 0.15,
+                                      'ValuesPrecision' => 2);
+
+            $TPAPFP->GenerateFingerprints();
+            print "$TPAPFP\n";
+
+    GetDescription
+            $Description = $TopologicalPharmacophoreAtomPairsFP->GetDescription();
+
+        Returns a string containing description of topological pharmacophore
+        atom pairs fingerprints.
+
+    GenerateFingerprints
+            $TopologicalPharmacophoreAtomPairsFP->GenerateFingerprints();
+
+        Generates topological pharmacophore atom pairs fingerprints and
+        returns *TopologicalPharmacophoreAtomPairsFP*.
+
+    GetAtomPairIDs
+            $AtomPairIDsRef = $TopologicalPharmacophoreAtomPairsFP->GetAtomPairIDs();
+            @AtomPairIDs = $TopologicalPharmacophoreAtomPairsFP->GetAtomPairIDs();
+
+        Returns atom pair IDs corresponding to atom pairs count values in
+        topological pharmacophore atom pairs fingerprints vector as an array
+        or reference to an array.
+
+    SetAtomPairsSetSizeToUse
+            $TopologicalPharmacophoreAtomPairsFP->SetAtomPairsSetSizeToUse($Values);
+
+        Sets pharmacophore atom pairs set size to use for topological
+        pharmacophore fingerprints generation and returns
+        *TopologicalPharmacophoreAtomPairsFingerprints*.
+
+        Possible values for pharmacophore atom pairs set size are:
+        *ArbitrarySize, FizedSize*. Default value: *ArbitrarySize*.
+
+        For *ArbitrarySize* value of AtomPairsSetSizeToUse, the fingerprint
+        vector correspond to only those topological pharmacophore atom pairs
+        which are present and have non-zero count. However, for *FixedSize*
+        value of AtomPairsSetSizeToUse, the fingerprint vector contains all
+        possible valid topological pharmacophore atom pairs with both zero
+        and non-zero count values.
+
+    SetAtomTypesToUse
+            $TopologicalPharmacophoreAtomPairsFP->SetAtomTypesToUse($ValuesRef);
+            $TopologicalPharmacophoreAtomPairsFP->SetAtomTypesToUse(@Values);
+
+        Sets pharmacophore atom types to use for topological pharmacophore
+        fingerprints generation and returns
+        *TopologicalPharmacophoreAtomPairsFingerprints*.
+
+        Possible values for pharmacophore atom types are: *Ar, CA, H, HBA,
+        HBD, Hal, NI, PI, RA*. Default value [ Ref 60-62 ] :
+        *HBD,HBA,PI,NI,H*.
+
+        The pharmacophore atom types abbreviations correspond to:
+
+            HBD: HydrogenBondDonor
+            HBA: HydrogenBondAcceptor
+            PI :  PositivelyIonizable
+            NI : NegativelyIonizable
+            Ar : Aromatic
+            Hal : Halogen
+            H : Hydrophobic
+            RA : RingAtom
+            CA : ChainAtom
+
+        *AtomTypes::FunctionalClassAtomTypes* module is used to assign
+        pharmacophore atom types. It uses following definitions [ Ref 60-61,
+        Ref 65-66 ]:
+
+            HydrogenBondDonor: NH, NH2, OH
+            HydrogenBondAcceptor: N[!H], O
+            PositivelyIonizable: +, NH2
+            NegativelyIonizable: -, C(=O)OH, S(=O)OH, P(=O)OH
+
+    SetAtomTypesWeight
+            $TopologicalPharmacophoreAtomPairsFP->SetAtomTypesWeight(
+                %AtomTypesToWeight);
+
+        Sets weights of specified pharmacophore atom types to use during
+        calculation of their contribution to atom pair count and returns
+        *TopologicalPharmacophoreAtomPairsFP*. Default values: *1 for each
+        atom type*.
+
+        The weight values allow to increase the importance of specific
+        pharmacophore atom type in the generated fingerprints. A weight
+        value of 0 for an atom type eliminates its contribution to atom pair
+        count where as weight value of 2 doubles its contribution.
+
+    SetFuzzFactor
+            $TopologicalPharmacophoreAtomPairsFP->SetFuzzFactor($Value);
+
+        Sets fuzz factor value to use during fuzzification of atom pairs
+        count and returns *TopologicalPharmacophoreAtomPairsFP*. Default
+        value: *0.15*.
+
+        Valid values: For *FuzzyBinning* value of FuzzificationMethodology:
+        *between 0 and 1.0*; For *FuzzyBinSmoothing* value of
+        FuzzificationMethodology: *between 0 and 0.5*.
+
+    SetFuzzificationMethodology
+            $TopologicalPharmacophoreAtomPairsFP->SetFuzzificationMethodology($Value);
+
+        Sets fuzzification methodology to use for fuzzification of atom
+        pairs count and returns *TopologicalPharmacophoreAtomPairsFP*.
+        Default value: *FuzzyBinning*. Possible values: *FuzzyBinning |
+        FuzzyBinSmoothing*.
+
+        In conjunction with values for options FuzzifyAtomPairsCount,
+        FuzzificationMode and FuzzFactor, FuzzificationMethodology option is
+        used to fuzzify pharmacophore atom pairs count.
+
+        Let:
+
+            Px = Pharmacophore atom type x
+            Py = Pharmacophore atom type y
+            PPxy = Pharmacophore atom pair between atom type Px and Py
+
+            PPxyDn = Pharmacophore atom pairs count between atom type Px and Py
+                     at distance Dn
+            PPxyDn-1 = Pharmacophore atom pairs count between atom type Px and Py
+                       at distance Dn - 1
+            PPxyDn+1 = Pharmacophore atom pairs count between atom type Px and Py
+                       at distance Dn + 1
+
+            FF = FuzzFactor for FuzzyBinning and FuzzyBinSmoothing
+
+        Then:
+
+        For *FuzzyBinning*:
+
+            PPxyDn = PPxyDn (Unchanged)
+
+            PPxyDn-1 = PPxyDn-1 + PPxyDn * FF
+            PPxyDn+1 = PPxyDn+1 + PPxyDn * FF
+
+        For *FuzzyBinSmoothing*:
+
+            PPxyDn = PPxyDn - PPxyDn * 2FF for Dmin < Dn < Dmax
+            PPxyDn = PPxyDn - PPxyDn * FF for Dn = Dmin or Dmax
+
+            PPxyDn-1 = PPxyDn-1 + PPxyDn * FF
+            PPxyDn+1 = PPxyDn+1 + PPxyDn * FF
+
+        In both fuzzification schemes, a value of 0 for FF implies no
+        fuzzification of occurrence counts. A value of 1 during
+        *FuzzyBinning* corresponds to maximum fuzzification of occurrence
+        counts; however, a value of 1 during *FuzzyBinSmoothing* ends up
+        completely distributing the value over the previous and next
+        distance bins.
+
+        So for default value of FuzzFactor (FF) 0.15, the occurrence count
+        of pharmacohore atom pairs at distance Dn during FuzzyBinning is
+        left unchanged and the counts at distances Dn -1 and Dn + 1 are
+        incremented by PPxyDn * 0.15.
+
+        And during *FuzzyBinSmoothing* the occurrence counts at Distance Dn
+        is scaled back using multiplicative factor of (1 - 2*0.15) and the
+        occurrence counts at distances Dn -1 and Dn + 1 are incremented by
+        PPxyDn * 0.15. In other words, occurrence bin count is smoothed out
+        by distributing it over the previous and next distance value.
+
+    SetFuzzificationMode
+            $TopologicalPharmacophoreAtomPairsFP->SetFuzzificationMode($Value);
+
+        Sets fuzzification mode to use for fuzzification of atom pairs count
+        and returns *TopologicalPharmacophoreAtomPairsFP*. Default value:
+        *AfterNormalization*. Possible values: *BeforeNormalization |
+        AfterNormalization*.
+
+    SetMaxDistance
+            $TopologicalPharmacophoreAtomPairsFP->SetMaxDistance($Value);
+
+        Sets maximum bond distance between atom pairs for generating
+        topological pharmacophore atom pairs fingerprints and returns
+        *TopologicalPharmacophoreAtomPairsFP*.
+
+    SetMinDistance
+            $TopologicalPharmacophoreAtomPairsFP->SetMinDistance($Value);
+
+        Sets minimum bond distance between atom pairs for generating
+        topological pharmacophore atom pairs fingerprints and returns
+        *TopologicalPharmacophoreAtomPairsFP*.
+
+    SetNormalizationMethodology
+            $TopologicalPharmacophoreAtomPairsFP->SetNormalizationMethodology($Value);
+
+        Sets normalization methodology to use for scaling the occurrence
+        count of pharmacophore atom pairs within specified distance range
+        and returns *TopologicalPharmacophoreAtomPairsFP*. Default value:
+        *None*. Possible values: *None, ByHeavyAtomsCount or
+        ByAtomTypesCount*.
+
+    SetValuesPrecision
+            $TopologicalPharmacophoreAtomPairsFP->SetValuesPrecision($Value);
+
+        Sets precision of atom pairs count real values which might be
+        generated after normalization or fuzzification and returns
+        *TopologicalPharmacophoreAtomPairsFP*. Default: up to *2* decimal
+        places.
+
+    StringifyTopologicalPharmacophoreAtomPairsFingerprints
+            $String = $TopologicalPharmacophoreAtomPairsFP->
+                          StringifyTopologicalPharmacophoreAtomPairsFingerprints();
+
+        Returns a string containing information about
+        *TopologicalPharmacophoreAtomPairsFingerprints* object.
+
+AUTHOR
+    Manish Sud <msud@san.rr.com>
+
+SEE ALSO
+    Fingerprints.pm, FingerprintsStringUtil.pm,
+    AtomNeighborhoodsFingerprints.pm, AtomTypesFingerprints.pm,
+    EStateIndiciesFingerprints.pm, ExtendedConnectivityFingerprints.pm,
+    MACCSKeys.pm, PathLengthFingerprints.pm,
+    TopologicalAtomPairsFingerprints.pm,
+    TopologicalAtomTripletsFingerprints.pm,
+    TopologicalAtomTorsionsFingerprints.pm,
+    TopologicalPharmacophoreAtomTripletsFingerprints.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.
+