view mayachemtools/docs/modules/html/TopologicalPharmacophoreAtomTripletsFingerprints.html @ 0:73ae111cf86f draft

Uploaded
author deepakjadmin
date Wed, 20 Jan 2016 11:55:01 -0500
parents
children
line wrap: on
line source

<html>
<head>
<title>MayaChemTools:Documentation:Fingerprints::TopologicalPharmacophoreAtomTripletsFingerprints.pm</title>
<meta http-equiv="content-type" content="text/html;charset=utf-8">
<link rel="stylesheet" type="text/css" href="../../css/MayaChemTools.css">
</head>
<body leftmargin="20" rightmargin="20" topmargin="10" bottommargin="10">
<br/>
<center>
<a href="http://www.mayachemtools.org" title="MayaChemTools Home"><img src="../../images/MayaChemToolsLogo.gif" border="0" alt="MayaChemTools"></a>
</center>
<br/>
<div class="DocNav">
<table width="100%" border=0 cellpadding=0 cellspacing=2>
<tr align="left" valign="top"><td width="33%" align="left"><a href="./TopologicalPharmacophoreAtomPairsFingerprints.html" title="TopologicalPharmacophoreAtomPairsFingerprints.html">Previous</a>&nbsp;&nbsp;<a href="./index.html" title="Table of Contents">TOC</a>&nbsp;&nbsp;<a href="./CyclesDetection.html" title="CyclesDetection.html">Next</a></td><td width="34%" align="middle"><strong>Fingerprints::TopologicalPharmacophoreAtomTripletsFingerprints.pm</strong></td><td width="33%" align="right"><a href="././code/TopologicalPharmacophoreAtomTripletsFingerprints.html" title="View source code">Code</a>&nbsp;|&nbsp;<a href="./../pdf/TopologicalPharmacophoreAtomTripletsFingerprints.pdf" title="PDF US Letter Size">PDF</a>&nbsp;|&nbsp;<a href="./../pdfgreen/TopologicalPharmacophoreAtomTripletsFingerprints.pdf" title="PDF US Letter Size with narrow margins: www.changethemargins.com">PDFGreen</a>&nbsp;|&nbsp;<a href="./../pdfa4/TopologicalPharmacophoreAtomTripletsFingerprints.pdf" title="PDF A4 Size">PDFA4</a>&nbsp;|&nbsp;<a href="./../pdfa4green/TopologicalPharmacophoreAtomTripletsFingerprints.pdf" title="PDF A4 Size with narrow margins: www.changethemargins.com">PDFA4Green</a></td></tr>
</table>
</div>
<p>
</p>
<h2>NAME</h2>
<p>TopologicalPharmacophoreAtomTripletsFingerprints</p>
<p>
</p>
<h2>SYNOPSIS</h2>
<p>use Fingerprints::TopologicalPharmacophoreAtomTripletsFingerprints;</p>
<p>use Fingerprints::TopologicalPharmacophoreAtomTripletsFingerprints qw(:all);</p>
<p>
</p>
<h2>DESCRIPTION</h2>
<p><strong>TopologicalPharmacophoreAtomTripletsFingerprints</strong> [ Ref 66, Ref 68-71 ] class provides
the following methods:</p>
<p>new, GenerateFingerprints, , GetDescription, GetAtomTripletIDs,
SetAtomTypesToUse, SetDistanceBinSize, SetMaxDistance, SetMinDistance,
StringifyTopologicalPharmacophoreAtomTripletsFingerprints</p>
<p><strong>TopologicalPharmacophoreAtomTripletsFingerprints</strong> is derived from <strong>Fingerprints</strong> class
which in turn is  derived from <strong>ObjectProperty</strong> base class that provides methods not explicitly
defined in <strong>TopologicalPharmacophoreAtomTripletsFingerprints</strong>, <strong>Fingerprints</strong> or <strong>ObjectProperty</strong>
classes using Perl's AUTOLOAD functionality. These methods are generated on-the-fly for a specified
object property:</p>
<div class="OptionsBox">
    Set&lt;PropertyName&gt;(&lt;PropertyValue&gt;);
<br/>    $PropertyValue = Get&lt;PropertyName&gt;();
<br/>    Delete&lt;PropertyName&gt;();</div>
<p>Based on the values specified for <strong>AtomTypesToUse</strong>, pharmacophore atom types are
assigned to all non-hydrogen atoms in a molecule and a distance matrix is generated.
Using <strong>MinDistance</strong>, <strong>MaxDistance</strong>, and <strong>DistanceBinSize</strong> values, a
binned distance matrix is generated with lower bound on the distance bin as the distance
in distance matrix; the lower bound on the distance bin is also used as the distance between
atom pairs for generation of atom triplet identifiers.</p>
<p>A pharmacophore atom triplets basis set is generated for all unique atom triplets constituting
atom pairs binned distances between <strong>--MinDistance</strong> and <strong>--MaxDistance</strong>. The value
of <strong>--UseTriangleInequality</strong> determines whether the triangle inequality test is applied during
generation of atom triplets basis set. The lower distance bound, along with specified pharmacophore
types, is used during generation of atom triplet IDs.</p>
<div class="OptionsBox">
    Let:</div>
<div class="OptionsBox">
    P = Valid pharmacophore atom type</div>
<div class="OptionsBox">
    Px = Pharmacophore atom x
<br/>    Py = Pharmacophore atom y
<br/>    Pz = Pharmacophore atom z</div>
<div class="OptionsBox">
    Dmin = Minimum distance corresponding to number of bonds between two atoms
<br/>    Dmax = Maximum distance corresponding to number of bonds between two atoms
<br/>    D = Distance corresponding to number of bonds between two atom</div>
<div class="OptionsBox">
    Bsize  = Distance bin size
<br/>    Nbins = Number of distance bins</div>
<div class="OptionsBox">
    Dxy = Distance or lower bound of binned distance between Px and Py
<br/>    Dxz = Distance or lower bound of binned distance between Px and Pz
<br/>    Dyz = Distance or lower bound of binned distance between Py and Pz</div>
<div class="OptionsBox">
    Then:</div>
<div class="OptionsBox">
    PxDyz-PyDxz-PzDxy = Pharmacophore atom triplet IDs for atom types Px,
                        Py, and Pz</div>
<div class="OptionsBox">
    For example: H1-H1-H1, H2-HBA-H2 and so on.</div>
<div class="OptionsBox">
    For default values of Dmin = 1 , Dmax = 10 and Bsize = 2, the number of
<br/>    distance bins, Nbins = 5, are:</div>
<div class="OptionsBox">
    [1, 2] [3, 4] [5, 6] [7, 8] [9 10]</div>
<div class="OptionsBox">
    and atom triplet basis set size is 2692.</div>
<div class="OptionsBox">
    Atom triplet basis set size for various values of Dmin, Dmax and Bsize in
<br/>    conjunction with usage of triangle inequality is:</div>
<div class="OptionsBox">
    Dmin    Dmax   Bsize   UseTriangleInequality   TripletBasisSetSize
<br/>    1       10     2       No                      4960
<br/>    1       10     2       Yes                     2692 [ Default ]
<br/>    2       12     2       No                      8436
<br/>    2       12     2       Yes                     4494</div>
<p>Using binned distance matrix and pharmacohore atom types, occurrence of unique pharmacohore
atom triplets is counted.</p>
<p>The final pharmacophore atom triples count along with atom pair identifiers involving all non-hydrogen
atoms constitute pharmacophore topological atom triplets fingerprints of the molecule.</p>
<p>For <em>ArbitrarySize</em> value of <strong>AtomTripletsSetSizeToUse</strong>, the fingerprint vector correspond to
only those topological pharmacophore atom triplets which are present and have non-zero count. However,
for <em>FixedSize</em> value of <strong>AtomTripletsSetSizeToUse</strong>, the fingerprint vector contains all possible
valid topological pharmacophore atom triplets with both zero and non-zero count values.</p>
<p>The current release of MayaChemTools generates the following types of topological pharmacophore
atom triplets fingerprints vector strings:</p>
<div class="OptionsBox">
    FingerprintsVector;TopologicalPharmacophoreAtomTriplets:ArbitrarySize:
<br/>    MinDistance1:MaxDistance10;696;NumericalValues;IDsAndValuesString;Ar1-
<br/>    Ar1-Ar1 Ar1-Ar1-H1 Ar1-Ar1-HBA1 Ar1-Ar1-HBD1 Ar1-H1-H1 Ar1-H1-HBA1 Ar1
<br/>    -H1-HBD1 Ar1-HBA1-HBD1 H1-H1-H1 H1-H1-HBA1 H1-H1-HBD1 H1-HBA1-HBA1 H1-
<br/>    HBA1-HBD1 H1-HBA1-NI1 H1-HBD1-NI1 HBA1-HBA1-NI1 HBA1-HBD1-NI1 Ar1-...;
<br/>    46 106 8 3 83 11 4 1 21 5 3 1 2 2 1 1 1 100 101 18 11 145 132 26 14 23
<br/>    28 3 3 5 4 61 45 10 4 16 20 7 5 1 3 4 5 3 1 1 1 1 5 4 2 1 2 2 2 1 1 1
<br/>    119 123 24 15 185 202 41 25 22 17 3 5 85 95 18 11 23 17 3 1 1 6 4 ...</div>
<div class="OptionsBox">
    FingerprintsVector;TopologicalPharmacophoreAtomTriplets:FixedSize:MinD
<br/>    istance1:MaxDistance10;2692;OrderedNumericalValues;ValuesString;46 106
<br/>    8 3 0 0 83 11 4 0 0 0 1 0 0 0 0 0 0 0 0 21 5 3 0 0 1 2 2 0 0 1 0 0 0
<br/>    0 0 0 1 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 100 101 18 11 0 0 145 132 26
<br/>    14 0 0 23 28 3 3 0 0 5 4 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 61 45 10 4 0
<br/>    0 16 20 7 5 1 0 3 4 5 3 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 0 0 5 ...</div>
<div class="OptionsBox">
    FingerprintsVector;TopologicalPharmacophoreAtomTriplets:FixedSize:MinD
<br/>    istance1:MaxDistance10;2692;OrderedNumericalValues;IDsAndValuesString;
<br/>    Ar1-Ar1-Ar1 Ar1-Ar1-H1 Ar1-Ar1-HBA1 Ar1-Ar1-HBD1 Ar1-Ar1-NI1 Ar1-Ar1-P
<br/>    I1 Ar1-H1-H1 Ar1-H1-HBA1 Ar1-H1-HBD1 Ar1-H1-NI1 Ar1-H1-PI1 Ar1-HBA1-HB
<br/>    A1 Ar1-HBA1-HBD1 Ar1-HBA1-NI1 Ar1-HBA1-PI1 Ar1-HBD1-HBD1 Ar1-HBD1-...;
<br/>    46 106 8 3 0 0 83 11 4 0 0 0 1 0 0 0 0 0 0 0 0 21 5 3 0 0 1 2 2 0 0 1
<br/>    0 0 0 0 0 0 1 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 100 101 18 11 0 0 145
<br/>    132 26 14 0 0 23 28 3 3 0 0 5 4 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 61 ...</div>
<p>
</p>
<h2>METHODS</h2>
<dl>
<dt><strong><a name="new" class="item"><strong>new</strong></a></strong></dt>
<dd>
<div class="OptionsBox">
    $TPATFP = new TopologicalPharmacophoreAtomTripletsFingerprints(
                                                   %NamesAndValues);</div>
<p>Using specified <em>TopologicalPharmacophoreAtomTripletsFingerprints</em> property names and values hash, <strong>new</strong>
method creates a new object and returns a reference to newly created <strong>TopologicalPharmacophoreAtomTripletsFingerprints</strong>
object. By default, the following properties are initialized:</p>
<div class="OptionsBox">
    Molecule = ''
<br/>    Type = 'TopologicalPharmacophoreAtomTriplets'
<br/>    MinDistance = 1
<br/>    MaxDistance = 10
<br/>    DistanceBinSize = 2
<br/>    UseTriangleInequality = 1
<br/>    AtomTypesToUse = ['HBD', 'HBA', 'PI', 'NI', 'H', 'Ar']</div>
<p>Examples:</p>
<div class="OptionsBox">
    $TPATFP = new TopologicalPharmacophoreAtomTripletsFingerprints(
                              'Molecule' =&gt; $Molecule);</div>
<div class="OptionsBox">
    $TPATFP = new TopologicalPharmacophoreAtomTripletsFingerprints(
                              'Molecule' =&gt; $Molecule,
                              'AtomTripletsSetSizeToUse' =&gt; 'ArbitrarySize';
                              'MinDistance' =&gt; 1,
                              'MaxDistance' =&gt; 10,
                              'DistanceBinSize' =&gt; 2,
                              'AtomTypesToUse' =&gt; ['HBD', 'HBA', 'PI', 'NI', 'H', 'Ar'],
                              'UseTriangleInequality' =&gt; 1);</div>
<div class="OptionsBox">
    $TPATFP = new TopologicalPharmacophoreAtomTripletsFingerprints(
                              'Molecule' =&gt; $Molecule,
                              'AtomTripletsSetSizeToUse' =&gt; 'FixedSize';
                              'MinDistance' =&gt; 1,
                              'MaxDistance' =&gt; 10,
                              'DistanceBinSize' =&gt; 2,
                              'AtomTypesToUse' =&gt; ['HBD', 'HBA', 'PI', 'NI', 'H', 'Ar'],
                              'UseTriangleInequality' =&gt; 1);</div>
<div class="OptionsBox">
    $TPATFP-&gt;GenerateFingerprints();
<br/>    print &quot;$TPATFP\n&quot;;</div>
</dd>
<dt><strong><a name="getdescription" class="item"><strong>GetDescription</strong></a></strong></dt>
<dd>
<div class="OptionsBox">
    $Description = $TopologicalPharmacophoreAtomTripletsFP-&gt;GetDescription();</div>
<p>Returns a string containing description of topological pharmacophore atom triplets fingerprints.</p>
</dd>
<dt><strong><a name="generatefingerprints" class="item"><strong>GenerateFingerprints</strong></a></strong></dt>
<dd>
<div class="OptionsBox">
    $TopologicalPharmacophoreAtomTripletsFP-&gt;GenerateFingerprints();</div>
<p>Generates topological pharmacophore atom triplets fingerprints and returns
<em>TopologicalPharmacophoreAtomTripletsFP</em>.</p>
</dd>
<dt><strong><a name="getatomtripletids" class="item"><strong>GetAtomTripletIDs</strong></a></strong></dt>
<dd>
<div class="OptionsBox">
    $AtomTripletsIDsRef = $TopologicalPharmacophoreATFP-&gt;GetAtomTripletIDs();
<br/>    @AtomTripletIDs = $TopologicalPharmacophoreATFP-&gt;GetAtomTripletIDs();</div>
<p>Returns atom triplet IDs corresponding to atom pairs count values in topological pharmacophore
atom triplet fingerprints vector as an array or reference to an array.</p>
</dd>
<dt><strong><a name="atomtripletssetsizetouse" class="item"><strong>AtomTripletsSetSizeToUse</strong></a></strong></dt>
<dd>
<div class="OptionsBox">
    $TPAFP-&gt;AtomTripletsSetSizeToUse($Values);</div>
<p>Sets pharmacophore atom triplets set size to use for topological pharmacophore fingerprints
generation and returns <em>TopologicalPharmacophoreAtomTripletsFingerprints</em>.</p>
<p>Possible values for pharmacophore atom triplets set size are: <em>ArbitrarySize, FizedSize</em>.
Default value: <em>ArbitrarySize</em>.</p>
<p>For <em>ArbitrarySize</em> value of <strong>AtomTripletsSetSizeToUse</strong>, the fingerprint vector correspond to
only those topological pharmacophore atom triplets which are present and have non-zero count. However,
for <em>FixedSize</em> value of <strong>AtomTripletsSetSizeToUse</strong>, the fingerprint vector contains all possible
valid topological pharmacophore atom triplets with both zero and non-zero count values.</p>
</dd>
<dt><strong><a name="setatomtypestouse" class="item"><strong>SetAtomTypesToUse</strong></a></strong></dt>
<dd>
<div class="OptionsBox">
    $TopologicalPharmacophoreAtomTripletsFP-&gt;SetAtomTypesToUse($ValuesRef);
<br/>    $TopologicalPharmacophoreAtomTripletsFP-&gt;SetAtomTypesToUse(@Values);</div>
<p>Sets pharmacophore atom types to use for topological pharmacophore fingerprints
generation and returns <em>TopologicalPharmacophoreAtomTripletsFingerprints</em>.</p>
<p>Possible values for pharmacophore atom types are: <em>Ar, CA, H, HBA, HBD, Hal, NI, PI, RA</em>.
Default value [ Ref 71 ] : <em>HBD,HBA,PI,NI,H,Ar</em>.</p>
<p>The pharmacophore atom types abbreviations correspond to:</p>
<div class="OptionsBox">
    HBD: HydrogenBondDonor
<br/>    HBA: HydrogenBondAcceptor
<br/>    PI :  PositivelyIonizable
<br/>    NI : NegativelyIonizable
<br/>    Ar : Aromatic
<br/>    Hal : Halogen
<br/>    H : Hydrophobic
<br/>    RA : RingAtom
<br/>    CA : ChainAtom</div>
<p><em>AtomTypes::FunctionalClassAtomTypes</em> module is used to assign pharmacophore atom
types. It uses following definitions [ Ref 60-61, Ref 65-66 ]:</p>
<div class="OptionsBox">
    HydrogenBondDonor: NH, NH2, OH
<br/>    HydrogenBondAcceptor: N[!H], O
<br/>    PositivelyIonizable: +, NH2
<br/>    NegativelyIonizable: -, C(=O)OH, S(=O)OH, P(=O)OH</div>
</dd>
<dt><strong><a name="setdistancebinsize" class="item"><strong>SetDistanceBinSize</strong></a></strong></dt>
<dd>
<div class="OptionsBox">
    $TopologicalPharmacophoreAtomTripletsFP-&gt;SetDistanceBinSize($Value);</div>
<p>Sets distance bin size used to bin distances between atom pairs in atom triplets and returns
<em>TopologicalPharmacophoreAtomTriplesFP</em>.</p>
<p>For default <strong>MinDistance</strong> and <strong>MaxDistance</strong> values of 1 and 10 with  <strong>DistanceBinSize</strong>
of 2 [ Ref 70 ], the following 5 distance bins are generated:</p>
<div class="OptionsBox">
    [1, 2] [3, 4] [5, 6] [7, 8] [9 10]</div>
<p>The lower distance bound on the distance bin is uses to bin the distance between atom pairs in
atom triplets. So in the previous example, atom pairs with distances 1 and 2 fall in first distance
bin, atom pairs with distances 3 and 4  fall in second distance bin and so on.</p>
<p>In order to distribute distance bins of equal size, the last bin is allowed to go past <strong>MaxDistance</strong>
by up to distance bin size. For example, <strong>MinDistance</strong> and <strong>MaxDistance</strong> values of 2 and 10
with <strong>DistanceBinSize</strong> of 2 generates the following 6 distance bins:</p>
<div class="OptionsBox">
    [2, 3] [4, 5] [6, 7] [8, 9] [10 11]</div>
</dd>
<dt><strong><a name="setmaxdistance" class="item"><strong>SetMaxDistance</strong></a></strong></dt>
<dd>
<div class="OptionsBox">
    $TopologicalPharmacophoreAtomTriplesFP-&gt;SetMaxDistance($Value);</div>
<p>Sets maximum bond distance between atom pairs  corresponding to atom triplets for
generating topological pharmacophore atom triplets fingerprints and returns
<em>TopologicalPharmacophoreAtomTriplesFP</em>.</p>
</dd>
<dt><strong><a name="setmindistance" class="item"><strong>SetMinDistance</strong></a></strong></dt>
<dd>
<div class="OptionsBox">
    $TopologicalPharmacophoreAtomTriplesFP-&gt;SetMinDistance($Value);</div>
<p>Sets minimum bond distance between atom pairs  corresponding to atom triplets for
generating topological pharmacophore atom triplets fingerprints and returns
<em>TopologicalPharmacophoreAtomTriplesFP</em>.</p>
</dd>
<dt><strong><a name="stringifytopologicalpharmacophoreatomtripletsfingerprints" class="item"><strong>StringifyTopologicalPharmacophoreAtomTripletsFingerprints</strong></a></strong></dt>
<dd>
<div class="OptionsBox">
    $String = $TopologicalPharmacophoreAtomTripletsFingerprints-&gt;
                   StringifyTopologicalPharmacophoreAtomTripletsFingerprints();</div>
<p>Returns a string containing information about <em>TopologicalPharmacophoreAtomTripletsFingerprints</em> object.</p>
</dd>
</dl>
<p>
</p>
<h2>AUTHOR</h2>
<p><a href="mailto:msud@san.rr.com">Manish Sud</a></p>
<p>
</p>
<h2>SEE ALSO</h2>
<p><a href="./Fingerprints.html">Fingerprints.pm</a>,&nbsp<a href="./FingerprintsStringUtil.html">FingerprintsStringUtil.pm</a>,&nbsp<a href="./AtomNeighborhoodsFingerprints.html">AtomNeighborhoodsFingerprints.pm</a>,&nbsp
<a href="./AtomTypesFingerprints.html">AtomTypesFingerprints.pm</a>,&nbsp<a href="./EStateIndiciesFingerprints.html">EStateIndiciesFingerprints.pm</a>,&nbsp<a href="./ExtendedConnectivityFingerprints.html">ExtendedConnectivityFingerprints.pm</a>,&nbsp
<a href="./MACCSKeys.html">MACCSKeys.pm</a>,&nbsp<a href="./PathLengthFingerprints.html">PathLengthFingerprints.pm</a>,&nbsp<a href="./TopologicalAtomPairsFingerprints.html">TopologicalAtomPairsFingerprints.pm</a>,&nbsp
<a href="./TopologicalAtomTripletsFingerprints.html">TopologicalAtomTripletsFingerprints.pm</a>,&nbsp<a href="./TopologicalAtomTorsionsFingerprints.html">TopologicalAtomTorsionsFingerprints.pm</a>,&nbsp
<a href="./TopologicalPharmacophoreAtomPairsFingerprints.html">TopologicalPharmacophoreAtomPairsFingerprints.pm</a>
</p>
<p>
</p>
<h2>COPYRIGHT</h2>
<p>Copyright (C) 2015 Manish Sud. All rights reserved.</p>
<p>This file is part of MayaChemTools.</p>
<p>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.</p>
<p>&nbsp</p><p>&nbsp</p><div class="DocNav">
<table width="100%" border=0 cellpadding=0 cellspacing=2>
<tr align="left" valign="top"><td width="33%" align="left"><a href="./TopologicalPharmacophoreAtomPairsFingerprints.html" title="TopologicalPharmacophoreAtomPairsFingerprints.html">Previous</a>&nbsp;&nbsp;<a href="./index.html" title="Table of Contents">TOC</a>&nbsp;&nbsp;<a href="./CyclesDetection.html" title="CyclesDetection.html">Next</a></td><td width="34%" align="middle"><strong>March 29, 2015</strong></td><td width="33%" align="right"><strong>Fingerprints::TopologicalPharmacophoreAtomTripletsFingerprints.pm</strong></td></tr>
</table>
</div>
<br />
<center>
<img src="../../images/h2o2.png">
</center>
</body>
</html>