diff 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 diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mayachemtools/docs/modules/html/TopologicalPharmacophoreAtomTripletsFingerprints.html	Wed Jan 20 11:55:01 2016 -0500
@@ -0,0 +1,315 @@
+<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>