| 
0
 | 
     1 <html>
 | 
| 
 | 
     2 <head>
 | 
| 
 | 
     3 <title>MayaChemTools:Documentation:MolecularDescriptors::RingsCountDescriptors.pm</title>
 | 
| 
 | 
     4 <meta http-equiv="content-type" content="text/html;charset=utf-8">
 | 
| 
 | 
     5 <link rel="stylesheet" type="text/css" href="../../css/MayaChemTools.css">
 | 
| 
 | 
     6 </head>
 | 
| 
 | 
     7 <body leftmargin="20" rightmargin="20" topmargin="10" bottommargin="10">
 | 
| 
 | 
     8 <br/>
 | 
| 
 | 
     9 <center>
 | 
| 
 | 
    10 <a href="http://www.mayachemtools.org" title="MayaChemTools Home"><img src="../../images/MayaChemToolsLogo.gif" border="0" alt="MayaChemTools"></a>
 | 
| 
 | 
    11 </center>
 | 
| 
 | 
    12 <br/>
 | 
| 
 | 
    13 <div class="DocNav">
 | 
| 
 | 
    14 <table width="100%" border=0 cellpadding=0 cellspacing=2>
 | 
| 
 | 
    15 <tr align="left" valign="top"><td width="33%" align="left"><a href="./MolecularVolumeDescriptors.html" title="MolecularVolumeDescriptors.html">Previous</a>  <a href="./index.html" title="Table of Contents">TOC</a>  <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> | <a href="./../pdf/RingsCountDescriptors.pdf" title="PDF US Letter Size">PDF</a> | <a href="./../pdfgreen/RingsCountDescriptors.pdf" title="PDF US Letter Size with narrow margins: www.changethemargins.com">PDFGreen</a> | <a href="./../pdfa4/RingsCountDescriptors.pdf" title="PDF A4 Size">PDFA4</a> | <a href="./../pdfa4green/RingsCountDescriptors.pdf" title="PDF A4 Size with narrow margins: www.changethemargins.com">PDFA4Green</a></td></tr>
 | 
| 
 | 
    16 </table>
 | 
| 
 | 
    17 </div>
 | 
| 
 | 
    18 <p>
 | 
| 
 | 
    19 </p>
 | 
| 
 | 
    20 <h2>NAME</h2>
 | 
| 
 | 
    21 <p>RingsCountDescriptors</p>
 | 
| 
 | 
    22 <p>
 | 
| 
 | 
    23 </p>
 | 
| 
 | 
    24 <h2>SYNOPSIS</h2>
 | 
| 
 | 
    25 <p>use MolecularDescriptors::RingsCountDescriptors;</p>
 | 
| 
 | 
    26 <p>use MolecularDescriptors::RingsCountDescriptors qw(:all);</p>
 | 
| 
 | 
    27 <p>
 | 
| 
 | 
    28 </p>
 | 
| 
 | 
    29 <h2>DESCRIPTION</h2>
 | 
| 
 | 
    30 <p><strong>RingsCountDescriptors</strong> class provides the following methods:</p>
 | 
| 
 | 
    31 <p> <a href="#new">new</a>, <a href="#generatedescriptors">GenerateDescriptors</a>, <a href="#getdescriptornames">GetDescriptorNames</a>, <a href="#stringifyringscountdescriptors">StringifyRingsCountDescriptors</a>
 | 
| 
 | 
    32 </p><p><strong>RingsCountDescriptors</strong> is derived from <strong>MolecularDescriptors</strong> class which in turn
 | 
| 
 | 
    33 is  derived from <strong>ObjectProperty</strong> base class that provides methods not explicitly defined
 | 
| 
 | 
    34 in <strong>RingsCountDescriptors</strong>, <strong>MolecularDescriptors</strong> or <strong>ObjectProperty</strong> classes using Perl's
 | 
| 
 | 
    35 AUTOLOAD functionality. These methods are generated on-the-fly for a specified object property:</p>
 | 
| 
 | 
    36 <div class="OptionsBox">
 | 
| 
 | 
    37     Set<PropertyName>(<PropertyValue>);
 | 
| 
 | 
    38 <br/>    $PropertyValue = Get<PropertyName>();
 | 
| 
 | 
    39 <br/>    Delete<PropertyName>();</div>
 | 
| 
 | 
    40 <p><strong>RingsCountDescriptors</strong> class doesn't perform any ring or aromaticity detection before
 | 
| 
 | 
    41 counting their number in a molecule. Instead, it assumes ring and aromaticity detection have
 | 
| 
 | 
    42 been performed by caller using <strong>DetectRings</strong> [Ref 31] and <strong>DetectAromaticity</strong> methods
 | 
| 
 | 
    43 available in <strong>Molecule</strong>.</p>
 | 
| 
 | 
    44 <p><strong>DetectAromaticity</strong> method available in <strong>Molecule</strong> class assigns aromaticity to rings
 | 
| 
 | 
    45 using Huckel rule as explained below:</p>
 | 
| 
 | 
    46 <p>o Ring aromaticity is determined using Huckel's rule: a ring containing 4n + 2 pi electrons is
 | 
| 
 | 
    47 considered aromatic.</p>
 | 
| 
 | 
    48 <p>o Hetrocyclic rings containing N, O and S atoms fall into two classes: Basic aromatic and
 | 
| 
 | 
    49 Non-basic aromatic. In Basic aromatic hetrocyclic rings, heteroatom itself is involved in a
 | 
| 
 | 
    50 double bond. (e.g. Pyridine) However, in non-basic hetrocyclic rings, heteroatom might have
 | 
| 
 | 
    51 an attached hydrogen atom and the remaining lone pair contribute to electron delocalization
 | 
| 
 | 
    52 and contributes to 4n + 2 electrons. (e.g. Pyrrole, Furan)</p>
 | 
| 
 | 
    53 <p>o For molecules containing fused rings, each fused ring set is considered as one aromatic
 | 
| 
 | 
    54 system for counting pi electrons to satisfy Huckel's rule; In case of a failure, rings in
 | 
| 
 | 
    55 fused set are treated individually for aromaticity detection. Additionally, non-fused
 | 
| 
 | 
    56 rings are handled on their own during aromaticity detection.</p>
 | 
| 
 | 
    57 <p>
 | 
| 
 | 
    58 </p>
 | 
| 
 | 
    59 <h2>METHODS</h2>
 | 
| 
 | 
    60 <dl>
 | 
| 
 | 
    61 <dt><strong><a name="new" class="item"><strong>new</strong></a></strong></dt>
 | 
| 
 | 
    62 <dd>
 | 
| 
 | 
    63 <div class="OptionsBox">
 | 
| 
 | 
    64     $NewRingsCountDescriptors = new MolecularDescriptors::
 | 
| 
 | 
    65                                 RingsCountDescriptors(
 | 
| 
 | 
    66                                 %NamesAndValues);</div>
 | 
| 
 | 
    67 <p>Using specified <em>RingsCountDescriptors</em> property names and values hash, <strong>new</strong>
 | 
| 
 | 
    68 method creates a new object and returns a reference to newly created <strong>RingsCountDescriptors</strong>
 | 
| 
 | 
    69 object. By default, the following properties are initialized:</p>
 | 
| 
 | 
    70 <div class="OptionsBox">
 | 
| 
 | 
    71     Molecule = ''
 | 
| 
 | 
    72 <br/>    Type = 'RingsCount'</div>
 | 
| 
 | 
    73 <div class="OptionsBox">
 | 
| 
 | 
    74     @DescriptorNames = ('Rings', 'AromaticRings')
 | 
| 
 | 
    75 <br/>    @DescriptorValues = ('None', 'None')</div>
 | 
| 
 | 
    76 <p>Examples:</p>
 | 
| 
 | 
    77 <div class="OptionsBox">
 | 
| 
 | 
    78     $RingsCountDescriptors = new MolecularDescriptors::RingsCountDescriptors(
 | 
| 
 | 
    79                               'Molecule' => $Molecule);</div>
 | 
| 
 | 
    80 <div class="OptionsBox">
 | 
| 
 | 
    81     $RingsCountDescriptors = new MolecularDescriptors::RingsCountDescriptors();</div>
 | 
| 
 | 
    82 <div class="OptionsBox">
 | 
| 
 | 
    83     $RingsCountDescriptors->SetMolecule($Molecule);
 | 
| 
 | 
    84 <br/>    $RingsCountDescriptors->GenerateDescriptors();
 | 
| 
 | 
    85 <br/>    print "RingsCountDescriptors: $RingsCountDescriptors\n";</div>
 | 
| 
 | 
    86 </dd>
 | 
| 
 | 
    87 <dt><strong><a name="generatedescriptors" class="item"><strong>GenerateDescriptors</strong></a></strong></dt>
 | 
| 
 | 
    88 <dd>
 | 
| 
 | 
    89 <div class="OptionsBox">
 | 
| 
 | 
    90     $RingsCountDescriptors->GenerateDescriptors();</div>
 | 
| 
 | 
    91 <p>Calculate number of rings and aromatic rings in a molecule and returns
 | 
| 
 | 
    92 <em>RingsCountDescriptors</em>.</p>
 | 
| 
 | 
    93 </dd>
 | 
| 
 | 
    94 <dt><strong><a name="getdescriptornames" class="item"><strong>GetDescriptorNames</strong></a></strong></dt>
 | 
| 
 | 
    95 <dd>
 | 
| 
 | 
    96 <div class="OptionsBox">
 | 
| 
 | 
    97     @DescriptorNames = $RingsCountDescriptors->GetDescriptorNames();
 | 
| 
 | 
    98 <br/>    @DescriptorNames = MolecularDescriptors::RingsCountDescriptors::
 | 
| 
 | 
    99                        GetDescriptorNames();</div>
 | 
| 
 | 
   100 <p>Returns all available descriptor names as an array.</p>
 | 
| 
 | 
   101 </dd>
 | 
| 
 | 
   102 <dt><strong><a name="stringifyringscountdescriptors" class="item"><strong>StringifyRingsCountDescriptors</strong></a></strong></dt>
 | 
| 
 | 
   103 <dd>
 | 
| 
 | 
   104 <div class="OptionsBox">
 | 
| 
 | 
   105     $String = $RingsCountDescriptors->
 | 
| 
 | 
   106                               StringifyRingsCountDescriptors();</div>
 | 
| 
 | 
   107 <p>Returns a string containing information about <em>RingsCountDescriptors</em> object.</p>
 | 
| 
 | 
   108 </dd>
 | 
| 
 | 
   109 </dl>
 | 
| 
 | 
   110 <p>
 | 
| 
 | 
   111 </p>
 | 
| 
 | 
   112 <h2>AUTHOR</h2>
 | 
| 
 | 
   113 <p><a href="mailto:msud@san.rr.com">Manish Sud</a></p>
 | 
| 
 | 
   114 <p>
 | 
| 
 | 
   115 </p>
 | 
| 
 | 
   116 <h2>SEE ALSO</h2>
 | 
| 
 | 
   117 <p><a href="./MolecularDescriptors.html">MolecularDescriptors.pm</a>, <a href="./MolecularDescriptorsGenerator.html">MolecularDescriptorsGenerator.pm</a>
 | 
| 
 | 
   118 </p>
 | 
| 
 | 
   119 <p>
 | 
| 
 | 
   120 </p>
 | 
| 
 | 
   121 <h2>COPYRIGHT</h2>
 | 
| 
 | 
   122 <p>Copyright (C) 2015 Manish Sud. All rights reserved.</p>
 | 
| 
 | 
   123 <p>This file is part of MayaChemTools.</p>
 | 
| 
 | 
   124 <p>MayaChemTools is free software; you can redistribute it and/or modify it under
 | 
| 
 | 
   125 the terms of the GNU Lesser General Public License as published by the Free
 | 
| 
 | 
   126 Software Foundation; either version 3 of the License, or (at your option)
 | 
| 
 | 
   127 any later version.</p>
 | 
| 
 | 
   128 <p> </p><p> </p><div class="DocNav">
 | 
| 
 | 
   129 <table width="100%" border=0 cellpadding=0 cellspacing=2>
 | 
| 
 | 
   130 <tr align="left" valign="top"><td width="33%" align="left"><a href="./MolecularVolumeDescriptors.html" title="MolecularVolumeDescriptors.html">Previous</a>  <a href="./index.html" title="Table of Contents">TOC</a>  <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>
 | 
| 
 | 
   131 </table>
 | 
| 
 | 
   132 </div>
 | 
| 
 | 
   133 <br />
 | 
| 
 | 
   134 <center>
 | 
| 
 | 
   135 <img src="../../images/h2o2.png">
 | 
| 
 | 
   136 </center>
 | 
| 
 | 
   137 </body>
 | 
| 
 | 
   138 </html>
 |