diff mayachemtools/docs/modules/html/Atom.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/Atom.html	Wed Jan 20 11:55:01 2016 -0500
@@ -0,0 +1,1569 @@
+<html>
+<head>
+<title>MayaChemTools:Documentation:Atom.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="./AminoAcids.html" title="AminoAcids.html">Previous</a>&nbsp;&nbsp;<a href="./index.html" title="Table of Contents">TOC</a>&nbsp;&nbsp;<a href="./AtomicDescriptors.html" title="AtomicDescriptors.html">Next</a></td><td width="34%" align="middle"><strong>Atom.pm</strong></td><td width="33%" align="right"><a href="././code/Atom.html" title="View source code">Code</a>&nbsp;|&nbsp;<a href="./../pdf/Atom.pdf" title="PDF US Letter Size">PDF</a>&nbsp;|&nbsp;<a href="./../pdfgreen/Atom.pdf" title="PDF US Letter Size with narrow margins: www.changethemargins.com">PDFGreen</a>&nbsp;|&nbsp;<a href="./../pdfa4/Atom.pdf" title="PDF A4 Size">PDFA4</a>&nbsp;|&nbsp;<a href="./../pdfa4green/Atom.pdf" title="PDF A4 Size with narrow margins: www.changethemargins.com">PDFA4Green</a></td></tr>
+</table>
+</div>
+<p>
+</p>
+<h2>NAME</h2>
+<p>Atom</p>
+<p>
+</p>
+<h2>SYNOPSIS</h2>
+<p>use Atom;</p>
+<p>
+</p>
+<h2>DESCRIPTION</h2>
+<p><strong>Atom</strong> class provides the following methods:</p>
+<p> <a href="#new">new</a>, <a href="#addhydrogens">AddHydrogens</a>, <a href="#copy">Copy</a>, <a href="#deleteatom">DeleteAtom</a>, <a href="#deletehydrogens">DeleteHydrogens</a>, <a href="#doesatomneighborhoodmatch">DoesAtomNeighborhoodMatch</a>
+, <a href="#getatomicinvariantvalue">GetAtomicInvariantValue</a>, <a href="#getatomicweight">GetAtomicWeight</a>, <a href="#getbondtoatom">GetBondToAtom</a>, <a href="#getbonds">GetBonds</a>
+, <a href="#getbondstoheavyatoms">GetBondsToHeavyAtoms</a>, <a href="#getbondstohydrogenatoms">GetBondsToHydrogenAtoms</a>, <a href="#getbondstononhydrogenatoms">GetBondsToNonHydrogenAtoms</a>
+, <a href="#getexactmass">GetExactMass</a>, <a href="#getexplicithydrogens">GetExplicitHydrogens</a>, <a href="#getformalcharge">GetFormalCharge</a>, <a href="#getfreeradicalelectrons">GetFreeRadicalElectrons</a>
+, <a href="#getgroupnumber">GetGroupNumber</a>, <a href="#getheavyatomneighbors">GetHeavyAtomNeighbors</a>, <a href="#getheavyatomneighborsatominformation">GetHeavyAtomNeighborsAtomInformation</a>
+, <a href="#getheavyatomneighborsbondformation">GetHeavyAtomNeighborsBondformation</a>, <a href="#gethighestcommonvalence">GetHighestCommonValence</a>
+, <a href="#gethydrogenatomneighbors">GetHydrogenAtomNeighbors</a>, <a href="#gethydrogens">GetHydrogens</a>, <a href="#getimplicithydrogens">GetImplicitHydrogens</a>, <a href="#getlargestbondorder">GetLargestBondOrder</a>
+, <a href="#getlargestbondordertoheavyatoms">GetLargestBondOrderToHeavyAtoms</a>, <a href="#getlargestbondordertononhydrogenatoms">GetLargestBondOrderToNonHydrogenAtoms</a>
+, <a href="#getlargestring">GetLargestRing</a>, <a href="#getlowestcommonvalence">GetLowestCommonValence</a>, <a href="#getmassnumber">GetMassNumber</a>, <a href="#getmissinghydrogens">GetMissingHydrogens</a>
+, <a href="#getneighbors">GetNeighbors</a>, <a href="#getneighborsusingatomspecification">GetNeighborsUsingAtomSpecification</a>, <a href="#getnonhydrogenatomneighbors">GetNonHydrogenAtomNeighbors</a>
+, <a href="#getnonhydrogenatomneighborsatominformation">GetNonHydrogenAtomNeighborsAtomInformation</a>
+, <a href="#getnonhydrogenatomneighborsbondinformation">GetNonHydrogenAtomNeighborsBondInformation</a>, <a href="#getnonhydrogenneighborofhydrogenatom">GetNonHydrogenNeighborOfHydrogenAtom</a>
+, <a href="#getnumofaromaticbondstoheavyatoms">GetNumOfAromaticBondsToHeavyAtoms</a>, <a href="#getnumofaromaticbondstononhydrogenatoms">GetNumOfAromaticBondsToNonHydrogenAtoms</a>
+, <a href="#getnumofbondtypestoheavyatoms">GetNumOfBondTypesToHeavyAtoms</a>, <a href="#getnumofbondtypestononhydrogenatoms">GetNumOfBondTypesToNonHydrogenAtoms</a>, <a href="#getnumofbonds">GetNumOfBonds</a>
+, <a href="#getnumofbondstoheavyatoms">GetNumOfBondsToHeavyAtoms</a>, <a href="#getnumofbondstohydrogenatoms">GetNumOfBondsToHydrogenAtoms</a>
+, <a href="#getnumofbondstononhydrogenatoms">GetNumOfBondsToNonHydrogenAtoms</a>, <a href="#getnumofdoublebondstoheavyatoms">GetNumOfDoubleBondsToHeavyAtoms</a>
+, <a href="#getnumofbondsavailableforheavyatoms">GetNumOfBondsAvailableForHeavyAtoms</a>, <a href="#getnumofbondsavailablefornonhydrogenatoms">GetNumOfBondsAvailableForNonHydrogenAtoms</a>
+, <a href="#getnumofdoublebondstononhydrogenatoms">GetNumOfDoubleBondsToNonHydrogenAtoms</a>, <a href="#getnumofexplicithydrogens">GetNumOfExplicitHydrogens</a>
+, <a href="#getnumofheavyatomneighbors">GetNumOfHeavyAtomNeighbors</a>, <a href="#getnumofhydrogenatomneighbors">GetNumOfHydrogenAtomNeighbors</a>, <a href="#getnumofhydrogens">GetNumOfHydrogens</a>
+, <a href="#getnumofimplicithydrogens">GetNumOfImplicitHydrogens</a>, <a href="#getnumofmissinghydrogens">GetNumOfMissingHydrogens</a>, <a href="#getnumofneighbors">GetNumOfNeighbors</a>
+, <a href="#getnumofnonhydrogenatomneighbors">GetNumOfNonHydrogenAtomNeighbors</a>, <a href="#getnumofrings">GetNumOfRings</a>, <a href="#getnumofringswithevensize">GetNumOfRingsWithEvenSize</a>
+, <a href="#getnumofringswithoddsize">GetNumOfRingsWithOddSize</a>, <a href="#getnumofringswithsize">GetNumOfRingsWithSize</a>, <a href="#getnumofringswithsizegreaterthan">GetNumOfRingsWithSizeGreaterThan</a>
+, <a href="#getnumofringswithsizelessthan">GetNumOfRingsWithSizeLessThan</a>, <a href="#getnumofsigmaandpibondstoheavyatoms">GetNumOfSigmaAndPiBondsToHeavyAtoms</a>
+, <a href="#getnumofsigmaandpibondstononhydrogenatoms">GetNumOfSigmaAndPiBondsToNonHydrogenAtoms</a>, <a href="#getnumofsinglebondstoheavyatoms">GetNumOfSingleBondsToHeavyAtoms</a>
+, <a href="#getnumofsinglebondstononhydrogenatoms">GetNumOfSingleBondsToNonHydrogenAtoms</a>, <a href="#getnumoftriplebondstoheavyatoms">GetNumOfTripleBondsToHeavyAtoms</a>
+, <a href="#getnumoftriplebondstononhydrogenatoms">GetNumOfTripleBondsToNonHydrogenAtoms</a>, <a href="#getperiodnumber">GetPeriodNumber</a>
+, <a href="#getpotentialtotalcommonvalence">GetPotentialTotalCommonValence</a>, <a href="#getrings">GetRings</a>, <a href="#getringswithevensize">GetRingsWithEvenSize</a>
+, <a href="#getringswithoddsize">GetRingsWithOddSize</a>, <a href="#getringswithsize">GetRingsWithSize</a>, <a href="#getringswithsizegreaterthan">GetRingsWithSizeGreaterThan</a>
+, <a href="#getringswithsizelessthan">GetRingsWithSizeLessThan</a>, <a href="#getsizeoflargestring">GetSizeOfLargestRing</a>, <a href="#getsizeofsmallestring">GetSizeOfSmallestRing</a>
+, <a href="#getsmallestring">GetSmallestRing</a>, <a href="#getspinmultiplicity">GetSpinMultiplicity</a>, <a href="#getsumofbondorders">GetSumOfBondOrders</a>
+, <a href="#getsumofbondorderstoheavyatoms">GetSumOfBondOrdersToHeavyAtoms</a>, <a href="#getsumofbondorderstohydrogenatoms">GetSumOfBondOrdersToHydrogenAtoms</a>
+, <a href="#getsumofbondorderstononhydrogenatoms">GetSumOfBondOrdersToNonHydrogenAtoms</a>, <a href="#getvalence">GetValence</a>, <a href="#getvalenceelectrons">GetValenceElectrons</a>
+, <a href="#getvalencefreeelectrons">GetValenceFreeElectrons</a>, <a href="#getx">GetX</a>, <a href="#getxyz">GetXYZ</a>, <a href="#getxyzvector">GetXYZVector</a>, <a href="#gety">GetY</a>, <a href="#getz">GetZ</a>, <a href="#isamidecarbon">IsAmideCarbon</a>
+, <a href="#isamidenitrogen">IsAmideNitrogen</a>, <a href="#isaromatic">IsAromatic</a>, <a href="#isarsenic">IsArsenic</a>, <a href="#isbondedtoatom">IsBondedToAtom</a>, <a href="#isbromine">IsBromine</a>, <a href="#iscarbon">IsCarbon</a>, <a href="#iscarboxylcarbon">IsCarboxylCarbon</a>
+, <a href="#iscarboxyloxygen">IsCarboxylOxygen</a>, <a href="#iscarboxylatecarbon">IsCarboxylateCarbon</a>, <a href="#iscarboxylateoxygen">IsCarboxylateOxygen</a>, <a href="#ischlorine">IsChlorine</a>
+, <a href="#isfluorine">IsFluorine</a>, <a href="#isfunctionalclasstype">IsFunctionalClassType</a>, <a href="#isguadiniumcarbon">IsGuadiniumCarbon</a>, <a href="#isguadiniumnitrogen">IsGuadiniumNitrogen</a>
+, <a href="#ishbondacceptor">IsHBondAcceptor</a>, <a href="#ishbonddonor">IsHBondDonor</a>, <a href="#ishalogen">IsHalogen</a>, <a href="#isheteroatom">IsHeteroAtom</a>, <a href="#ishydrogen">IsHydrogen</a>
+, <a href="#ishydrogenbondacceptor">IsHydrogenBondAcceptor</a>, <a href="#ishydrogenbonddonor">IsHydrogenBondDonor</a>, <a href="#ishydrophobic">IsHydrophobic</a>, <a href="#isinring">IsInRing</a>
+, <a href="#isinringofsize">IsInRingOfSize</a>, <a href="#isiodine">IsIodine</a>, <a href="#isisotope">IsIsotope</a>, <a href="#islipophilic">IsLipophilic</a>, <a href="#ismetallic">IsMetallic</a>
+, <a href="#isnegativelyionizable">IsNegativelyIonizable</a>, <a href="#isnitrogen">IsNitrogen</a>, <a href="#isnoncarbonorhydrogen">IsNonCarbonOrHydrogen</a>, <a href="#isnotinring">IsNotInRing</a>
+, <a href="#isonlyinonering">IsOnlyInOneRing</a>, <a href="#isoxygen">IsOxygen</a>, <a href="#isphosphateoxygen">IsPhosphateOxygen</a>, <a href="#isphosphatephosphorus">IsPhosphatePhosphorus</a>, <a href="#isphosphorus">IsPhosphorus</a>
+, <a href="#ispolaratom">IsPolarAtom</a>, <a href="#ispolarhydrogen">IsPolarHydrogen</a>, <a href="#ispositivelyionizable">IsPositivelyIonizable</a>, <a href="#issaturated">IsSaturated</a>, <a href="#isselenium">IsSelenium</a>
+, <a href="#issilicon">IsSilicon</a>, <a href="#isstereocenter">IsStereoCenter</a>, <a href="#issulfur">IsSulfur</a>, <a href="#issulphur">IsSulphur</a>, <a href="#istellurium">IsTellurium</a>, <a href="#isterminal">IsTerminal</a>
+, <a href="#istopologicalpharmacophoretype">IsTopologicalPharmacophoreType</a>, <a href="#isunsaturated">IsUnsaturated</a>, <a href="#setatomsymbol">SetAtomSymbol</a>, <a href="#setatomicnumber">SetAtomicNumber</a>
+, <a href="#setexplicithydrogens">SetExplicitHydrogens</a>, <a href="#setmassnumber">SetMassNumber</a>, <a href="#setstereocenter">SetStereoCenter</a>, <a href="#setstereochemistry">SetStereochemistry</a>
+, <a href="#setx">SetX</a>, <a href="#setxyz">SetXYZ</a>, <a href="#sety">SetY</a>, <a href="#setz">SetZ</a>, <a href="#stringifyatom">StringifyAtom</a>
+</p><p><strong>Atom</strong> class is derived from <strong>ObjectProperty</strong> base class which provides methods not explicitly
+defined in <strong>Atom</strong> or <strong>ObjectProperty</strong> class 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>
+</p>
+<h2>METHODS</h2>
+<dl>
+<dt><strong><a name="new" class="item"><strong>new</strong></a></strong></dt>
+<dd>
+<div class="OptionsBox">
+    $NewAtom = new Atom([%PropertyNameAndValues]);</div>
+<p>Using specified <em>Atom</em> property names and values hash, <strong>new</strong> method creates a new object
+and returns a reference to newly created <strong>Atom</strong> object. By default, following properties are
+initialized:</p>
+<div class="OptionsBox">
+    ID = SequentialObjectID
+<br/>    Name = &quot;Atom &lt;SequentialObjectID&gt;&quot;
+<br/>    AtomSymbol = &quot;&quot;
+<br/>    AtomicNumber = 0
+<br/>    XYZ = ZeroVector</div>
+<p>Except for <em>ID</em> property, all other default properties and other additional properties can
+be set during invocation of this method.</p>
+<p>Examples:</p>
+<div class="OptionsBox">
+    $Atom = new Atom();
+<br/>    $CarbonAtom = new Atom('AtomSymbol' =&gt; 'C', 'XYZ' =&gt; (0.0, 1.0,
+                  0.0));
+<br/>    $OxygenAtom = new Atom('AtomName' =&gt; 'Oxygen', AtomSymbol' =&gt; 'O',
+                  'XYZ' =&gt; (1.0, 1.0, 1.0));</div>
+</dd>
+<dt><strong><a name="addhydrogens" class="item"><strong>AddHydrogens</strong></a></strong></dt>
+<dd>
+<div class="OptionsBox">
+    $NumOfHydrogensAdded = $Atom-&gt;AddHydrogens();</div>
+<p>Adds hydrogens to an <strong>Atom</strong> present in a <strong>Molecule</strong> object and returns
+the number of added hydrogens. The current release of MayaChemTools doesn't
+assign hydrogen positions.</p>
+</dd>
+<dt><strong><a name="copy" class="item"><strong>Copy</strong></a></strong></dt>
+<dd>
+<div class="OptionsBox">
+    $AtomCopy = $Atom-&gt;Copy();</div>
+<p>Copy <em>Atom</em> and its associated data using <strong>Storable::dclone</strong> and return a new
+<strong>Atom</strong> object.</p>
+</dd>
+<dt><strong><a name="deleteatom" class="item"><strong>DeleteAtom</strong></a></strong></dt>
+<dd>
+<div class="OptionsBox">
+    $Atom-&gt;DeleteAtom();</div>
+<p>Delete <em>Atom</em> from a molecule.</p>
+</dd>
+<dt><strong><a name="doesatomneighborhoodmatch" class="item"><strong>DoesAtomNeighborhoodMatch</strong></a></strong></dt>
+<dd>
+<div class="OptionsBox">
+    $Status = $Atom-&gt;DoesAtomNeighborhoodMatch($CentralAtomSpec);
+<br/>    $Status = $Atom-&gt;DoesAtomNeighborhoodMatch($CentralAtomSpec,
+                              $NbrAtomSpecsRef);
+<br/>    $Status = $Atom-&gt;DoesAtomNeighborhoodMatch($CentralAtomSpec,
+                              $NbrAtomSpecsRef, $AllowedNbrBondSpecsRef);
+<br/>    $Status = $Atom-&gt;DoesAtomNeighborhoodMatch($CentralAtomSpec,
+                              $NbrAtomSpecsRef, $NbrBondSpecsRef,
+                              $AllowedNbrOfNbrAtomSpecsRef);</div>
+<p>Returns 1 or 0 based on whether atom matches central atom and its neighborhood
+using specified atom and bonds specifications. Neighborhood atom and bond specifications
+are specified as array references containing neighbor atom and bond specifications.</p>
+<p>Let:</p>
+<div class="OptionsBox">
+    AS = Atom symbol corresponding to element symbol, atomic number (#n)
+         or any atom (A)</div>
+<div class="OptionsBox">
+    X&lt;n&gt;  = Number of non-hydrogen atom neighbors or heavy atoms
+            attached to atom
+<br/>    T&lt;n&gt;  = Total number of atom neighbors including implicit and explicit
+            hydrogens
+<br/>    BO&lt;n&gt; = Sum of bond orders to non-hydrogen atom neighbors or heavy
+            atoms attached to atom
+<br/>    LBO&lt;n&gt; = Largest bond order of non-hydrogen atom neighbors or heavy
+             atoms attached to atom
+<br/>    SB&lt;n&gt; = Number of single bonds to non-hydrogen atom neighbors or
+            heavy atoms attached to atom
+<br/>    TSB&lt;n&gt; = Total number of single bonds to atom neighbors including implicit
+             and explicit hydrogens
+<br/>    DB&lt;n&gt; = Number of double bonds to non-hydrogen atom neighbors or
+            heavy atoms attached to atom
+<br/>    TB&lt;n&gt; = Number of triple bonds to non-hydrogen atom neighbors or
+            heavy atoms attached to atom
+<br/>    AB&lt;n&gt; = Number of aromatic bonds to non-hydrogen atom neighbors or
+            heavy atoms attached to atom
+<br/>    H&lt;n&gt;   = Number of implicit and explicit hydrogens for atom
+<br/>    Ar     = Aromatic annotation indicating whether atom is aromatic
+<br/>    RA or RA&lt;n&gt;  = Ring atom annotation indicating whether atom
+                   is a ring
+<br/>    TR&lt;n&gt;  = Total number of rings containing atom
+<br/>    FC&lt;+n/-n&gt; = Formal charge assigned to atom
+<br/>    MN&lt;n&gt; = Mass number indicating isotope other than most abundant isotope
+<br/>    SM&lt;n&gt; = Spin multiplicity of atom. Possible values: 1 (singlet),
+            2 (doublet) or 3 (triplet)</div>
+<p>Then, atom specification corresponds to:</p>
+<div class="OptionsBox">
+    AS.X&lt;n&gt;.T&lt;n&gt;.BO&lt;n&gt;.LBO&lt;n&gt;.&lt;SB&gt;&lt;n&gt;.TSB&lt;n&gt;.&lt;DB&gt;&lt;n&gt;.&lt;TB&gt;&lt;n&gt;.AB&lt;n&gt;.H&lt;n&gt;.Ar.
+<br/>    RA&lt;n&gt;.TR&lt;n&gt;FC&lt;+n/-n&gt;.MN&lt;n&gt;.SM&lt;n&gt;</div>
+<p>Except for AS which is a required atomic invariant in atom specification, all other atomic invariants are
+optional. For an atom specification to match an atom, the values of all specified atomic invariants must
+match. Exclamation in from of atomic invariant can be used to negate its effect during the match.</p>
+<p>For <em>FC</em> value matching, the following value operators are also supported:</p>
+<div class="OptionsBox">
+    o +* : Any positive value
+<br/>    o -* : Any negative value
+<br/>    o &gt; ValidNumber or &gt;= ValidNumber
+<br/>    o &lt; ValidNumber or &lt;= ValidNumber</div>
+<p>A comma delimited atom specification string is used to match any one of the specified atom specification.</p>
+<p>Notes:</p>
+<div class="OptionsBox">
+    o During atom specification match to an atom, the first atomic invariant is always assumed to
+      atom symbol.</div>
+<p>Examples:</p>
+<div class="OptionsBox">
+    o ('N', 'N', 'N')
+<br/>    o ('N.FC0', 'N.FC0', 'N,N.FC+1.H1')
+<br/>    o ('N.H2', 'N.H2', 'N.H1')
+<br/>    o ('C,N', '!N', '!H')
+<br/>    o ('C,N', 'N.Ar', 'N.R5')</div>
+<p>Let:</p>
+<div class="OptionsBox">
+    -|1|s|Single = Single bond
+<br/>    =|2|d|Double = Double bond
+<br/>    #|3|t|Triple  = Triple bond
+<br/>    :|1.5|a|Ar|Aromatic = Aromatic bond</div>
+<div class="OptionsBox">
+    @|RB|Ring = Ring bond
+<br/>    ~|*|Any = Any bond</div>
+<p>Then, bond specification corresponds to:</p>
+<div class="OptionsBox">
+    -.:
+<br/>    =.@
+<br/>    Double.Aromatic</div>
+<p>For a bond specification to match bond between two atoms, the values of all specified bond symbols must
+match. Exclamation in from of bond symbol can be used to negate its effect during the match.</p>
+<p>A comma delimited bond specification string is used to match any one of the specified atom specification.</p>
+<p>Notes:</p>
+<div class="OptionsBox">
+    o During atom neighborhood match for central atom neighborhood atom and bond specifications,
+      implicit or missing hydrogens are automatically checked for any matches to unmatched
+      specifications.</div>
+<p>Examples:</p>
+<div class="OptionsBox">
+    Aromatic carbon in a 5 membered ring:
+                              $Atom-&gt;DoesAtomNeighborhoodMatch('C.Ar.RA5');</div>
+<div class="OptionsBox">
+    AcetylenicCarbon: $Atom-&gt;DoesAtomNeighborhoodMatch('C.T2.TB1'); or
+                       $Atom-&gt;DoesAtomNeighborhoodMatch('C.T2.TB1',
+                              ['*', '*'], ['#', '-']);</div>
+<div class="OptionsBox">
+    GuadiniumCarbon: $Atom-&gt;DoesAtomNeighborhoodMatch('C.X3.BO4',
+                              ['N.FC0', 'N.FC0', 'N.FC0,N.FC+1'],
+                              ['-', '-', '='],
+                              ['C,H', 'C,H', 'C,H']);</div>
+<div class="OptionsBox">
+    AmideCarbon: $Atom-&gt;DoesAtomNeighborhoodMatch('C.X3.BO4,C.X2.BO3',
+                              ['C,H', 'O', 'N'],
+                              ['-', '=', '-'],
+                              ['C,H', 'C', 'C,H,N,O,S,P,F,Cl,Br,I']);</div>
+<div class="OptionsBox">
+    CarboxylCarbon: $Atom-&gt;DoesAtomNeighborhoodMatch('C.X3.BO4,C.X2.BO3',
+                              ['C,H', 'O', 'O.X1.FC0'],
+                              ['-', '=', '-'],
+                              ['C,H', 'C', 'C']);</div>
+<div class="OptionsBox">
+    CarboxylateCarbon: $Atom-&gt;DoesAtomNeighborhoodMatch('C.X3.BO4,C.X2.BO3',
+                              ['C,H', 'O', 'O.X1.FC-1'],
+                              ['-', '=', '-'],
+                              ['C,H', 'C', 'C']);</div>
+</dd>
+<dt><strong><a name="deletehydrogens" class="item"><strong>DeleteHydrogens</strong></a></strong></dt>
+<dd>
+<div class="OptionsBox">
+    $NumOfHydrogensDeleted = $Atom-&gt;AddHydrogens();</div>
+<p>Delete hydrogens from an <strong>Atom</strong> present in a <strong>Molecule</strong> object and returns
+the number of deleted hydrogens.</p>
+</dd>
+<dt><strong><a name="getatomicinvariantvalue" class="item"><strong>GetAtomicInvariantValue</strong></a></strong></dt>
+<dd>
+<div class="OptionsBox">
+    $Value = $Atom-&gt;GetAtomicInvariantValue($AtomicInvariant);</div>
+<p>Returns atomic invariant value for a specified <em>AtomicInvariant</em>. The current release
+of MayaChemTools supports following abbreviations and descriptive names for
+<em>AtomicInvarints</em>:</p>
+<div class="OptionsBox">
+    AS : Atom or element symbol
+<br/>    X : NumOfNonHydrogenAtomNeighbors or NumOfHeavyAtomNeighbors
+<br/>    T : TotalNumOfAtomNeighbors
+<br/>    BO : SumOfBondOrdersToNonHydrogenAtoms or SumOfBondOrdersToHeavyAtoms
+<br/>    LBO : LargestBondOrderToNonHydrogenAtoms or LargestBondOrderToHeavyAtoms
+<br/>    SB :  NumOfSingleBondsToNonHydrogenAtoms or NumOfSingleBondsToHeavyAtoms
+<br/>    TSB :  TotalNumOfSingleBonds
+<br/>    DB : NumOfDoubleBondsToNonHydrogenAtoms or NumOfDoubleBondsToHeavyAtoms
+<br/>    TB : NumOfTripleBondsToNonHydrogenAtoms or NumOfTripleBondsToHeavyAtoms
+<br/>    AB : NumOfAromaticBondsToNonHydrogenAtoms or NumOfAromaticBondsToHeavyAtoms
+<br/>    H :  NumOfImplicitAndExplicitHydrogens
+<br/>    Ar : Aromatic
+<br/>    Str : Stereochemistry
+<br/>    RA : RingAtom
+<br/>    FC : FormalCharge
+<br/>    AN : AtomicNumber
+<br/>    AM : AtomicMass
+<br/>    MN : MassNumber
+<br/>    SM : SpinMultiplicity</div>
+</dd>
+<dt><strong><a name="getatomicweight" class="item"><strong>GetAtomicWeight</strong></a></strong></dt>
+<dd>
+<div class="OptionsBox">
+    $Value = $Aom-&gt;GetAtomicWeight();</div>
+<p>Returns atomic weight of an <strong>Atom</strong> which corresponds to either explicity set <em>AtomicWeight</em>
+atom property or atomic weight of the corresponding element in the periodic table available by
+<strong>PeriodicTable</strong> module.</p>
+</dd>
+<dt><strong><a name="getbondtoatom" class="item"><strong>GetBondToAtom</strong></a></strong></dt>
+<dd>
+<div class="OptionsBox">
+    $Bond = $Atom-&gt;GetBondToAtom($OtherAtom);</div>
+<p>Returns a <strong>Bond</strong> object corresponding to bond between <em>Atom</em> and <em>OtherAtom</em> in
+a molecule.</p>
+</dd>
+<dt><strong><a name="getbonds" class="item"><strong>GetBonds</strong></a></strong></dt>
+<dd>
+<div class="OptionsBox">
+    @Bonds = $Aoto-&gt;GetBonds();</div>
+<p>Returns an array of <strong>Bond</strong> objects corresponding to all bonds from <em>Atom</em> to other
+bonded atoms in a molecule.</p>
+</dd>
+<dt><strong><a name="getbondstoheavyatoms" class="item"><strong>GetBondsToHeavyAtoms</strong></a></strong></dt>
+<dd>
+<div class="OptionsBox">
+    @Bonds = $Atom-&gt;GetBondsToHeavyAtoms();</div>
+<p>Returns an array of <strong>Bond</strong> objects corresponding to bonds from <em>Atom</em> to other bonded
+non-hydrogen atoms in a molecule.</p>
+</dd>
+<dt><strong><a name="getbondstohydrogenatoms" class="item"><strong>GetBondsToHydrogenAtoms</strong></a></strong></dt>
+<dd>
+<div class="OptionsBox">
+    @Bonds = $Atom-&gt;GetBondsToHydrogenAtoms();</div>
+<p>Returns an array of <strong>Bond</strong> objects corresponding to bonds from <em>Atom</em> to any other
+hydrogen atom in a molecule.</p>
+</dd>
+<dt><strong><a name="getbondstononhydrogenatoms" class="item"><strong>GetBondsToNonHydrogenAtoms</strong></a></strong></dt>
+<dd>
+<div class="OptionsBox">
+    @Bonds = $Atom-&gt;GetBondsToNonHydrogenAtoms();</div>
+<p>Returns an array of <strong>Bond</strong> objects corresponding to bonds from <em>Atom</em> to other bonded
+non-hydrogen atoms in a molecule.</p>
+</dd>
+<dt><strong><a name="getexactmass" class="item"><strong>GetExactMass</strong></a></strong></dt>
+<dd>
+<div class="OptionsBox">
+    $ExactMass = $Atom-&gt;GetExactMass();</div>
+<p>Returns exact mass of an <em>Atom</em> which correspond to one of these three values: explicity set
+<em>ExactMass</em> property; mass of natural isotope for an explicty set value of <em>MassNumber</em>; most
+abundant natural isotope mass for <em>Atom</em> with valid atomic number value available by
+<strong>PerodicTable</strong> module.</p>
+</dd>
+<dt><strong><a name="getexplicithydrogens" class="item"><strong>GetExplicitHydrogens</strong></a></strong></dt>
+<dd>
+<div class="OptionsBox">
+    $NumOfExplicitHydrogens = $Atom-&gt;GetExplicitHydrogens();</div>
+<p>Returns number of hydrogens explicity bonded to an <em>Atom</em> in a molecule.</p>
+</dd>
+<dt><strong><a name="getformalcharge" class="item"><strong>GetFormalCharge</strong></a></strong></dt>
+<dd>
+<div class="OptionsBox">
+    $FormalCharge = $Atom-&gt;GetFormalCharge();</div>
+<p>Returns formal charge of an <em>Atom</em> in a molecule.</p>
+</dd>
+<dt><strong><a name="getfreeradicalelectrons" class="item"><strong>GetFreeRadicalElectrons</strong></a></strong></dt>
+<dd>
+<div class="OptionsBox">
+    $FreeRadicalElectrons = $Atom-&gt;GetFreeRadicalElectrons();</div>
+<p>Returns number of free radical electrons corresponding to to one of these
+three values: <em>FreeRadicalElectrons</em> property; <em>SpinMultiplicity</em> property; value
+of 0.</p>
+<p>For atoms with explicit assignment of <em>SpinMultiplicity</em> atom property values,</p>
+<div class="OptionsBox">
+    Singlet  - two unparied electrons corresponding to one spin state
+<br/>    Doublet - free radical; an unpaired electron corresponding to two
+              spin states
+<br/>    Triplet - two unparied electrons corresponding to three spin states
+              (divalent carbon atoms: carbenes)</div>
+<p><strong>FreeRadicalElectrons</strong> are calculated as follows:</p>
+<div class="OptionsBox">
+    Doublet: 1 (one valence electron not available for bonding)
+<br/>    Singlet: 2 (two valence electrons not available for bonding)
+<br/>    Triplet: 2 (two valence electrons not available for bonding)</div>
+</dd>
+<dt><strong><a name="getgroupnumber" class="item"><strong>GetGroupNumber</strong></a></strong></dt>
+<dd>
+<div class="OptionsBox">
+    $GroupNumber = $Atom-&gt;GetGroupNumber();</div>
+<p>Returns group number of an <em>Atom</em> in a molecule with a valid atomic number.</p>
+</dd>
+<dt><strong><a name="getheavyatomneighbors" class="item"><strong>GetHeavyAtomNeighbors</strong></a></strong></dt>
+<dd>
+<div class="OptionsBox">
+    $NumOfHeavyAtoms = $Atom-&gt;GetHeavyAtomNeighbors();
+<br/>    @HeavyAtoms = $Atom-&gt;GetHeavyAtomNeighbors();</div>
+<p>Return number of heavy atoms or an array of <strong>Atom</strong> objects corresponding to heavy atoms
+bonded to an <em>Atom</em> in a molecule.</p>
+</dd>
+<dt><strong><a name="getheavyatomneighborsatominformation" class="item"><strong>GetHeavyAtomNeighborsAtomInformation</strong></a></strong></dt>
+<dd>
+<div class="OptionsBox">
+    ($NumOfAtomNeighbors, $AtomNeighborsRef,
+     $NumOfAtomNeighborsType, $AtomNeighborsTypeMapRef) = $Atom-&gt;
+                              GetHeavyAtomNeighborsAtomInformation();</div>
+<p>Returns atoms information for all non-hydrogen atoms attached to an <em>Atom</em>
+in a molecule.</p>
+<p>The following values are returned:</p>
+<div class="OptionsBox">
+    o Number of non-hydrogen atom neighbors
+<br/>    o A reference to an array containing atom objects corresponding to
+      non-hydrogen atom neighbors
+<br/>    o Number of different types of non-hydrogen atom neighbors
+<br/>    o A reference to a hash containing atom symbol as key with value
+      corresponding to its count for non-hydrogen atom neighbors</div>
+</dd>
+<dt><strong><a name="getheavyatomneighborsbondformation" class="item"><strong>GetHeavyAtomNeighborsBondformation</strong></a></strong></dt>
+<dd>
+<div class="OptionsBox">
+    ($NumOfBonds, $BondTypeCountMapRef,
+<br/>    $AtomsBondTypesCountMapRef,
+<br/>    $AtomsBondTypeAtomsMap) = $Atom-&gt;
+                              GetHeavyAtomNeighborsBondformation();</div>
+<p>Returns bonds information for all non-hydrogen atoms attached to an <em>Atom</em>
+in a molecule.</p>
+<p>The following values are returned:</p>
+<div class="OptionsBox">
+    o Number of bonds to non-hydrogen atom neighbors
+<br/>    o A reference to an array containing bond objects corresponding to
+      non-hydrogen atom neighbors
+<br/>    o A reference to a hash containing bond type as key with value
+      corresponding to its count for non-hydrogen atom neighbors. Bond
+      types are: Single, Double or Triple
+<br/>    o A reference to a hash containing atom symbol as key pointing to bond
+      type as second key with values corresponding to count of bond types for atom
+      symbol for non-hydrogen atom neighbors
+<br/>    o A reference to a hash containing atom symbol as key pointing to bond
+      type as second key with values corresponding to atom objects array involved
+      in corresponding bond type for atom symbol for non-hydrogen atom neighbors</div>
+</dd>
+<dt><strong><a name="gethighestcommonvalence" class="item"><strong>GetHighestCommonValence</strong></a></strong></dt>
+<dd>
+<div class="OptionsBox">
+    $HighestCommonValence = $Atom-&gt;GetHighestCommonValence();</div>
+<p>Returns highest common valence of an <em>Atom</em> which corresponds to either explicity set
+<em>HighestCommonValence</em> atom property or highest common valence of the corresponding
+element in the periodic table available by <strong>PerodicTable</strong> module.</p>
+</dd>
+<dt><strong><a name="gethydrogens" class="item"><strong>GetHydrogens</strong></a></strong></dt>
+<dd>
+<div class="OptionsBox">
+    $NumOfHydrogens = $Atom-&gt;GetHydrogens();</div>
+<p>Returns total number of hydrogens for an <em>Atom</em> in a molecule including both hydrogen atom
+neighbors and implicit hydrogens.</p>
+</dd>
+<dt><strong><a name="gethydrogenatomneighbors" class="item"><strong>GetHydrogenAtomNeighbors</strong></a></strong></dt>
+<dd>
+<div class="OptionsBox">
+    $NumOfHydrogenAtomNeighbors = $Atom-&gt;GetHydrogenAtomNeighbors();
+<br/>    @HydrogenAtomNeighbors = $Atom-&gt;GetHydrogenAtomNeighbors();</div>
+<p>Return number of hydrogen atoms or an array of <em>Atom</em> objects corresponding to hydrogen
+atoms bonded to an <em>Atom</em> in a molecule.</p>
+</dd>
+<dt><strong><a name="getimplicithydrogens" class="item"><strong>GetImplicitHydrogens</strong></a></strong></dt>
+<dd>
+<div class="OptionsBox">
+    $NumOfImplicitHydrogens = $Atom-&gt;GetImplicitHydrogens();</div>
+<p>Returns number of implicit hydrogens for an <em>Atom</em> in a molecule. This value either
+corresponds to explicitly set <em>ImplicitHydrogens</em> atom property or calculated as the
+difference between the value of potential total valence and sum of bond orders to
+both hydrogen and non-hydrogen atom neighbors.</p>
+</dd>
+<dt><strong><a name="getpotentialtotalcommonvalence" class="item"><strong>GetPotentialTotalCommonValence</strong></a></strong></dt>
+<dd>
+<div class="OptionsBox">
+    $PotentialTotalValence = $Atom-&gt;GetPotentialTotalCommonValence();</div>
+<p>Returns potential total common valence of an <em>Atom</em> in a molecule corresponding
+to a specific valence model set for the molecule using its <strong>SetValenceModel</strong> method
+or default internal valence model. It is used during the calculation of missing or
+implicit hydrogens.</p>
+<p>The current release of MayaChemTools supports three valence models: <em>MDLValenceModel,
+DaylightValenceModel, InternalValenceModel or MayaChemToolsValenceModel</em>.</p>
+<p>For <em>MDLValenceModel</em> and <em>DaylightValenceModel</em>, the following data files, distributed
+with the package, are used to calculate potential total valence:</p>
+<div class="OptionsBox">
+    lib/data/MDLValenceModelData.csv
+<br/>    lib/data/DaylightValenceModelData.csv</div>
+<p>The calculation of potential total common valence for these two models is performed as
+follows: Calculate current effective total valence of the <em>Atom</em> by adding up the bond
+order of its neighbors and number of free radical electrons; Find available common valence
+for the <em>Atom</em>, corresponding to any specified formal charge, higher than the effective
+total valence, and return it as <em>PotentialTotalValence</em>.</p>
+<p>The calculation of potential total common valence For <em>InternalValenceModel</em> or
+<em>MayaChenToolsValenceModel</em> doesn't uses <strong>PeriodicTable</strong> module to retrieve values
+for common valence, which in turn reads in PeriodicTableElements.csv file distributed with
+the package.</p>
+<p>For elements with one one common valence, potential total common valence corresponds
+to:</p>
+<div class="OptionsBox">
+    CommonValence + FormalCharge - FreeRadicalElectrons</div>
+<p>For elements with multiple common valences, each common valence is used to
+calculate total potential common valence as shown above, and the first total potential
+common valence greater than the sum of bond orders to all neighbors is selected as
+the final total common valence.</p>
+<p>FormalCharge sign is reversed for electropositive elements with positive formal charge
+during common valence calculations. Electropositive elements, metals and transition elements,
+have usually plus formal charge and it leads to decrease in common valence; the negative
+formal charge should result in the decrease of common valence.</p>
+<p>The sign of formal charge is adjusted as follows.</p>
+<p>Group numbers &gt; 14 - Group numbers 15 (N), 16 (O), 17 (F), 18 (He):</p>
+<p>Formal charge sign is not adjusted. Positive and negative values result in the
+increase and decrease of valence.</p>
+<p>Group 14 containing C, Si, Ge, Sn, Pb...:</p>
+<p>Formal charge sign is reversed for positive values. Both positive and negative
+values result in the decrease of valence.</p>
+<p>Group 13 containing B, Al, Ga, In, Tl...:</p>
+<p>Formal charge sign is always reversed. Positive and negative values result in the
+decrease and increase of valence.</p>
+<p>Groups 1 (H) through 12 (Zn)...:</p>
+<p>Formal charge sign is reversed for positive values. Both positive and negative
+values result in the decrease of valence.</p>
+<p>Lanthanides and actinides:</p>
+<p>Formal charge sign is reversed for positive values. Both positive and negative
+values result in the decrease of valence.</p>
+</dd>
+<dt><strong><a name="getlargestbondorder" class="item"><strong>GetLargestBondOrder</strong></a></strong></dt>
+<dd>
+<div class="OptionsBox">
+    $LargestBO =$Atom-&gt;GetLargestBondOrder();</div>
+<p>Returns largest bond order for an <em>Atom</em> among the bonds to other atoms in a molecule.</p>
+</dd>
+<dt><strong><a name="getlargestbondordertoheavyatoms" class="item"><strong>GetLargestBondOrderToHeavyAtoms</strong></a></strong></dt>
+<dd>
+<div class="OptionsBox">
+    $LargestBO =$Atom-&gt;GetLargestBondOrderToHeavyAtoms();</div>
+<p>Returns largest bond order for an <em>Atom</em> among the bonds to other heavy atoms in a molecule.</p>
+</dd>
+<dt><strong><a name="getlargestbondordertononhydrogenatoms" class="item"><strong>GetLargestBondOrderToNonHydrogenAtoms</strong></a></strong></dt>
+<dd>
+<div class="OptionsBox">
+    $LargestBO =$Atom-&gt;GetLargestBondOrderToNonHydrogenAtoms();</div>
+<p>Returns largest bond order for an <em>Atom</em> among the bonds to other non-hydrogen atoms
+in a molecule.</p>
+</dd>
+<dt><strong><a name="getlargestring" class="item"><strong>GetLargestRing</strong></a></strong></dt>
+<dd>
+<div class="OptionsBox">
+    @RingAtoms = $Atom-&gt;GetLargestRing();</div>
+<p>Returns an array of ring <em>Atom</em> objects corresponding to the largest ring containing <em>Atom</em>
+in a molecule.</p>
+</dd>
+<dt><strong><a name="getlowestcommonvalence" class="item"><strong>GetLowestCommonValence</strong></a></strong></dt>
+<dd>
+<div class="OptionsBox">
+    $LowestCommonValence = $Atom-&gt;GetLowestCommonValence();</div>
+<p>Returns lowest common valence of an <em>Atom</em> which corresponds to either explicity set
+<em>LowestCommonValence</em> atom property or highest common valence of the corresponding
+element in the periodic table available by <strong>PerodicTable</strong> module.</p>
+</dd>
+<dt><strong><a name="getmassnumber" class="item"><strong>GetMassNumber</strong></a></strong></dt>
+<dd>
+<div class="OptionsBox">
+    $MassNumber = $Aom-&gt;GetMassNumber();</div>
+<p>Returns atomic weight of an <strong>Atom</strong> which corresponds to either explicity set <em>MassNumber</em>
+atom property or mass number of the most abundant natural isotope of the corresponding element
+in the periodic table available by <strong>PeriodicTable</strong> module.</p>
+</dd>
+<dt><strong><a name="getmissinghydrogens" class="item"><strong>GetMissingHydrogens</strong></a></strong></dt>
+<dd>
+<div class="OptionsBox">
+    $NumOfMissingHydrogens = $Atom-&gt;GetMissingHydrogens();</div>
+<p>Returns number of missing hydrogens for an <em>Atom</em> in a molecule. This value either
+corresponds to explicitly set <em>ImplicitHydrogens</em> atom property or calculated as the
+difference between the value of potential total valence and sum of bond orders to
+both hydrogen and non-hydrogen atom neighbors.</p>
+</dd>
+<dt><strong><a name="getneighbors" class="item"><strong>GetNeighbors</strong></a></strong></dt>
+<dd>
+<div class="OptionsBox">
+    $NumOfNeighbors = $Atom-&gt;GetNeighbors();
+<br/>    @Neighbors = $Atom-&gt;GetNeighbors();</div>
+<p>Returns number of neighbor atoms or an array of <em>Atom</em> objects corresponding to all
+atoms bonded to an <em>Atom</em> in a molecule.</p>
+</dd>
+<dt><strong><a name="getneighborsusingatomspecification" class="item"><strong>GetNeighborsUsingAtomSpecification</strong></a></strong></dt>
+<dd>
+<div class="OptionsBox">
+    @AtomNeighbors = $Atom-&gt;GetNeighborsUsingAtomSpecification($AtomSpec);
+<br/>    $NumOfNeighbors = $Atom-&gt;GetNeighborsUsingAtomSpecification($AtomSpec);</div>
+<div class="OptionsBox">
+    @AtomNeighbors = $Atom-&gt;GetNeighborsUsingAtomSpecification($AtomSpec,
+                     @ExcludeNeighbors);</div>
+<p>Returns number of neighbor atoms or an array of <em>Atom</em> objects matching atom
+specification corresponding to atom neighbors of an <em>Atom</em> in a molecule. Optionally,
+<em>Atom</em> neighbors can be excluded from the neighbors list using <em>ExcludeNeighbors</em>.</p>
+<p>Notes:</p>
+<div class="OptionsBox">
+    o AtomSpecification correspond to any valid AtomicInvariant based atomic specifications
+      as supported by DoesAtomNeighborhoodMatch method
+<br/>    o Multiple atom specifications can be used in a string delimited by comma</div>
+</dd>
+<dt><strong><a name="getnonhydrogenatomneighbors" class="item"><strong>GetNonHydrogenAtomNeighbors</strong></a></strong></dt>
+<dd>
+<div class="OptionsBox">
+    $NumOfNeighbors = $Atom-&gt;GetNonHydrogenAtomNeighbors();
+<br/>    @Neighbors = $Atom-&gt;GetNonHydrogenAtomNeighbors();</div>
+<p>Returns number of non-hydrogen atoms or an array of <strong>Atom</strong> objects corresponding to non-hydrogen
+atoms bonded to an <em>Atom</em> in a molecule.</p>
+</dd>
+<dt><strong><a name="getnonhydrogenatomneighborsatominformation" class="item"><strong>GetNonHydrogenAtomNeighborsAtomInformation</strong></a></strong></dt>
+<dd>
+<div class="OptionsBox">
+    ($NumOfAtomNeighbors, $AtomNeighborsRef,
+     $NumOfAtomNeighborsType, $AtomNeighborsTypeMapRef) = $Atom-&gt;
+                              GetNonHydrogenAtomNeighborsAtomInformation();</div>
+<p>Returns atoms information for all non-hydrogen atoms attached to an <em>Atom</em>
+in a molecule.</p>
+<p>The following values are returned:</p>
+<div class="OptionsBox">
+    o Number of non-hydrogen atom neighbors
+<br/>    o A reference to an array containing atom objects corresponding to
+      non-hydrogen atom neighbors
+<br/>    o Number of different types of non-hydrogen atom neighbors
+<br/>    o A reference to a hash containing atom symbol as key with value
+      corresponding to its count for non-hydrogen atom neighbors</div>
+</dd>
+<dt><strong><a name="getnonhydrogenatomneighborsbondinformation" class="item"><strong>GetNonHydrogenAtomNeighborsBondInformation</strong></a></strong></dt>
+<dd>
+<div class="OptionsBox">
+    ($NumOfBonds, $BondTypeCountMapRef,
+<br/>    $AtomsBondTypesCountMapRef,
+<br/>    $AtomsBondTypeAtomsMap) = $Atom-&gt;
+                              GetNonHydrogenAtomNeighborsBondInformation();</div>
+<p>Returns bonds information for all non-hydrogen atoms attached to an <em>Atom</em>
+in a molecule.</p>
+<p>The following values are returned:</p>
+<div class="OptionsBox">
+    o Number of bonds to non-hydrogen atom neighbors
+<br/>    o A reference to an array containing bond objects corresponding to
+      non-hydrogen atom neighbors
+<br/>    o A reference to a hash containing bond type as key with value
+      corresponding to its count for non-hydrogen atom neighbors. Bond
+      types are: Single, Double or Triple
+<br/>    o A reference to a hash containing atom symbol as key pointing to bond
+      type as second key with values corresponding to count of bond types for atom
+      symbol for non-hydrogen atom neighbors
+<br/>    o A reference to a hash containing atom symbol as key pointing to bond
+      type as second key with values corresponding to atom objects array involved
+      in corresponding bond type for atom symbol for non-hydrogen atom neighbors</div>
+</dd>
+<dt><strong><a name="getnonhydrogenneighborofhydrogenatom" class="item"><strong>GetNonHydrogenNeighborOfHydrogenAtom</strong></a></strong></dt>
+<dd>
+<div class="OptionsBox">
+    $Atom = $Atom-&gt;GetNonHydrogenNeighborOfHydrogenAtom();</div>
+<p>Returns non-hydrogen or heavy atom neighbor of a hydrogen atom in a molecule..</p>
+</dd>
+<dt><strong><a name="getnumofaromaticbondstoheavyatoms" class="item"><strong>GetNumOfAromaticBondsToHeavyAtoms</strong></a></strong></dt>
+<dd>
+<div class="OptionsBox">
+    $NumOfBonds = $Atom-&gt;GetNumOfAromaticBondsToHeavyAtoms();</div>
+<p>Returns number of aromatic bonds from an <em>Atom</em> to other non-hydrogen or heavy atoms in
+a molecule.</p>
+</dd>
+<dt><strong><a name="getnumofaromaticbondstononhydrogenatoms" class="item"><strong>GetNumOfAromaticBondsToNonHydrogenAtoms</strong></a></strong></dt>
+<dd>
+<div class="OptionsBox">
+    $NumOfBonds = $Atom-&gt;GetNumOfAromaticBondsToNonHydrogenAtoms();</div>
+<p>Returns number of aromatic bonds from an <em>Atom</em> to other non-hydrogen or heavy atoms in
+a molecule.</p>
+</dd>
+<dt><strong><a name="getnumofbonds" class="item"><strong>GetNumOfBonds</strong></a></strong></dt>
+<dd>
+<div class="OptionsBox">
+    $NumOfBonds = $Atom-&gt;GetNumOfBonds();</div>
+<p>Returns number of bonds from an <em>Atom</em> to other atoms in a molecule.</p>
+</dd>
+<dt><strong><a name="getnumofbondsavailableforheavyatoms" class="item"><strong>GetNumOfBondsAvailableForHeavyAtoms</strong></a></strong></dt>
+<dd>
+<div class="OptionsBox">
+    $NumOfBonds = $Atom-&gt;GetNumOfBondsAvailableForHeavyAtoms();</div>
+<p>Get number of bonds available to form additional bonds with heavy atoms, excluding
+any implicit bonds to hydrogens set using <em>ImplicitHydrogens</em> property.</p>
+<p>It's different from number of implicit or missing hydrogens, both of which are equivalent.</p>
+<p>For example, in a SMILES string, [nH] ring atom corresponds to an aromatic nitrogen.
+Although the hydrogen specified for n is treated internally as implicit hydrogen and shows
+up in missing hydrogen count, it's not available to participate in double bonds to additional
+heavy atoms.</p>
+</dd>
+<dt><strong><a name="getnumofbondsavailablefornonhydrogenatoms" class="item"><strong>GetNumOfBondsAvailableForNonHydrogenAtoms</strong></a></strong></dt>
+<dd>
+<div class="OptionsBox">
+    $NumOfBonds = $Atom-&gt;GetNumOfBondsAvailableForNonHydrogenAtoms();</div>
+<p>Get number of bonds available to form additional bonds with heavy atoms, excluding
+any implicit bonds to hydrogens set using ImplicitHydrogens property.</p>
+</dd>
+<dt><strong><a name="getnumofbondstoheavyatoms" class="item"><strong>GetNumOfBondsToHeavyAtoms</strong></a></strong></dt>
+<dd>
+<div class="OptionsBox">
+    $NumOfBondsToHeavyAtoms = $Atom-&gt;GetNumOfBondsToHeavyAtoms();</div>
+<p>Returns number of bonds from an <em>Atom</em> to other heavy atoms in a molecule.</p>
+</dd>
+<dt><strong><a name="getnumofbondstohydrogenatoms" class="item"><strong>GetNumOfBondsToHydrogenAtoms</strong></a></strong></dt>
+<dd>
+<div class="OptionsBox">
+    $NumOfBonds = $Atom-&gt;GetNumOfBondsToHydrogenAtoms();</div>
+<p>Returns number of bonds from an <em>Atom</em> to other hydrogen atoms in a molecule.</p>
+</dd>
+<dt><strong><a name="getnumofbondstononhydrogenatoms" class="item"><strong>GetNumOfBondsToNonHydrogenAtoms</strong></a></strong></dt>
+<dd>
+<div class="OptionsBox">
+    $NumOfBonds = $Atom-&gt;GetNumOfBondsToNonHydrogenAtoms();</div>
+<p>Returns number of bonds from an <em>Atom</em> to other non-hydrogen atoms in a molecule.</p>
+</dd>
+<dt><strong><a name="getnumofbondtypestoheavyatoms" class="item"><strong>GetNumOfBondTypesToHeavyAtoms</strong></a></strong></dt>
+<dd>
+<div class="OptionsBox">
+    ($NumOfSingleBonds, $NumOfDoubleBonds,
+     $NumOfTripleBonds, $NumOfAromaticBonds) = $Atom-&gt;
+                   GetNumOfBondTypesToHeavyAtoms($CountAromaticBonds);</div>
+<p>Get number of single, double, triple, and aromatic bonds from an <em>Atom</em> to all other
+non-hydrogen atoms in a molecule.</p>
+<p>Value of <em>CountAtomaticBonds</em> parameter controls whether number of aromatic
+bonds is returned; default is not to count aromatic bonds. During  counting of
+aromatic bonds, the bond marked aromatic is not included in the count
+of other bond types.</p>
+</dd>
+<dt><strong><a name="getnumofbondtypestononhydrogenatoms" class="item"><strong>GetNumOfBondTypesToNonHydrogenAtoms</strong></a></strong></dt>
+<dd>
+<div class="OptionsBox">
+    ($NumOfSingleBonds, $NumOfDoubleBonds,
+     $NumOfTripleBonds, $NumOfAromaticBonds) = $Atom-&gt;
+             GetNumOfBondTypesToNonHydrogenAtoms($CountAromaticBonds);</div>
+<p>Get number of single, double, triple, and aromatic bonds from an <em>Atom</em> to all other
+non-hydrogen atoms in a molecule.</p>
+<p>Value of <em>CountAtomaticBonds</em> parameter controls whether number of aromatic
+bonds is returned; default is not to count aromatic bonds. During  counting of
+aromatic bonds, the bond marked aromatic is not included in the count
+of other bond types.</p>
+</dd>
+<dt><strong><a name="getnumofdoublebondstoheavyatoms" class="item"><strong>GetNumOfDoubleBondsToHeavyAtoms</strong></a></strong></dt>
+<dd>
+<div class="OptionsBox">
+    $NumOfDoubleBonds = $Atom-&gt;GetNumOfDoubleBondsToHeavyAtoms();</div>
+<p>Returns number of double bonds from an <em>Atom</em> to other heavy atoms or non-hydrogen
+atoms in a molecule.</p>
+</dd>
+<dt><strong><a name="getnumofdoublebondstononhydrogenatoms" class="item"><strong>GetNumOfDoubleBondsToNonHydrogenAtoms</strong></a></strong></dt>
+<dd>
+<div class="OptionsBox">
+    $NumOfDoubleBonds =$Atom-&gt;GetNumOfDoubleBondsToNonHydrogenAtoms();</div>
+<p>Returns number of double bonds from an <em>Atom</em> to other heavy atoms or non-hydrogen
+atoms in a molecule.</p>
+</dd>
+<dt><strong><a name="getnumofheavyatomneighbors" class="item"><strong>GetNumOfHeavyAtomNeighbors</strong></a></strong></dt>
+<dd>
+<div class="OptionsBox">
+    $NumOfNeighbors = $Atom-&gt;GetNumOfHeavyAtomNeighbors();</div>
+<p>Returns number heavy atom neighbors for an <em>Atom</em> in a molecule.</p>
+</dd>
+<dt><strong><a name="getnumofhydrogenatomneighbors" class="item"><strong>GetNumOfHydrogenAtomNeighbors</strong></a></strong></dt>
+<dd>
+<div class="OptionsBox">
+    $NumOfNeighbors = $Atom-&gt;GetNumOfHydrogenAtomNeighbors();</div>
+<p>Returns number hydrogens atom neighbors for an <em>Atom</em> in a molecule.</p>
+</dd>
+<dt><strong><a name="getnumofmissinghydrogens" class="item"><strong>GetNumOfMissingHydrogens</strong></a></strong></dt>
+<dd>
+<div class="OptionsBox">
+    $NumOfMissingHydrogens = $Atom-&gt;GetNumOfMissingHydrogens();</div>
+<p>Returns number of implicit hydrogens for an <em>Atom</em> in a molecule. This value either
+corresponds to explicitly set <em>ImplicitHydrogens</em> atom property or calculated as the
+difference between the value of potential total valence and sum of bond orders to
+both hydrogen and non-hydrogen atom neighbors.</p>
+</dd>
+<dt><strong><a name="getnumofexplicithydrogens" class="item"><strong>GetNumOfExplicitHydrogens</strong></a></strong></dt>
+<dd>
+<div class="OptionsBox">
+    $NumOfExplicitHydrogens = $Atom-&gt;GetNumOfExplicitHydrogens();</div>
+<p>Returns number hydrogens atom neighbors for an <em>Atom</em> in a molecule.</p>
+</dd>
+<dt><strong><a name="getnumofhydrogens" class="item"><strong>GetNumOfHydrogens</strong></a></strong></dt>
+<dd>
+<div class="OptionsBox">
+    $NumOfHydrogens = $Atom-&gt;GetNumOfHydrogens();</div>
+<p>Returns total number of hydrogens for an <em>Atom</em> in a molecule including both hydrogen atom
+neighbors and implicit hydrogens.</p>
+</dd>
+<dt><strong><a name="getnumofimplicithydrogens" class="item"><strong>GetNumOfImplicitHydrogens</strong></a></strong></dt>
+<dd>
+<div class="OptionsBox">
+    $NumOfImplicitHydrogens = $Atom-&gt;GetNumOfImplicitHydrogens();</div>
+<p>Returns number of implicit hydrogens for an <em>Atom</em> in a molecule. This value either
+corresponds to explicitly set <em>ImplicitHydrogens</em> atom property or calculated as the
+difference between the value of potential total valence and sum of bond orders to
+both hydrogen and non-hydrogen atom neighbors.</p>
+</dd>
+<dt><strong><a name="getnumofneighbors" class="item"><strong>GetNumOfNeighbors</strong></a></strong></dt>
+<dd>
+<div class="OptionsBox">
+    $NumOfNeighbors = $Atom-&gt;GetNumOfNeighbors();</div>
+<p>Returns number atom neighbors for an <em>Atom</em> in a molecule.</p>
+</dd>
+<dt><strong><a name="getnumofnonhydrogenatomneighbors" class="item"><strong>GetNumOfNonHydrogenAtomNeighbors</strong></a></strong></dt>
+<dd>
+<div class="OptionsBox">
+    $NumNeighbors = $This-&gt;GetNumOfNonHydrogenAtomNeighbors();</div>
+<p>Returns number non-hydrogens atom neighbors for an <em>Atom</em> in a molecule.</p>
+</dd>
+<dt><strong><a name="getnumofrings" class="item"><strong>GetNumOfRings</strong></a></strong></dt>
+<dd>
+<div class="OptionsBox">
+    $NumOfRings = $Atom-&gt;GetNumOfRings();</div>
+<p>Returns number of rings containing <em>Atom</em> in a molecule.</p>
+</dd>
+<dt><strong><a name="getnumofringswithevensize" class="item"><strong>GetNumOfRingsWithEvenSize</strong></a></strong></dt>
+<dd>
+<div class="OptionsBox">
+    $NumOfRings = $Atom-&gt;GetNumOfRingsWithEvenSize();</div>
+<p>Returns number of rings with even size containing <em>Atom</em> in a molecule.</p>
+</dd>
+<dt><strong><a name="getnumofringswithoddsize" class="item"><strong>GetNumOfRingsWithOddSize</strong></a></strong></dt>
+<dd>
+<div class="OptionsBox">
+    $NumOfRings = $Atom-&gt;GetNumOfRingsWithOddSize();</div>
+<p>Returns number of rings with odd size containing <em>Atom</em> in a molecule.</p>
+</dd>
+<dt><strong><a name="getnumofringswithsize" class="item"><strong>GetNumOfRingsWithSize</strong></a></strong></dt>
+<dd>
+<div class="OptionsBox">
+    $NumOfRings = $Atom-&gt;GetNumOfRingsWithSize($RingSize);</div>
+<p>Returns number of rings with specific <em>RingSize</em> containing <em>Atom</em> in a molecule.</p>
+</dd>
+<dt><strong><a name="getnumofringswithsizegreaterthan" class="item"><strong>GetNumOfRingsWithSizeGreaterThan</strong></a></strong></dt>
+<dd>
+<div class="OptionsBox">
+    $NumOfRings = $Atom-&gt;GetNumOfRingsWithSizeGreaterThan($RingSize);</div>
+<p>Returns number of rings with size greater than specific <em>RingSize</em> containing <em>Atom</em>
+in a molecule.</p>
+</dd>
+<dt><strong><a name="getnumofringswithsizelessthan" class="item"><strong>GetNumOfRingsWithSizeLessThan</strong></a></strong></dt>
+<dd>
+<div class="OptionsBox">
+    $NumOfRings = $Atom-&gt;GetNumOfRingsWithSizeLessThan($RingSize);</div>
+<p>Returns number of rings with size less than specific <em>RingSize</em> containing <em>Atom</em> in a molecule.</p>
+</dd>
+<dt><strong><a name="getnumofsigmaandpibondstoheavyatoms" class="item"><strong>GetNumOfSigmaAndPiBondsToHeavyAtoms</strong></a></strong></dt>
+<dd>
+<div class="OptionsBox">
+    ($NumOfSigmaBonds, $NumOfPiBonds) = $Atom-&gt;
+                              GetNumOfSigmaAndPiBondsToHeavyAtoms();</div>
+<p>Get number of sigma and pi bonds from an <em>Atom</em> to all other non-hydrogen
+atoms in a molecule.</p>
+<p>Sigma and pi bonds are counted using the following methodology: a single bond
+correspond to one sigma bond; a double bond contributes one to sigma bond count
+and one to pi bond count; a triple bond contributes one to sigma bond count and
+two to pi bond count.</p>
+</dd>
+<dt><strong><a name="getnumofsigmaandpibondstononhydrogenatoms" class="item"><strong>GetNumOfSigmaAndPiBondsToNonHydrogenAtoms</strong></a></strong></dt>
+<dd>
+<div class="OptionsBox">
+    ($NumOfSigmaBonds, $NumOfPiBonds) = $Atom-&gt;
+                              GetNumOfSigmaAndPiBondsToNonHydrogenAtoms();</div>
+<p>Get number of sigma and pi bonds from an <em>Atom</em> to all other non-hydrogen
+atoms in a molecule.</p>
+<p>Sigma and pi bonds are counted using the following methodology: a single bond
+correspond to one sigma bond; a double bond contributes one to sigma bond count
+and one to pi bond count; a triple bond contributes one to sigma bond count and
+two to pi bond count.</p>
+</dd>
+<dt><strong><a name="getnumofsinglebondstononhydrogenatoms" class="item"><strong>GetNumOfSingleBondsToNonHydrogenAtoms</strong></a></strong></dt>
+<dd>
+<div class="OptionsBox">
+    $NumOfSingleBonds =$Atom-&gt;GetNumOfSingleBondsToNonHydrogenAtoms();</div>
+<p>Returns number of single bonds from an <em>Atom</em> to other heavy atoms or non-hydrogen
+atoms in a molecule.</p>
+</dd>
+<dt><strong><a name="getnumofsinglebondstoheavyatoms" class="item"><strong>GetNumOfSingleBondsToHeavyAtoms</strong></a></strong></dt>
+<dd>
+<div class="OptionsBox">
+    $NumOfSingleBonds = $Atom-&gt;GetNumOfSingleBondsToHeavyAtoms();</div>
+<p>Returns number of single bonds from an <em>Atom</em> to other heavy atoms or non-hydrogen
+atoms in a molecule.</p>
+</dd>
+<dt><strong><a name="getnumoftriplebondstononhydrogenatoms" class="item"><strong>GetNumOfTripleBondsToNonHydrogenAtoms</strong></a></strong></dt>
+<dd>
+<div class="OptionsBox">
+    $NumOfTripleBonds =$Atom-&gt;GetNumOfTripleBondsToNonHydrogenAtoms();</div>
+<p>Returns number of triple bonds from an <em>Atom</em> to other heavy atoms or non-hydrogen
+atoms in a molecule.</p>
+</dd>
+<dt><strong><a name="getnumoftriplebondstoheavyatoms" class="item"><strong>GetNumOfTripleBondsToHeavyAtoms</strong></a></strong></dt>
+<dd>
+<div class="OptionsBox">
+    $NumOfTripleBonds = $Atom-&gt;GetNumOfTripleBondsToHeavyAtoms();</div>
+<p>Returns number of triple bonds from an <em>Atom</em> to other heavy atoms or non-hydrogen
+atoms in a molecule.</p>
+</dd>
+<dt><strong><a name="getperiodnumber" class="item"><strong>GetPeriodNumber</strong></a></strong></dt>
+<dd>
+<div class="OptionsBox">
+    $PeriodNumber = $Atom-&gt;GetPeriodNumber();</div>
+<p>Returns periodic table period number for an <em>Atom</em> in a molecule with a valid atomic number .</p>
+</dd>
+<dt><strong><a name="getrings" class="item"><strong>GetRings</strong></a></strong></dt>
+<dd>
+<div class="OptionsBox">
+    @Rings = $Aotm-&gt;GetRings();</div>
+<p>Returns an array of references to arrays containing ring atoms corressponding to all rings containing
+<em>Atom</em> in a molecule.</p>
+</dd>
+<dt><strong><a name="getringswithevensize" class="item"><strong>GetRingsWithEvenSize</strong></a></strong></dt>
+<dd>
+<div class="OptionsBox">
+    @Rings = $Aotm-&gt;GetRingsWithEvenSize();</div>
+<p>Returns an array of references to arrays containing ring atoms corressponding to all rings with even size
+containing <em>Atom</em> in a molecule.</p>
+</dd>
+<dt><strong><a name="getringswithoddsize" class="item"><strong>GetRingsWithOddSize</strong></a></strong></dt>
+<dd>
+<div class="OptionsBox">
+    @Rings = $Aotm-&gt;GetRingsWithOddSize();</div>
+<p>Returns an array of references to arrays containing ring atoms corressponding to all rings with odd size
+containing <em>Atom</em> in a molecule.</p>
+</dd>
+<dt><strong><a name="getringswithsize" class="item"><strong>GetRingsWithSize</strong></a></strong></dt>
+<dd>
+<div class="OptionsBox">
+    @Rings = $Aotm-&gt;GetRingsWithSize($RingSize);</div>
+<p>Returns an array of references to arrays containing ring atoms corressponding to all rings with specific
+<em>RingSize </em>containing <em>Atom</em> in a molecule.</p>
+</dd>
+<dt><strong><a name="getringswithsizegreaterthan" class="item"><strong>GetRingsWithSizeGreaterThan</strong></a></strong></dt>
+<dd>
+<div class="OptionsBox">
+    @Rings = $Aotm-&gt;GetRingsWithSizeGreaterThan($RingSize);</div>
+<p>Returns an array of references to arrays containing ring atoms corressponding to all rings with size
+greater than specific <em>RingSize </em>containing <em>Atom</em> in a molecule.</p>
+</dd>
+<dt><strong><a name="getringswithsizelessthan" class="item"><strong>GetRingsWithSizeLessThan</strong></a></strong></dt>
+<dd>
+<div class="OptionsBox">
+    @Rings = $Aotm-&gt;GetRingsWithSizeLessThan($RingSize);</div>
+<p>Returns an array of references to arrays containing ring atoms corressponding to all rings with size
+less than specific <em>RingSize </em>containing <em>Atom</em> in a molecule.</p>
+</dd>
+<dt><strong><a name="getsizeoflargestring" class="item"><strong>GetSizeOfLargestRing</strong></a></strong></dt>
+<dd>
+<div class="OptionsBox">
+    $Size = $Atom-&gt;GetSizeOfLargestRing();</div>
+<p>Returns size of the largest ring containing <em>Atom</em> in a molecule.</p>
+</dd>
+<dt><strong><a name="getsizeofsmallestring" class="item"><strong>GetSizeOfSmallestRing</strong></a></strong></dt>
+<dd>
+<div class="OptionsBox">
+    $Size = $Atom-&gt;GetSizeOfSmallestRing();</div>
+<p>Returns size of the smallest ring containing <em>Atom</em> in a molecule.</p>
+</dd>
+<dt><strong><a name="getsmallestring" class="item"><strong>GetSmallestRing</strong></a></strong></dt>
+<dd>
+<div class="OptionsBox">
+    @RingAtoms = $Atom-&gt;GetSmallestRing();</div>
+<p>Returns an array of ring <em>Atom</em> objects corresponding to the largest ring containing <em>Atom</em>
+in a molecule.</p>
+</dd>
+<dt><strong><a name="getspinmultiplicity" class="item"><strong>GetSpinMultiplicity</strong></a></strong></dt>
+<dd>
+<div class="OptionsBox">
+    $SpinMultiplicity = $Atom-&gt;GetSpinMultiplicity();</div>
+<p>Returns spin multiplicity of an <em>Atom</em> corresponding to one of these three
+values: explicitly set <strong>SpinMultiplicity</strong> property value; calculated from
+<strong>FreeRadicalElectrons</strong> property; value of 0.</p>
+<p>The <strong>SpinMultiplicity</strong> is calculate from <em>FreeRadicalElectrons</em> property as
+follows:</p>
+<div class="OptionsBox">
+    FreeRadicalElectrons: 1; SpinMultiplicity: 2
+<br/>    FreeRadicalElectrons: 2; SpinMultiplicity: 1
+<br/>    FreeRadicalElectrons: other; SpinMultiplicity: 0</div>
+</dd>
+<dt><strong><a name="getsumofbondorders" class="item"><strong>GetSumOfBondOrders</strong></a></strong></dt>
+<dd>
+<div class="OptionsBox">
+    $SumBondOrders = $Atom-&gt;GetSumOfBondOrders();</div>
+<p>Returns sum of bond orders corresponding to all atoms bonded to an <em>Atom</em> in a molecule.</p>
+</dd>
+<dt><strong><a name="getsumofbondorderstoheavyatoms" class="item"><strong>GetSumOfBondOrdersToHeavyAtoms</strong></a></strong></dt>
+<dd>
+<div class="OptionsBox">
+    $SumBondOrders = $Atom-&gt;GetSumOfBondOrdersToHeavyAtoms();</div>
+<p>Returns sum of bond orders corresponding to all heavy atoms bonded to an <em>Atom</em> in a molecule.</p>
+</dd>
+<dt><strong><a name="getsumofbondorderstohydrogenatoms" class="item"><strong>GetSumOfBondOrdersToHydrogenAtoms</strong></a></strong></dt>
+<dd>
+<div class="OptionsBox">
+    $SumBondOrders = $Atom-&gt;GetSumOfBondOrdersToHydrogenAtoms();</div>
+<p>Returns sum of bond orders corresponding to all hydrogen atoms bonded to an <em>Atom</em> in a molecule.</p>
+</dd>
+<dt><strong><a name="getsumofbondorderstononhydrogenatoms" class="item"><strong>GetSumOfBondOrdersToNonHydrogenAtoms</strong></a></strong></dt>
+<dd>
+<div class="OptionsBox">
+    $SumBondOrders = $Atom-&gt;GetSumOfBondOrdersToNonHydrogenAtoms();</div>
+<p>Returns sum of bond orders corresponding to all non-hydrogen atoms bonded to an <em>Atom</em>
+in a molecule.</p>
+</dd>
+<dt><strong><a name="getvalence" class="item"><strong>GetValence</strong></a></strong></dt>
+<dd>
+<div class="OptionsBox">
+    $Valence = $Atom-&gt;GetValence();</div>
+<p>Returns valence of an <em>Atom</em> in a molecule. Valence corresponds to number of electrons used
+by an atom in bonding:</p>
+<div class="OptionsBox">
+    Valence = ValenceElectrons - ValenceFreeElectrons = BondingElectrons</div>
+<p>Single, double and triple bonds with bond orders of 1, 2, and 3 correspond to
+contribution of 1, 2, and 3 bonding electrons. So:</p>
+<div class="OptionsBox">
+    Valence = SumOfBondOrders + NumOfMissingHydrogens + FormalCharge</div>
+<p>where positive and negative values of FormalCharge increase and decrease the number of bonding
+electrons, respectively.</p>
+<p>The current release of MayaChemTools supports the following three valence models, which
+are used during calculation of implicit hydrogens: MDLValenceModel, DaylightValenceModel,
+InternalValenceModel or MayaChemToolsValenceModel.</p>
+<p>Notes:</p>
+<div class="OptionsBox">
+    . Missing hydrogens are included in the valence.
+<br/>    . For neutral molecules, valence and sum of bond orders are equal.
+<br/>    . For molecules containing only single bonds, SumOfBondOrders and
+      NumOfBonds are equal.
+<br/>    . Free radical electrons lead to the decrease in valence. For atoms with
+      explicit assignment of SpinMultiplicity property values corresponding to
+      Singlet (two unparied electrons corresponding to one spin state), Doublet
+      (free radical; an unpaired electron corresponding to two spin states),
+      and Triplet (two unparied electrons corresponding to three spin states;
+      divalent carbon atoms (carbenes)), FreeRadicalElectrons are calculated as follows:</div>
+<div class="OptionsBox">
+&nbsp;&nbsp;&nbsp;       SpinMultiplicity: Doublet(2); FreeRadicalElectrons: 1 (one valence
+<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;           electron not available for bonding)
+<br/>&nbsp;&nbsp;&nbsp;       SpinMultiplicity: Singlet(1)/Triplet(3); FreeRadicalElectrons: 2 (two
+<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;           valence electrons not available for bonding)</div>
+</dd>
+<dt><strong><a name="getvalenceelectrons" class="item"><strong>GetValenceElectrons</strong></a></strong></dt>
+<dd>
+<div class="OptionsBox">
+    $ValenceElectrons = $Atom-&gt;GetValenceElectrons();</div>
+<p>Returns valence electrons for an <strong>Atom</strong> which corresponds to either explicity set <em>ValenceElectrons</em>
+atom property or valence electrons for the corresponding element in the periodic table available by
+<strong>PeriodicTable</strong> module.</p>
+</dd>
+<dt><strong><a name="getvalencefreeelectrons" class="item"><strong>GetValenceFreeElectrons</strong></a></strong></dt>
+<dd>
+<div class="OptionsBox">
+    $ValenceFreeElectrons = $Atom-&gt;GetValenceFreeElectrons();
+<br/>    $ValenceFreeElectrons = $Atom-&gt;GetValenceFreeElectrons(
+                            $ExcludeFreeRadicalElectrons);</div>
+<p>Returns valence frees electrons for an <strong>Atom</strong> in a molecule. It corresponds to:</p>
+<div class="OptionsBox">
+    ValenceElectrons - Valence
+<br/>    or
+<br/>    ValenceElectrons - NumOfMissingHydrogens - SumOfBondOrders - FormalCharge</div>
+<p>Free radical electrons are included in the valence free electrons count by default.</p>
+<p>Examples:</p>
+<div class="OptionsBox">
+    NH3: ValenceFreeElectrons = 5 - 3 = 5 - 3 - 0 - 0 = 2
+<br/>    NH2: ValenceFreeElectrons = 5 - 3 = 5 - 2 - 1 - 0 = 2
+<br/>    NH4+; ValenceFreeElectrons = 5 - 5 = 5 - 4 - 0 - 1 = 0
+<br/>    NH3+; ValenceFreeElectrons = 5 - 5 = 5 - 3 - 1 - 1 = 0
+<br/>    C(=O)O- : ValenceFreeElectrons on O- = 6 - 0 = 6 - 1 - 0 - (-1) = 6
+<br/>    C(=O)O- : ValenceFreeElectrons on =O = 6 - 2 = 6 - 2 - 0 - 0 = 4</div>
+</dd>
+<dt><strong><a name="getx" class="item"><strong>GetX</strong></a></strong></dt>
+<dd>
+<div class="OptionsBox">
+    $X = $Atom-&gt;GetX();</div>
+<p>Returns value of X-coordinate for an <em>Atom</em>.</p>
+</dd>
+<dt><strong><a name="getxyz" class="item"><strong>GetXYZ</strong></a></strong></dt>
+<dd>
+<div class="OptionsBox">
+    @XYZ = $Atom-&gt;GetXYZ();
+<br/>    $XYZRef = $Atom-&gt;GetXYZ();</div>
+<p>Returns an array or a reference to an array containing values for <em>Atom</em> coordinates.</p>
+</dd>
+<dt><strong><a name="getxyzvector" class="item"><strong>GetXYZVector</strong></a></strong></dt>
+<dd>
+<div class="OptionsBox">
+    $XYZVector = $Atom-&gt;GetXYZVector();</div>
+<p>Returns a <em>Vector</em> object containing values for <em>Atom</em> coordinates</p>
+</dd>
+<dt><strong><a name="gety" class="item"><strong>GetY</strong></a></strong></dt>
+<dd>
+<div class="OptionsBox">
+    $Y = $Atom-&gt;GetY();</div>
+<p>Returns value of Y-coordinate for an <em>Atom</em>.</p>
+</dd>
+<dt><strong><a name="getz" class="item"><strong>GetZ</strong></a></strong></dt>
+<dd>
+<div class="OptionsBox">
+    $Z = $Atom-&gt;GetZ();</div>
+<p>Returns value of Z-coordinate for an <em>Atom</em>.</p>
+</dd>
+<dt><strong><a name="isamidecarbon" class="item"><strong>IsAmideCarbon</strong></a></strong></dt>
+<dd>
+<div class="OptionsBox">
+    $Status = $Atom-&gt;IsAmideCarbon();</div>
+<p>Returns 1 or 0 based on whether it's amide carbon <em>Atom</em>.</p>
+<p>An amide group is defineds as:</p>
+<div class="OptionsBox">
+    R-C(=O)-N(-R')-R''</div>
+<p>where:</p>
+<div class="OptionsBox">
+    o R = Hydrogen or groups of atoms attached through carbon
+<br/>    o R' = Hydrogens or groups of atoms attached through carbon or
+           hetro atoms
+<br/>    o R'' = Hydrogens or groups of atoms attached through carbon or
+           hetro atoms</div>
+</dd>
+<dt><strong><a name="isamidenitrogen" class="item"><strong>IsAmideNitrogen</strong></a></strong></dt>
+<dd>
+<div class="OptionsBox">
+    $Status = $Atom-&gt;IsAmideNitrogen();</div>
+<p>Returns 1 or 0 based on whether it's amide nitrogen <em>Atom</em>.</p>
+</dd>
+<dt><strong><a name="isaromatic" class="item"><strong>IsAromatic</strong></a></strong></dt>
+<dd>
+<div class="OptionsBox">
+    $Status = $Atom-&gt;IsAromatic();</div>
+<p>Returns 1 or 0 based on whether it's an aromatic <em>Atom</em>.</p>
+</dd>
+<dt><strong><a name="isarsenic" class="item"><strong>IsArsenic</strong></a></strong></dt>
+<dd>
+<div class="OptionsBox">
+    $Status = $Atom-&gt;IsArsenic();</div>
+<p>Returns 1 or 0 based on whether it's an arsenic <em>Atom</em>.</p>
+</dd>
+<dt><strong><a name="isbondedtoatom" class="item"><strong>IsBondedToAtom</strong></a></strong></dt>
+<dd>
+<div class="OptionsBox">
+    $Status = $Atom-&gt;IsBondedToAtom($OtherAtom);</div>
+<p>Returns 1 or 0 based on whether <em>Atom</em> is bonded to <em>OtherAtom</em>.</p>
+</dd>
+<dt><strong><a name="isbromine" class="item"><strong>IsBromine</strong></a></strong></dt>
+<dd>
+<div class="OptionsBox">
+    $Status = $Atom-&gt;IsBromine();</div>
+<p>Returns 1 or 0 based on whether it's a bromine <em>Atom</em>.</p>
+</dd>
+<dt><strong><a name="iscarbon" class="item"><strong>IsCarbon</strong></a></strong></dt>
+<dd>
+<div class="OptionsBox">
+    $Status = $Atom-&gt;IsCarbon();</div>
+<p>Returns 1 or 0 based on whether it's a carbon <em>Atom</em>.</p>
+</dd>
+<dt><strong><a name="iscarboxylcarbon" class="item"><strong>IsCarboxylCarbon</strong></a></strong></dt>
+<dd>
+<div class="OptionsBox">
+    $Status = $Atom-&gt;IsCarboxylCarbon();</div>
+<p>Returns 1 or 0 based on whether it's a carboxyl carbon atom in carboxyl group:
+R-C(=O)-OH.</p>
+</dd>
+<dt><strong><a name="iscarboxyloxygen" class="item"><strong>IsCarboxylOxygen</strong></a></strong></dt>
+<dd>
+<div class="OptionsBox">
+    $Status = $Atom-&gt;IsCarboxylOxygen();</div>
+<p>Returns 1 or 0 based on whether it's a carboxyl oxygen atom in carboxyl group:
+R-C(=O)-OH.</p>
+</dd>
+<dt><strong><a name="iscarboxylatecarbon" class="item"><strong>IsCarboxylateCarbon</strong></a></strong></dt>
+<dd>
+<div class="OptionsBox">
+    $Status = $Atom-&gt;IsCarboxylateCarbon();</div>
+<p>Returns 1 or 0 based on whether it's a carboxylate carbon atom in carboxyl group:
+R-C(=O)-O-.</p>
+</dd>
+<dt><strong><a name="iscarboxylateoxygen" class="item"><strong>IsCarboxylateOxygen</strong></a></strong></dt>
+<dd>
+<div class="OptionsBox">
+    $Status = $Atom-&gt;IsCarboxylateOxygen();</div>
+<p>Returns 1 or 0 based on whether it's a carboxylate oxygen atom in carboxyl group:
+R-C(=O)-O-.</p>
+</dd>
+<dt><strong><a name="ischlorine" class="item"><strong>IsChlorine</strong></a></strong></dt>
+<dd>
+<div class="OptionsBox">
+    $Status = $Atom-&gt;IsChlorine();</div>
+<p>Returns 1 or 0 based on whether it's a chlorine <em>Atom</em>.</p>
+</dd>
+<dt><strong><a name="isfluorine" class="item"><strong>IsFluorine</strong></a></strong></dt>
+<dd>
+<div class="OptionsBox">
+    $Status = $Atom-&gt;IsFluorine();</div>
+<p>Returns 1 or 0 based on whether it's a fluorine <em>Atom</em>.</p>
+</dd>
+<dt><strong><a name="isfunctionalclasstype" class="item"><strong>IsFunctionalClassType</strong></a></strong></dt>
+<dd>
+<div class="OptionsBox">
+    $Status =$Atom-&gt;IsFunctionalClassType($Type);</div>
+<p>Returns 1 or 0 based on whether it's a specified functional class <em>Type</em>.</p>
+<p>The current release of MayaChemTools supports following abbreviations and descriptive
+names for <em>FunctionalClassType</em>:</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>The following definitions are used to determine functional class types: [ 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="isguadiniumcarbon" class="item"><strong>IsGuadiniumCarbon</strong></a></strong></dt>
+<dd>
+<div class="OptionsBox">
+    $Status = $Atom-&gt;IsGuadiniumCarbon();</div>
+<p>Returns 1 or 0 based on whether it's a guadinium carbon in guadinium group by
+checking its neighbors for a nitrogen in guadinium group.</p>
+</dd>
+<dt><strong><a name="isguadiniumnitrogen" class="item"><strong>IsGuadiniumNitrogen</strong></a></strong></dt>
+<dd>
+<div class="OptionsBox">
+    $Status = $Atom-&gt;IsGuadiniumNitrogen();</div>
+<p>Returns 1 or 0 based on whether it's a guadinium nitrogen in guadinium group.</p>
+<p>A guadinium group is defined as:</p>
+<div class="OptionsBox">
+    R2N-C(=NR)-(NR2) or R2N-C(=NR2+)-(NR2)</div>
+<p>where:</p>
+<div class="OptionsBox">
+    o R = Hydrogens or group of atoms attached through carbon
+<br/>    o Only one of the three nitrogens has a double bond to carbon
+      and has optional formal charge allowing it to be neutral or charged state</div>
+</dd>
+<dt><strong><a name="ishbondacceptor" class="item"><strong>IsHBondAcceptor</strong></a></strong></dt>
+<dd>
+<div class="OptionsBox">
+    $Status =$Atom-&gt;IsHBondAcceptor();
+<br/>    $Status =$Atom-&gt;IsHBondAcceptor($HydrogenBondsType);</div>
+<p>Returns 1 or 0 based on whether it's a hydrogen bond acceptor <em>Atom</em>.</p>
+</dd>
+<dt><strong><a name="ishbonddonor" class="item"><strong>IsHBondDonor</strong></a></strong></dt>
+<dd>
+<div class="OptionsBox">
+    $Status =$Atom-&gt;IsHBondDonor();
+<br/>    $Status =$Atom-&gt;IsHBondDonor($HydrogenBondsType);</div>
+<p>Returns 1 or 0 based on whether it's a hydrogen bond donor <em>Atom</em>.</p>
+</dd>
+<dt><strong><a name="ishydrogenbondacceptor" class="item"><strong>IsHydrogenBondAcceptor</strong></a></strong></dt>
+<dd>
+<div class="OptionsBox">
+    $Status =$Atom-&gt;IsHydrogenBondAcceptor();
+<br/>    $Status =$Atom-&gt;IsHydrogenBondAcceptor($HydrogenBondsType);</div>
+<p>Returns 1 or 0 based on whether it's a hydrogen bond acceptor <em>Atom</em>.</p>
+</dd>
+<dt><strong><a name="ishydrogenbonddonor" class="item"><strong>IsHydrogenBondDonor</strong></a></strong></dt>
+<dd>
+<div class="OptionsBox">
+    $Status =$Atom-&gt;IsHydrogenBondDonor();
+<br/>    $Status =$Atom-&gt;IsHydrogenBondDonor($HydrogenBondsType);</div>
+<p>Returns 1 or 0 based on whether it's a hydrogen bond donor <em>Atom</em>.</p>
+<p>The current release of MayaChemTools supports identification of two types of hydrogen bond
+donor and acceptor atoms with these names:</p>
+<div class="OptionsBox">
+    HBondsType1 or HydrogenBondsType1
+<br/>    HBondsType2 or HydrogenBondsType2</div>
+<p>The names of these hydrogen bond types are rather arbitrary. However, their definitions have
+specific meaning and are as follows:</p>
+<div class="OptionsBox">
+    HydrogenBondsType1 [ Ref 60-61, Ref 65-66 ]:</div>
+<div class="OptionsBox">
+&nbsp;&nbsp;&nbsp;&nbsp;        Donor: NH, NH2, OH - Any N and O with available H
+        Acceptor: N[!H], O - Any N without available H and any O</div>
+<div class="OptionsBox">
+    HydrogenBondsType2 [ Ref 91 ]:</div>
+<div class="OptionsBox">
+&nbsp;&nbsp;&nbsp;&nbsp;        Donor: NH, NH2, OH - N and O with available H
+        Acceptor: N, O - And N and O</div>
+<p>By default, <em>HydrogenBondsType1</em> is used to calculate number hydrogen bond donor
+and acceptor atoms. <em>HydrogenBondsType2</em> corresponds to <strong>RuleOf5</strong> definition
+of hydrogen bond donors and acceptors.</p>
+</dd>
+<dt><strong><a name="ishalogen" class="item"><strong>IsHalogen</strong></a></strong></dt>
+<dd>
+<div class="OptionsBox">
+    $Status =$Atom-&gt;IsHalogen();</div>
+<p>Returns 1 or 0 based on whether it's a halogen <em>Atom</em>.</p>
+</dd>
+<dt><strong><a name="isheteroatom" class="item"><strong>IsHeteroAtom</strong></a></strong></dt>
+<dd>
+<div class="OptionsBox">
+    $Status = $Atom-&gt;IsHeteroAtom();</div>
+<p>Returns 0 or 1 based on whether it's a hetro <em>Atom</em>. Following atoms are considered hetro atoms:
+<strong>N, O, F, P, S, Cl, Br, I</strong>.</p>
+</dd>
+<dt><strong><a name="ishydrogen" class="item"><strong>IsHydrogen</strong></a></strong></dt>
+<dd>
+<div class="OptionsBox">
+    $Status = $Atom-&gt;IsHydrogen();</div>
+<p>Returns 1 or 0 based on whether it's a hydrogen <em>Atom</em>.</p>
+</dd>
+<dt><strong><a name="ishydrophobic" class="item"><strong>IsHydrophobic</strong></a></strong></dt>
+<dd>
+<div class="OptionsBox">
+    $Status =$Atom-&gt;IsHydrophobic();</div>
+<p>Returns 1 or 0 based on whether it's a hydrophobic <em>Atom</em>.</p>
+</dd>
+<dt><strong><a name="isinring" class="item"><strong>IsInRing</strong></a></strong></dt>
+<dd>
+<div class="OptionsBox">
+    $Status = $Atom-&gt;IsInRing();</div>
+<p>Returns 1 or 0 based on whether <em>Atom</em> is present in a ring.</p>
+</dd>
+<dt><strong><a name="isinringofsize" class="item"><strong>IsInRingOfSize</strong></a></strong></dt>
+<dd>
+<div class="OptionsBox">
+    $Status = $Atom-&gt;IsInRingOfSize($Size);</div>
+<p>Returns 1 or 0 based on whether <em>Atom</em> is present in a ring of specific <em>Size</em>.</p>
+</dd>
+<dt><strong><a name="isiodine" class="item"><strong>IsIodine</strong></a></strong></dt>
+<dd>
+<div class="OptionsBox">
+    $Status = $Atom-&gt;IsIodine();</div>
+<p>Returns 1 or 0 based on whether it's an iodine <em>Atom</em>.</p>
+</dd>
+<dt><strong><a name="isisotope" class="item"><strong>IsIsotope</strong></a></strong></dt>
+<dd>
+<div class="OptionsBox">
+    $Status =$Atom-&gt;IsIsotope();</div>
+<p>Returns 1 or 0 based on whether it's an isotope <em>Atom</em>.</p>
+</dd>
+<dt><strong><a name="islipophilic" class="item"><strong>IsLipophilic</strong></a></strong></dt>
+<dd>
+<div class="OptionsBox">
+    $Status =$Atom-&gt;IsLipophilic();</div>
+<p>Returns 1 or 0 based on whether it's a lipophilic <em>Atom</em>.</p>
+</dd>
+<dt><strong><a name="ismetallic" class="item"><strong>IsMetallic</strong></a></strong></dt>
+<dd>
+<div class="OptionsBox">
+    $Status = $Atom-&gt;IsMetallic();</div>
+<p>Returns 1 or 0 based on whether it's a metallic <em>Atom</em>.</p>
+</dd>
+<dt><strong><a name="isnegativelyionizable" class="item"><strong>IsNegativelyIonizable</strong></a></strong></dt>
+<dd>
+<div class="OptionsBox">
+    $Status =$Atom-&gt;IsNegativelyIonizable();</div>
+<p>Returns 1 or 0 based on whether it's a negatively ionizable atom <em>Atom</em>.</p>
+</dd>
+<dt><strong><a name="isnitrogen" class="item"><strong>IsNitrogen</strong></a></strong></dt>
+<dd>
+<div class="OptionsBox">
+    $Status = $Atom-&gt;IsNitrogen();</div>
+<p>Returns 1 or 0 based on whether it's a nitrogen <em>Atom</em>.</p>
+</dd>
+<dt><strong><a name="isnoncarbonorhydrogen" class="item"><strong>IsNonCarbonOrHydrogen</strong></a></strong></dt>
+<dd>
+<div class="OptionsBox">
+    $Status =$Atom-&gt;IsNonCarbonOrHydrogen();</div>
+<p>Returns 1 or 0 based on whether it's not a carbon or hydrogen <em>Atom</em>.</p>
+</dd>
+<dt><strong><a name="isnotinring" class="item"><strong>IsNotInRing</strong></a></strong></dt>
+<dd>
+<div class="OptionsBox">
+    $Status = $Atom-&gt;IsNotInRing();</div>
+<p>Returns 1 or 0 based on whether <em>Atom</em> is not present in a ring.</p>
+</dd>
+<dt><strong><a name="isonlyinonering" class="item"><strong>IsOnlyInOneRing</strong></a></strong></dt>
+<dd>
+<div class="OptionsBox">
+    $Status = $Atom-&gt;IsOnlyInOneRing();</div>
+<p>Returns 1 or 0 based on whether <em>Atom</em> is only present in one ring.</p>
+</dd>
+<dt><strong><a name="isoxygen" class="item"><strong>IsOxygen</strong></a></strong></dt>
+<dd>
+<div class="OptionsBox">
+    $Status = $Atom-&gt;IsOxygen();</div>
+<p>Returns 0 or 1 based on whether it's an oxygen <em>Atom</em>.</p>
+</dd>
+<dt><strong><a name="isphosphorus" class="item"><strong>IsPhosphorus</strong></a></strong></dt>
+<dd>
+<div class="OptionsBox">
+    $Status = $Atom-&gt;IsPhosphorus();</div>
+<p>Returns 0 or 1 based on whether it's a phosphorus <em>Atom</em>.</p>
+</dd>
+<dt><strong><a name="isphosphateoxygen" class="item"><strong>IsPhosphateOxygen</strong></a></strong></dt>
+<dd>
+<div class="OptionsBox">
+    $Status = $Atom-&gt;IsPhosphateOxygen();</div>
+<p>Returns 1 or 0 based on whether it's a phosphate oxygen in phosphate group.</p>
+<p>A phosphate group is defined as:</p>
+<div class="OptionsBox">
+    AO-(O=)P(-OA)-OA</div>
+<p>Where:</p>
+<div class="OptionsBox">
+   A - Any group of atoms including hydrogens</div>
+</dd>
+<dt><strong><a name="isphosphatephosphorus" class="item"><strong>IsPhosphatePhosphorus</strong></a></strong></dt>
+<dd>
+<div class="OptionsBox">
+    $Status = $Atom-&gt;IsPhosphatePhosphorus();</div>
+<p>Returns 1 or 0 based on whether it's a phosphate phosphorus in phosphate group.</p>
+</dd>
+<dt><strong><a name="ispolaratom" class="item"><strong>IsPolarAtom</strong></a></strong></dt>
+<dd>
+<div class="OptionsBox">
+    $Status = $Atom-&gt;IsPolarAtom();</div>
+<p>Returns 0 or 1 based on whether it's a polar <em>Atom</em>. Following atoms are considered polar atoms:
+<strong>N, O, P, S</strong>.</p>
+</dd>
+<dt><strong><a name="ispolarhydrogen" class="item"><strong>IsPolarHydrogen</strong></a></strong></dt>
+<dd>
+<div class="OptionsBox">
+    $Status = $Atom-&gt;IsPolarHydrogen();</div>
+<p>Returns 0 or 1 based on whether it's a hydrogen <em>Atom</em> bonded to a polar atom.</p>
+</dd>
+<dt><strong><a name="ispositivelyionizable" class="item"><strong>IsPositivelyIonizable</strong></a></strong></dt>
+<dd>
+<div class="OptionsBox">
+    $Status =$Atom-&gt;IsPositivelyIonizable();</div>
+<p>Returns 1 or 0 based on whether it's a positively ionizable <em>Atom</em>.</p>
+</dd>
+<dt><strong><a name="issaturated" class="item"><strong>IsSaturated</strong></a></strong></dt>
+<dd>
+<div class="OptionsBox">
+    $Status = $Atom-&gt;IsSaturated();</div>
+<p>Returns 1 or 0 based on whether it's a saturated <em>Atom</em>. An atom attached
+to other atoms with only single bonds is considered a saturated atom.</p>
+</dd>
+<dt><strong><a name="isselenium" class="item"><strong>IsSelenium</strong></a></strong></dt>
+<dd>
+<div class="OptionsBox">
+    $Status = $Atom-&gt;IsSelenium();</div>
+<p>Returns 0 or 1 based on whether it's a selenium <em>Atom</em>.</p>
+</dd>
+<dt><strong><a name="isstereocenter" class="item"><strong>IsStereoCenter</strong></a></strong></dt>
+<dd>
+<div class="OptionsBox">
+    $Status = $Atom-&gt;IsStereoCenter();</div>
+<p>Returns 0 or 1 based on whether it's marked as a stero center <em>Atom</em> by explicit setting
+of <em>StereoCenter</em> atom propert to value of <em>1</em>.</p>
+</dd>
+<dt><strong><a name="issilicon" class="item"><strong>IsSilicon</strong></a></strong></dt>
+<dd>
+<div class="OptionsBox">
+    $Status = $Atom-&gt;IsSilicon();</div>
+<p>Returns 0 or 1 based on whether it's a silicon <em>Atom</em>.</p>
+</dd>
+<dt><strong><a name="issulfur" class="item"><strong>IsSulfur</strong></a></strong></dt>
+<dd>
+<div class="OptionsBox">
+    $Status = $Atom-&gt;IsSulfur();</div>
+<p>Returns 0 or 1 based on whether it's a sulfur <em>Atom</em>.</p>
+</dd>
+<dt><strong><a name="issulphur" class="item"><strong>IsSulphur</strong></a></strong></dt>
+<dd>
+<div class="OptionsBox">
+    $Status = $Atom-&gt;IsSulphur();</div>
+<p>Returns 0 or 1 based on whether it's a sulfur <em>Atom</em>.</p>
+</dd>
+<dt><strong><a name="istellurium" class="item"><strong>IsTellurium</strong></a></strong></dt>
+<dd>
+<div class="OptionsBox">
+    $Status = $Atom-&gt;IsTellurium();</div>
+<p>Returns 0 or 1 based on whether it's a tellurium <em>Atom</em>.</p>
+</dd>
+<dt><strong><a name="isterminal" class="item"><strong>IsTerminal</strong></a></strong></dt>
+<dd>
+<div class="OptionsBox">
+    $Status = $Atom-&gt;IsTerminal();</div>
+<p>Returns 0 or 1 based on whether it's a terminal <em>Atom</em> attached to no
+more than one non-hydrogen atom.</p>
+</dd>
+<dt><strong><a name="isunsaturated" class="item"><strong>IsUnsaturated</strong></a></strong></dt>
+<dd>
+<div class="OptionsBox">
+    $Status = $Atom-&gt;IsUnsaturated();</div>
+<p>Returns 1 or 0 based on whether it's as unsaturated <em>Atom</em>. An atom attached
+to other atoms with at least one non-single bond is considered an unsaturated atom.</p>
+</dd>
+<dt><strong><a name="istopologicalpharmacophoretype" class="item"><strong>IsTopologicalPharmacophoreType</strong></a></strong></dt>
+<dd>
+<div class="OptionsBox">
+    $Status =$Atom-&gt;IsTopologicalPharmacophoreType();</div>
+<p>Returns 1 or 0 based on whether it's any of the supportyed topological pharmacophore
+<em>Atom</em> type. See <em>IsFunctionalClassType</em> for a list of supported types.</p>
+</dd>
+<dt><strong><a name="setatomsymbol" class="item"><strong>SetAtomSymbol</strong></a></strong></dt>
+<dd>
+<div class="OptionsBox">
+    $Atom-&gt;SetAtomSymbol($AtomicSymbol);</div>
+<p>Sets atom symbol for <em>Atom</em> and returns <em>Atom</em> object. The appropriate atomic number is also
+set automatically.</p>
+</dd>
+<dt><strong><a name="setatomicnumber" class="item"><strong>SetAtomicNumber</strong></a></strong></dt>
+<dd>
+<div class="OptionsBox">
+    $Atom-&gt;SetAtomicNumber($AtomicNumber);</div>
+<p>Sets atomic number for <em>Atom</em> and returns <em>Atom</em> object. The appropriate atom symbol is also
+set automatically.</p>
+</dd>
+<dt><strong><a name="setmassnumber" class="item"><strong>SetMassNumber</strong></a></strong></dt>
+<dd>
+<div class="OptionsBox">
+    $Atom-&gt;SetMassNumber($MassNumber);</div>
+<p>Sets mass number for <em>Atom</em> and returns <em>Atom</em> object.</p>
+</dd>
+<dt><strong><a name="setstereocenter" class="item"><strong>SetStereoCenter</strong></a></strong></dt>
+<dd>
+<div class="OptionsBox">
+    $Atom-&gt;SetStereoCenter($StereoCenter);</div>
+<p>Sets stereo center for <em>Atom</em> and returns <em>Atom</em> object.</p>
+</dd>
+<dt><strong><a name="setstereochemistry" class="item"><strong>SetStereochemistry</strong></a></strong></dt>
+<dd>
+<div class="OptionsBox">
+    $Atom-&gt;SetStereochemistry($Stereochemistry);</div>
+<p>Sets stereo chemistry for <em>Atom</em> and returns <em>Atom</em> object.</p>
+</dd>
+<dt><strong><a name="setx" class="item"><strong>SetX</strong></a></strong></dt>
+<dd>
+<div class="OptionsBox">
+    $Atom-&gt;SetX($Value);</div>
+<p>Sets X-coordinate value for <em>Atom</em> and returns <em>Atom</em> object.</p>
+</dd>
+<dt><strong><a name="setxyz" class="item"><strong>SetXYZ</strong></a></strong></dt>
+<dd>
+<div class="OptionsBox">
+    $Atom-&gt;SetXYZ(@XYZValues);
+<br/>    $Atom-&gt;SetXYZ($XYZValuesRef);
+<br/>    $Atom-&gt;SetXYZ($XYZVector);</div>
+<p>Sets <em>Atom</em> coordinates using an array, reference to an array or a <em>Vector</em> object and
+returns <em>Atom</em> object.</p>
+</dd>
+<dt><strong><a name="sety" class="item"><strong>SetY</strong></a></strong></dt>
+<dd>
+<div class="OptionsBox">
+    $Atom-&gt;SetY($Value);</div>
+<p>Sets Y-coordinate value for <em>Atom</em> and returns <em>Atom</em> object.</p>
+</dd>
+<dt><strong><a name="setz" class="item"><strong>SetZ</strong></a></strong></dt>
+<dd>
+<div class="OptionsBox">
+    $Atom-&gt;SetZ($Value);</div>
+<p>Sets Z-coordinate value for <em>Atom</em> and returns <em>Atom</em> object.</p>
+</dd>
+<dt><strong><a name="stringifyatom" class="item"><strong>StringifyAtom</strong></a></strong></dt>
+<dd>
+<div class="OptionsBox">
+    $AtomString = $Atom-&gt;StringifyAtom();</div>
+<p>Returns a string containing information about <em>Atom</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="./Bond.html">Bond.pm</a>,&nbsp<a href="./Molecule.html">Molecule.pm</a>,&nbsp<a href="./MoleculeFileIO.html">MoleculeFileIO.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="./AminoAcids.html" title="AminoAcids.html">Previous</a>&nbsp;&nbsp;<a href="./index.html" title="Table of Contents">TOC</a>&nbsp;&nbsp;<a href="./AtomicDescriptors.html" title="AtomicDescriptors.html">Next</a></td><td width="34%" align="middle"><strong>March 29, 2015</strong></td><td width="33%" align="right"><strong>Atom.pm</strong></td></tr>
+</table>
+</div>
+<br />
+<center>
+<img src="../../images/h2o2.png">
+</center>
+</body>
+</html>