view mayachemtools/docs/modules/html/RingsCountDescriptors.html @ 9:ab29fa5c8c1f draft default tip

Uploaded
author deepakjadmin
date Thu, 15 Dec 2016 14:18:03 -0500
parents 73ae111cf86f
children
line wrap: on
line source

<html>
<head>
<title>MayaChemTools:Documentation:MolecularDescriptors::RingsCountDescriptors.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="./MolecularVolumeDescriptors.html" title="MolecularVolumeDescriptors.html">Previous</a>&nbsp;&nbsp;<a href="./index.html" title="Table of Contents">TOC</a>&nbsp;&nbsp;<a href="./RotatableBondsDescriptors.html" title="RotatableBondsDescriptors.html">Next</a></td><td width="34%" align="middle"><strong>MolecularDescriptors::RingsCountDescriptors.pm</strong></td><td width="33%" align="right"><a href="././code/RingsCountDescriptors.html" title="View source code">Code</a>&nbsp;|&nbsp;<a href="./../pdf/RingsCountDescriptors.pdf" title="PDF US Letter Size">PDF</a>&nbsp;|&nbsp;<a href="./../pdfgreen/RingsCountDescriptors.pdf" title="PDF US Letter Size with narrow margins: www.changethemargins.com">PDFGreen</a>&nbsp;|&nbsp;<a href="./../pdfa4/RingsCountDescriptors.pdf" title="PDF A4 Size">PDFA4</a>&nbsp;|&nbsp;<a href="./../pdfa4green/RingsCountDescriptors.pdf" title="PDF A4 Size with narrow margins: www.changethemargins.com">PDFA4Green</a></td></tr>
</table>
</div>
<p>
</p>
<h2>NAME</h2>
<p>RingsCountDescriptors</p>
<p>
</p>
<h2>SYNOPSIS</h2>
<p>use MolecularDescriptors::RingsCountDescriptors;</p>
<p>use MolecularDescriptors::RingsCountDescriptors qw(:all);</p>
<p>
</p>
<h2>DESCRIPTION</h2>
<p><strong>RingsCountDescriptors</strong> class provides the following methods:</p>
<p> <a href="#new">new</a>, <a href="#generatedescriptors">GenerateDescriptors</a>, <a href="#getdescriptornames">GetDescriptorNames</a>, <a href="#stringifyringscountdescriptors">StringifyRingsCountDescriptors</a>
</p><p><strong>RingsCountDescriptors</strong> is derived from <strong>MolecularDescriptors</strong> class which in turn
is  derived from <strong>ObjectProperty</strong> base class that provides methods not explicitly defined
in <strong>RingsCountDescriptors</strong>, <strong>MolecularDescriptors</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><strong>RingsCountDescriptors</strong> class doesn't perform any ring or aromaticity detection before
counting their number in a molecule. Instead, it assumes ring and aromaticity detection have
been performed by caller using <strong>DetectRings</strong> [Ref 31] and <strong>DetectAromaticity</strong> methods
available in <strong>Molecule</strong>.</p>
<p><strong>DetectAromaticity</strong> method available in <strong>Molecule</strong> class assigns aromaticity to rings
using Huckel rule as explained below:</p>
<p>o Ring aromaticity is determined using Huckel's rule: a ring containing 4n + 2 pi electrons is
considered aromatic.</p>
<p>o Hetrocyclic rings containing N, O and S atoms fall into two classes: Basic aromatic and
Non-basic aromatic. In Basic aromatic hetrocyclic rings, heteroatom itself is involved in a
double bond. (e.g. Pyridine) However, in non-basic hetrocyclic rings, heteroatom might have
an attached hydrogen atom and the remaining lone pair contribute to electron delocalization
and contributes to 4n + 2 electrons. (e.g. Pyrrole, Furan)</p>
<p>o For molecules containing fused rings, each fused ring set is considered as one aromatic
system for counting pi electrons to satisfy Huckel's rule; In case of a failure, rings in
fused set are treated individually for aromaticity detection. Additionally, non-fused
rings are handled on their own during aromaticity detection.</p>
<p>
</p>
<h2>METHODS</h2>
<dl>
<dt><strong><a name="new" class="item"><strong>new</strong></a></strong></dt>
<dd>
<div class="OptionsBox">
    $NewRingsCountDescriptors = new MolecularDescriptors::
                                RingsCountDescriptors(
                                %NamesAndValues);</div>
<p>Using specified <em>RingsCountDescriptors</em> property names and values hash, <strong>new</strong>
method creates a new object and returns a reference to newly created <strong>RingsCountDescriptors</strong>
object. By default, the following properties are initialized:</p>
<div class="OptionsBox">
    Molecule = ''
<br/>    Type = 'RingsCount'</div>
<div class="OptionsBox">
    @DescriptorNames = ('Rings', 'AromaticRings')
<br/>    @DescriptorValues = ('None', 'None')</div>
<p>Examples:</p>
<div class="OptionsBox">
    $RingsCountDescriptors = new MolecularDescriptors::RingsCountDescriptors(
                              'Molecule' =&gt; $Molecule);</div>
<div class="OptionsBox">
    $RingsCountDescriptors = new MolecularDescriptors::RingsCountDescriptors();</div>
<div class="OptionsBox">
    $RingsCountDescriptors-&gt;SetMolecule($Molecule);
<br/>    $RingsCountDescriptors-&gt;GenerateDescriptors();
<br/>    print &quot;RingsCountDescriptors: $RingsCountDescriptors\n&quot;;</div>
</dd>
<dt><strong><a name="generatedescriptors" class="item"><strong>GenerateDescriptors</strong></a></strong></dt>
<dd>
<div class="OptionsBox">
    $RingsCountDescriptors-&gt;GenerateDescriptors();</div>
<p>Calculate number of rings and aromatic rings in a molecule and returns
<em>RingsCountDescriptors</em>.</p>
</dd>
<dt><strong><a name="getdescriptornames" class="item"><strong>GetDescriptorNames</strong></a></strong></dt>
<dd>
<div class="OptionsBox">
    @DescriptorNames = $RingsCountDescriptors-&gt;GetDescriptorNames();
<br/>    @DescriptorNames = MolecularDescriptors::RingsCountDescriptors::
                       GetDescriptorNames();</div>
<p>Returns all available descriptor names as an array.</p>
</dd>
<dt><strong><a name="stringifyringscountdescriptors" class="item"><strong>StringifyRingsCountDescriptors</strong></a></strong></dt>
<dd>
<div class="OptionsBox">
    $String = $RingsCountDescriptors-&gt;
                              StringifyRingsCountDescriptors();</div>
<p>Returns a string containing information about <em>RingsCountDescriptors</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="./MolecularDescriptors.html">MolecularDescriptors.pm</a>,&nbsp<a href="./MolecularDescriptorsGenerator.html">MolecularDescriptorsGenerator.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="./MolecularVolumeDescriptors.html" title="MolecularVolumeDescriptors.html">Previous</a>&nbsp;&nbsp;<a href="./index.html" title="Table of Contents">TOC</a>&nbsp;&nbsp;<a href="./RotatableBondsDescriptors.html" title="RotatableBondsDescriptors.html">Next</a></td><td width="34%" align="middle"><strong>March 29, 2015</strong></td><td width="33%" align="right"><strong>MolecularDescriptors::RingsCountDescriptors.pm</strong></td></tr>
</table>
</div>
<br />
<center>
<img src="../../images/h2o2.png">
</center>
</body>
</html>