| 1 | 1 <html> | 
|  | 2 <head> | 
|  | 3 <title>MayaChemTools:Documentation:Atom.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="./AminoAcids.html" title="AminoAcids.html">Previous</a>  <a href="./index.html" title="Table of Contents">TOC</a>  <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> | <a href="./../pdf/Atom.pdf" title="PDF US Letter Size">PDF</a> | <a href="./../pdfgreen/Atom.pdf" title="PDF US Letter Size with narrow margins: www.changethemargins.com">PDFGreen</a> | <a href="./../pdfa4/Atom.pdf" title="PDF A4 Size">PDFA4</a> | <a href="./../pdfa4green/Atom.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>Atom</p> | 
|  | 22 <p> | 
|  | 23 </p> | 
|  | 24 <h2>SYNOPSIS</h2> | 
|  | 25 <p>use Atom;</p> | 
|  | 26 <p> | 
|  | 27 </p> | 
|  | 28 <h2>DESCRIPTION</h2> | 
|  | 29 <p><strong>Atom</strong> class provides the following methods:</p> | 
|  | 30 <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> | 
|  | 31 , <a href="#getatomicinvariantvalue">GetAtomicInvariantValue</a>, <a href="#getatomicweight">GetAtomicWeight</a>, <a href="#getbondtoatom">GetBondToAtom</a>, <a href="#getbonds">GetBonds</a> | 
|  | 32 , <a href="#getbondstoheavyatoms">GetBondsToHeavyAtoms</a>, <a href="#getbondstohydrogenatoms">GetBondsToHydrogenAtoms</a>, <a href="#getbondstononhydrogenatoms">GetBondsToNonHydrogenAtoms</a> | 
|  | 33 , <a href="#getexactmass">GetExactMass</a>, <a href="#getexplicithydrogens">GetExplicitHydrogens</a>, <a href="#getformalcharge">GetFormalCharge</a>, <a href="#getfreeradicalelectrons">GetFreeRadicalElectrons</a> | 
|  | 34 , <a href="#getgroupnumber">GetGroupNumber</a>, <a href="#getheavyatomneighbors">GetHeavyAtomNeighbors</a>, <a href="#getheavyatomneighborsatominformation">GetHeavyAtomNeighborsAtomInformation</a> | 
|  | 35 , <a href="#getheavyatomneighborsbondformation">GetHeavyAtomNeighborsBondformation</a>, <a href="#gethighestcommonvalence">GetHighestCommonValence</a> | 
|  | 36 , <a href="#gethydrogenatomneighbors">GetHydrogenAtomNeighbors</a>, <a href="#gethydrogens">GetHydrogens</a>, <a href="#getimplicithydrogens">GetImplicitHydrogens</a>, <a href="#getlargestbondorder">GetLargestBondOrder</a> | 
|  | 37 , <a href="#getlargestbondordertoheavyatoms">GetLargestBondOrderToHeavyAtoms</a>, <a href="#getlargestbondordertononhydrogenatoms">GetLargestBondOrderToNonHydrogenAtoms</a> | 
|  | 38 , <a href="#getlargestring">GetLargestRing</a>, <a href="#getlowestcommonvalence">GetLowestCommonValence</a>, <a href="#getmassnumber">GetMassNumber</a>, <a href="#getmissinghydrogens">GetMissingHydrogens</a> | 
|  | 39 , <a href="#getneighbors">GetNeighbors</a>, <a href="#getneighborsusingatomspecification">GetNeighborsUsingAtomSpecification</a>, <a href="#getnonhydrogenatomneighbors">GetNonHydrogenAtomNeighbors</a> | 
|  | 40 , <a href="#getnonhydrogenatomneighborsatominformation">GetNonHydrogenAtomNeighborsAtomInformation</a> | 
|  | 41 , <a href="#getnonhydrogenatomneighborsbondinformation">GetNonHydrogenAtomNeighborsBondInformation</a>, <a href="#getnonhydrogenneighborofhydrogenatom">GetNonHydrogenNeighborOfHydrogenAtom</a> | 
|  | 42 , <a href="#getnumofaromaticbondstoheavyatoms">GetNumOfAromaticBondsToHeavyAtoms</a>, <a href="#getnumofaromaticbondstononhydrogenatoms">GetNumOfAromaticBondsToNonHydrogenAtoms</a> | 
|  | 43 , <a href="#getnumofbondtypestoheavyatoms">GetNumOfBondTypesToHeavyAtoms</a>, <a href="#getnumofbondtypestononhydrogenatoms">GetNumOfBondTypesToNonHydrogenAtoms</a>, <a href="#getnumofbonds">GetNumOfBonds</a> | 
|  | 44 , <a href="#getnumofbondstoheavyatoms">GetNumOfBondsToHeavyAtoms</a>, <a href="#getnumofbondstohydrogenatoms">GetNumOfBondsToHydrogenAtoms</a> | 
|  | 45 , <a href="#getnumofbondstononhydrogenatoms">GetNumOfBondsToNonHydrogenAtoms</a>, <a href="#getnumofdoublebondstoheavyatoms">GetNumOfDoubleBondsToHeavyAtoms</a> | 
|  | 46 , <a href="#getnumofbondsavailableforheavyatoms">GetNumOfBondsAvailableForHeavyAtoms</a>, <a href="#getnumofbondsavailablefornonhydrogenatoms">GetNumOfBondsAvailableForNonHydrogenAtoms</a> | 
|  | 47 , <a href="#getnumofdoublebondstononhydrogenatoms">GetNumOfDoubleBondsToNonHydrogenAtoms</a>, <a href="#getnumofexplicithydrogens">GetNumOfExplicitHydrogens</a> | 
|  | 48 , <a href="#getnumofheavyatomneighbors">GetNumOfHeavyAtomNeighbors</a>, <a href="#getnumofhydrogenatomneighbors">GetNumOfHydrogenAtomNeighbors</a>, <a href="#getnumofhydrogens">GetNumOfHydrogens</a> | 
|  | 49 , <a href="#getnumofimplicithydrogens">GetNumOfImplicitHydrogens</a>, <a href="#getnumofmissinghydrogens">GetNumOfMissingHydrogens</a>, <a href="#getnumofneighbors">GetNumOfNeighbors</a> | 
|  | 50 , <a href="#getnumofnonhydrogenatomneighbors">GetNumOfNonHydrogenAtomNeighbors</a>, <a href="#getnumofrings">GetNumOfRings</a>, <a href="#getnumofringswithevensize">GetNumOfRingsWithEvenSize</a> | 
|  | 51 , <a href="#getnumofringswithoddsize">GetNumOfRingsWithOddSize</a>, <a href="#getnumofringswithsize">GetNumOfRingsWithSize</a>, <a href="#getnumofringswithsizegreaterthan">GetNumOfRingsWithSizeGreaterThan</a> | 
|  | 52 , <a href="#getnumofringswithsizelessthan">GetNumOfRingsWithSizeLessThan</a>, <a href="#getnumofsigmaandpibondstoheavyatoms">GetNumOfSigmaAndPiBondsToHeavyAtoms</a> | 
|  | 53 , <a href="#getnumofsigmaandpibondstononhydrogenatoms">GetNumOfSigmaAndPiBondsToNonHydrogenAtoms</a>, <a href="#getnumofsinglebondstoheavyatoms">GetNumOfSingleBondsToHeavyAtoms</a> | 
|  | 54 , <a href="#getnumofsinglebondstononhydrogenatoms">GetNumOfSingleBondsToNonHydrogenAtoms</a>, <a href="#getnumoftriplebondstoheavyatoms">GetNumOfTripleBondsToHeavyAtoms</a> | 
|  | 55 , <a href="#getnumoftriplebondstononhydrogenatoms">GetNumOfTripleBondsToNonHydrogenAtoms</a>, <a href="#getperiodnumber">GetPeriodNumber</a> | 
|  | 56 , <a href="#getpotentialtotalcommonvalence">GetPotentialTotalCommonValence</a>, <a href="#getrings">GetRings</a>, <a href="#getringswithevensize">GetRingsWithEvenSize</a> | 
|  | 57 , <a href="#getringswithoddsize">GetRingsWithOddSize</a>, <a href="#getringswithsize">GetRingsWithSize</a>, <a href="#getringswithsizegreaterthan">GetRingsWithSizeGreaterThan</a> | 
|  | 58 , <a href="#getringswithsizelessthan">GetRingsWithSizeLessThan</a>, <a href="#getsizeoflargestring">GetSizeOfLargestRing</a>, <a href="#getsizeofsmallestring">GetSizeOfSmallestRing</a> | 
|  | 59 , <a href="#getsmallestring">GetSmallestRing</a>, <a href="#getspinmultiplicity">GetSpinMultiplicity</a>, <a href="#getsumofbondorders">GetSumOfBondOrders</a> | 
|  | 60 , <a href="#getsumofbondorderstoheavyatoms">GetSumOfBondOrdersToHeavyAtoms</a>, <a href="#getsumofbondorderstohydrogenatoms">GetSumOfBondOrdersToHydrogenAtoms</a> | 
|  | 61 , <a href="#getsumofbondorderstononhydrogenatoms">GetSumOfBondOrdersToNonHydrogenAtoms</a>, <a href="#getvalence">GetValence</a>, <a href="#getvalenceelectrons">GetValenceElectrons</a> | 
|  | 62 , <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> | 
|  | 63 , <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> | 
|  | 64 , <a href="#iscarboxyloxygen">IsCarboxylOxygen</a>, <a href="#iscarboxylatecarbon">IsCarboxylateCarbon</a>, <a href="#iscarboxylateoxygen">IsCarboxylateOxygen</a>, <a href="#ischlorine">IsChlorine</a> | 
|  | 65 , <a href="#isfluorine">IsFluorine</a>, <a href="#isfunctionalclasstype">IsFunctionalClassType</a>, <a href="#isguadiniumcarbon">IsGuadiniumCarbon</a>, <a href="#isguadiniumnitrogen">IsGuadiniumNitrogen</a> | 
|  | 66 , <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> | 
|  | 67 , <a href="#ishydrogenbondacceptor">IsHydrogenBondAcceptor</a>, <a href="#ishydrogenbonddonor">IsHydrogenBondDonor</a>, <a href="#ishydrophobic">IsHydrophobic</a>, <a href="#isinring">IsInRing</a> | 
|  | 68 , <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> | 
|  | 69 , <a href="#isnegativelyionizable">IsNegativelyIonizable</a>, <a href="#isnitrogen">IsNitrogen</a>, <a href="#isnoncarbonorhydrogen">IsNonCarbonOrHydrogen</a>, <a href="#isnotinring">IsNotInRing</a> | 
|  | 70 , <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> | 
|  | 71 , <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> | 
|  | 72 , <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> | 
|  | 73 , <a href="#istopologicalpharmacophoretype">IsTopologicalPharmacophoreType</a>, <a href="#isunsaturated">IsUnsaturated</a>, <a href="#setatomsymbol">SetAtomSymbol</a>, <a href="#setatomicnumber">SetAtomicNumber</a> | 
|  | 74 , <a href="#setexplicithydrogens">SetExplicitHydrogens</a>, <a href="#setmassnumber">SetMassNumber</a>, <a href="#setstereocenter">SetStereoCenter</a>, <a href="#setstereochemistry">SetStereochemistry</a> | 
|  | 75 , <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> | 
|  | 76 </p><p><strong>Atom</strong> class is derived from <strong>ObjectProperty</strong> base class which provides methods not explicitly | 
|  | 77 defined in <strong>Atom</strong> or <strong>ObjectProperty</strong> class using Perl's AUTOLOAD functionality. These methods | 
|  | 78 are generated on-the-fly for a specified object property:</p> | 
|  | 79 <div class="OptionsBox"> | 
|  | 80     Set<PropertyName>(<PropertyValue>); | 
|  | 81 <br/>    $PropertyValue = Get<PropertyName>(); | 
|  | 82 <br/>    Delete<PropertyName>();</div> | 
|  | 83 <p> | 
|  | 84 </p> | 
|  | 85 <h2>METHODS</h2> | 
|  | 86 <dl> | 
|  | 87 <dt><strong><a name="new" class="item"><strong>new</strong></a></strong></dt> | 
|  | 88 <dd> | 
|  | 89 <div class="OptionsBox"> | 
|  | 90     $NewAtom = new Atom([%PropertyNameAndValues]);</div> | 
|  | 91 <p>Using specified <em>Atom</em> property names and values hash, <strong>new</strong> method creates a new object | 
|  | 92 and returns a reference to newly created <strong>Atom</strong> object. By default, following properties are | 
|  | 93 initialized:</p> | 
|  | 94 <div class="OptionsBox"> | 
|  | 95     ID = SequentialObjectID | 
|  | 96 <br/>    Name = "Atom <SequentialObjectID>" | 
|  | 97 <br/>    AtomSymbol = "" | 
|  | 98 <br/>    AtomicNumber = 0 | 
|  | 99 <br/>    XYZ = ZeroVector</div> | 
|  | 100 <p>Except for <em>ID</em> property, all other default properties and other additional properties can | 
|  | 101 be set during invocation of this method.</p> | 
|  | 102 <p>Examples:</p> | 
|  | 103 <div class="OptionsBox"> | 
|  | 104     $Atom = new Atom(); | 
|  | 105 <br/>    $CarbonAtom = new Atom('AtomSymbol' => 'C', 'XYZ' => (0.0, 1.0, | 
|  | 106                   0.0)); | 
|  | 107 <br/>    $OxygenAtom = new Atom('AtomName' => 'Oxygen', AtomSymbol' => 'O', | 
|  | 108                   'XYZ' => (1.0, 1.0, 1.0));</div> | 
|  | 109 </dd> | 
|  | 110 <dt><strong><a name="addhydrogens" class="item"><strong>AddHydrogens</strong></a></strong></dt> | 
|  | 111 <dd> | 
|  | 112 <div class="OptionsBox"> | 
|  | 113     $NumOfHydrogensAdded = $Atom->AddHydrogens();</div> | 
|  | 114 <p>Adds hydrogens to an <strong>Atom</strong> present in a <strong>Molecule</strong> object and returns | 
|  | 115 the number of added hydrogens. The current release of MayaChemTools doesn't | 
|  | 116 assign hydrogen positions.</p> | 
|  | 117 </dd> | 
|  | 118 <dt><strong><a name="copy" class="item"><strong>Copy</strong></a></strong></dt> | 
|  | 119 <dd> | 
|  | 120 <div class="OptionsBox"> | 
|  | 121     $AtomCopy = $Atom->Copy();</div> | 
|  | 122 <p>Copy <em>Atom</em> and its associated data using <strong>Storable::dclone</strong> and return a new | 
|  | 123 <strong>Atom</strong> object.</p> | 
|  | 124 </dd> | 
|  | 125 <dt><strong><a name="deleteatom" class="item"><strong>DeleteAtom</strong></a></strong></dt> | 
|  | 126 <dd> | 
|  | 127 <div class="OptionsBox"> | 
|  | 128     $Atom->DeleteAtom();</div> | 
|  | 129 <p>Delete <em>Atom</em> from a molecule.</p> | 
|  | 130 </dd> | 
|  | 131 <dt><strong><a name="doesatomneighborhoodmatch" class="item"><strong>DoesAtomNeighborhoodMatch</strong></a></strong></dt> | 
|  | 132 <dd> | 
|  | 133 <div class="OptionsBox"> | 
|  | 134     $Status = $Atom->DoesAtomNeighborhoodMatch($CentralAtomSpec); | 
|  | 135 <br/>    $Status = $Atom->DoesAtomNeighborhoodMatch($CentralAtomSpec, | 
|  | 136                               $NbrAtomSpecsRef); | 
|  | 137 <br/>    $Status = $Atom->DoesAtomNeighborhoodMatch($CentralAtomSpec, | 
|  | 138                               $NbrAtomSpecsRef, $AllowedNbrBondSpecsRef); | 
|  | 139 <br/>    $Status = $Atom->DoesAtomNeighborhoodMatch($CentralAtomSpec, | 
|  | 140                               $NbrAtomSpecsRef, $NbrBondSpecsRef, | 
|  | 141                               $AllowedNbrOfNbrAtomSpecsRef);</div> | 
|  | 142 <p>Returns 1 or 0 based on whether atom matches central atom and its neighborhood | 
|  | 143 using specified atom and bonds specifications. Neighborhood atom and bond specifications | 
|  | 144 are specified as array references containing neighbor atom and bond specifications.</p> | 
|  | 145 <p>Let:</p> | 
|  | 146 <div class="OptionsBox"> | 
|  | 147     AS = Atom symbol corresponding to element symbol, atomic number (#n) | 
|  | 148          or any atom (A)</div> | 
|  | 149 <div class="OptionsBox"> | 
|  | 150     X<n>  = Number of non-hydrogen atom neighbors or heavy atoms | 
|  | 151             attached to atom | 
|  | 152 <br/>    T<n>  = Total number of atom neighbors including implicit and explicit | 
|  | 153             hydrogens | 
|  | 154 <br/>    BO<n> = Sum of bond orders to non-hydrogen atom neighbors or heavy | 
|  | 155             atoms attached to atom | 
|  | 156 <br/>    LBO<n> = Largest bond order of non-hydrogen atom neighbors or heavy | 
|  | 157              atoms attached to atom | 
|  | 158 <br/>    SB<n> = Number of single bonds to non-hydrogen atom neighbors or | 
|  | 159             heavy atoms attached to atom | 
|  | 160 <br/>    TSB<n> = Total number of single bonds to atom neighbors including implicit | 
|  | 161              and explicit hydrogens | 
|  | 162 <br/>    DB<n> = Number of double bonds to non-hydrogen atom neighbors or | 
|  | 163             heavy atoms attached to atom | 
|  | 164 <br/>    TB<n> = Number of triple bonds to non-hydrogen atom neighbors or | 
|  | 165             heavy atoms attached to atom | 
|  | 166 <br/>    AB<n> = Number of aromatic bonds to non-hydrogen atom neighbors or | 
|  | 167             heavy atoms attached to atom | 
|  | 168 <br/>    H<n>   = Number of implicit and explicit hydrogens for atom | 
|  | 169 <br/>    Ar     = Aromatic annotation indicating whether atom is aromatic | 
|  | 170 <br/>    RA or RA<n>  = Ring atom annotation indicating whether atom | 
|  | 171                    is a ring | 
|  | 172 <br/>    TR<n>  = Total number of rings containing atom | 
|  | 173 <br/>    FC<+n/-n> = Formal charge assigned to atom | 
|  | 174 <br/>    MN<n> = Mass number indicating isotope other than most abundant isotope | 
|  | 175 <br/>    SM<n> = Spin multiplicity of atom. Possible values: 1 (singlet), | 
|  | 176             2 (doublet) or 3 (triplet)</div> | 
|  | 177 <p>Then, atom specification corresponds to:</p> | 
|  | 178 <div class="OptionsBox"> | 
|  | 179     AS.X<n>.T<n>.BO<n>.LBO<n>.<SB><n>.TSB<n>.<DB><n>.<TB><n>.AB<n>.H<n>.Ar. | 
|  | 180 <br/>    RA<n>.TR<n>FC<+n/-n>.MN<n>.SM<n></div> | 
|  | 181 <p>Except for AS which is a required atomic invariant in atom specification, all other atomic invariants are | 
|  | 182 optional. For an atom specification to match an atom, the values of all specified atomic invariants must | 
|  | 183 match. Exclamation in from of atomic invariant can be used to negate its effect during the match.</p> | 
|  | 184 <p>For <em>FC</em> value matching, the following value operators are also supported:</p> | 
|  | 185 <div class="OptionsBox"> | 
|  | 186     o +* : Any positive value | 
|  | 187 <br/>    o -* : Any negative value | 
|  | 188 <br/>    o > ValidNumber or >= ValidNumber | 
|  | 189 <br/>    o < ValidNumber or <= ValidNumber</div> | 
|  | 190 <p>A comma delimited atom specification string is used to match any one of the specified atom specification.</p> | 
|  | 191 <p>Notes:</p> | 
|  | 192 <div class="OptionsBox"> | 
|  | 193     o During atom specification match to an atom, the first atomic invariant is always assumed to | 
|  | 194       atom symbol.</div> | 
|  | 195 <p>Examples:</p> | 
|  | 196 <div class="OptionsBox"> | 
|  | 197     o ('N', 'N', 'N') | 
|  | 198 <br/>    o ('N.FC0', 'N.FC0', 'N,N.FC+1.H1') | 
|  | 199 <br/>    o ('N.H2', 'N.H2', 'N.H1') | 
|  | 200 <br/>    o ('C,N', '!N', '!H') | 
|  | 201 <br/>    o ('C,N', 'N.Ar', 'N.R5')</div> | 
|  | 202 <p>Let:</p> | 
|  | 203 <div class="OptionsBox"> | 
|  | 204     -|1|s|Single = Single bond | 
|  | 205 <br/>    =|2|d|Double = Double bond | 
|  | 206 <br/>    #|3|t|Triple  = Triple bond | 
|  | 207 <br/>    :|1.5|a|Ar|Aromatic = Aromatic bond</div> | 
|  | 208 <div class="OptionsBox"> | 
|  | 209     @|RB|Ring = Ring bond | 
|  | 210 <br/>    ~|*|Any = Any bond</div> | 
|  | 211 <p>Then, bond specification corresponds to:</p> | 
|  | 212 <div class="OptionsBox"> | 
|  | 213     -.: | 
|  | 214 <br/>    =.@ | 
|  | 215 <br/>    Double.Aromatic</div> | 
|  | 216 <p>For a bond specification to match bond between two atoms, the values of all specified bond symbols must | 
|  | 217 match. Exclamation in from of bond symbol can be used to negate its effect during the match.</p> | 
|  | 218 <p>A comma delimited bond specification string is used to match any one of the specified atom specification.</p> | 
|  | 219 <p>Notes:</p> | 
|  | 220 <div class="OptionsBox"> | 
|  | 221     o During atom neighborhood match for central atom neighborhood atom and bond specifications, | 
|  | 222       implicit or missing hydrogens are automatically checked for any matches to unmatched | 
|  | 223       specifications.</div> | 
|  | 224 <p>Examples:</p> | 
|  | 225 <div class="OptionsBox"> | 
|  | 226     Aromatic carbon in a 5 membered ring: | 
|  | 227                               $Atom->DoesAtomNeighborhoodMatch('C.Ar.RA5');</div> | 
|  | 228 <div class="OptionsBox"> | 
|  | 229     AcetylenicCarbon: $Atom->DoesAtomNeighborhoodMatch('C.T2.TB1'); or | 
|  | 230                        $Atom->DoesAtomNeighborhoodMatch('C.T2.TB1', | 
|  | 231                               ['*', '*'], ['#', '-']);</div> | 
|  | 232 <div class="OptionsBox"> | 
|  | 233     GuadiniumCarbon: $Atom->DoesAtomNeighborhoodMatch('C.X3.BO4', | 
|  | 234                               ['N.FC0', 'N.FC0', 'N.FC0,N.FC+1'], | 
|  | 235                               ['-', '-', '='], | 
|  | 236                               ['C,H', 'C,H', 'C,H']);</div> | 
|  | 237 <div class="OptionsBox"> | 
|  | 238     AmideCarbon: $Atom->DoesAtomNeighborhoodMatch('C.X3.BO4,C.X2.BO3', | 
|  | 239                               ['C,H', 'O', 'N'], | 
|  | 240                               ['-', '=', '-'], | 
|  | 241                               ['C,H', 'C', 'C,H,N,O,S,P,F,Cl,Br,I']);</div> | 
|  | 242 <div class="OptionsBox"> | 
|  | 243     CarboxylCarbon: $Atom->DoesAtomNeighborhoodMatch('C.X3.BO4,C.X2.BO3', | 
|  | 244                               ['C,H', 'O', 'O.X1.FC0'], | 
|  | 245                               ['-', '=', '-'], | 
|  | 246                               ['C,H', 'C', 'C']);</div> | 
|  | 247 <div class="OptionsBox"> | 
|  | 248     CarboxylateCarbon: $Atom->DoesAtomNeighborhoodMatch('C.X3.BO4,C.X2.BO3', | 
|  | 249                               ['C,H', 'O', 'O.X1.FC-1'], | 
|  | 250                               ['-', '=', '-'], | 
|  | 251                               ['C,H', 'C', 'C']);</div> | 
|  | 252 </dd> | 
|  | 253 <dt><strong><a name="deletehydrogens" class="item"><strong>DeleteHydrogens</strong></a></strong></dt> | 
|  | 254 <dd> | 
|  | 255 <div class="OptionsBox"> | 
|  | 256     $NumOfHydrogensDeleted = $Atom->AddHydrogens();</div> | 
|  | 257 <p>Delete hydrogens from an <strong>Atom</strong> present in a <strong>Molecule</strong> object and returns | 
|  | 258 the number of deleted hydrogens.</p> | 
|  | 259 </dd> | 
|  | 260 <dt><strong><a name="getatomicinvariantvalue" class="item"><strong>GetAtomicInvariantValue</strong></a></strong></dt> | 
|  | 261 <dd> | 
|  | 262 <div class="OptionsBox"> | 
|  | 263     $Value = $Atom->GetAtomicInvariantValue($AtomicInvariant);</div> | 
|  | 264 <p>Returns atomic invariant value for a specified <em>AtomicInvariant</em>. The current release | 
|  | 265 of MayaChemTools supports following abbreviations and descriptive names for | 
|  | 266 <em>AtomicInvarints</em>:</p> | 
|  | 267 <div class="OptionsBox"> | 
|  | 268     AS : Atom or element symbol | 
|  | 269 <br/>    X : NumOfNonHydrogenAtomNeighbors or NumOfHeavyAtomNeighbors | 
|  | 270 <br/>    T : TotalNumOfAtomNeighbors | 
|  | 271 <br/>    BO : SumOfBondOrdersToNonHydrogenAtoms or SumOfBondOrdersToHeavyAtoms | 
|  | 272 <br/>    LBO : LargestBondOrderToNonHydrogenAtoms or LargestBondOrderToHeavyAtoms | 
|  | 273 <br/>    SB :  NumOfSingleBondsToNonHydrogenAtoms or NumOfSingleBondsToHeavyAtoms | 
|  | 274 <br/>    TSB :  TotalNumOfSingleBonds | 
|  | 275 <br/>    DB : NumOfDoubleBondsToNonHydrogenAtoms or NumOfDoubleBondsToHeavyAtoms | 
|  | 276 <br/>    TB : NumOfTripleBondsToNonHydrogenAtoms or NumOfTripleBondsToHeavyAtoms | 
|  | 277 <br/>    AB : NumOfAromaticBondsToNonHydrogenAtoms or NumOfAromaticBondsToHeavyAtoms | 
|  | 278 <br/>    H :  NumOfImplicitAndExplicitHydrogens | 
|  | 279 <br/>    Ar : Aromatic | 
|  | 280 <br/>    Str : Stereochemistry | 
|  | 281 <br/>    RA : RingAtom | 
|  | 282 <br/>    FC : FormalCharge | 
|  | 283 <br/>    AN : AtomicNumber | 
|  | 284 <br/>    AM : AtomicMass | 
|  | 285 <br/>    MN : MassNumber | 
|  | 286 <br/>    SM : SpinMultiplicity</div> | 
|  | 287 </dd> | 
|  | 288 <dt><strong><a name="getatomicweight" class="item"><strong>GetAtomicWeight</strong></a></strong></dt> | 
|  | 289 <dd> | 
|  | 290 <div class="OptionsBox"> | 
|  | 291     $Value = $Aom->GetAtomicWeight();</div> | 
|  | 292 <p>Returns atomic weight of an <strong>Atom</strong> which corresponds to either explicity set <em>AtomicWeight</em> | 
|  | 293 atom property or atomic weight of the corresponding element in the periodic table available by | 
|  | 294 <strong>PeriodicTable</strong> module.</p> | 
|  | 295 </dd> | 
|  | 296 <dt><strong><a name="getbondtoatom" class="item"><strong>GetBondToAtom</strong></a></strong></dt> | 
|  | 297 <dd> | 
|  | 298 <div class="OptionsBox"> | 
|  | 299     $Bond = $Atom->GetBondToAtom($OtherAtom);</div> | 
|  | 300 <p>Returns a <strong>Bond</strong> object corresponding to bond between <em>Atom</em> and <em>OtherAtom</em> in | 
|  | 301 a molecule.</p> | 
|  | 302 </dd> | 
|  | 303 <dt><strong><a name="getbonds" class="item"><strong>GetBonds</strong></a></strong></dt> | 
|  | 304 <dd> | 
|  | 305 <div class="OptionsBox"> | 
|  | 306     @Bonds = $Aoto->GetBonds();</div> | 
|  | 307 <p>Returns an array of <strong>Bond</strong> objects corresponding to all bonds from <em>Atom</em> to other | 
|  | 308 bonded atoms in a molecule.</p> | 
|  | 309 </dd> | 
|  | 310 <dt><strong><a name="getbondstoheavyatoms" class="item"><strong>GetBondsToHeavyAtoms</strong></a></strong></dt> | 
|  | 311 <dd> | 
|  | 312 <div class="OptionsBox"> | 
|  | 313     @Bonds = $Atom->GetBondsToHeavyAtoms();</div> | 
|  | 314 <p>Returns an array of <strong>Bond</strong> objects corresponding to bonds from <em>Atom</em> to other bonded | 
|  | 315 non-hydrogen atoms in a molecule.</p> | 
|  | 316 </dd> | 
|  | 317 <dt><strong><a name="getbondstohydrogenatoms" class="item"><strong>GetBondsToHydrogenAtoms</strong></a></strong></dt> | 
|  | 318 <dd> | 
|  | 319 <div class="OptionsBox"> | 
|  | 320     @Bonds = $Atom->GetBondsToHydrogenAtoms();</div> | 
|  | 321 <p>Returns an array of <strong>Bond</strong> objects corresponding to bonds from <em>Atom</em> to any other | 
|  | 322 hydrogen atom in a molecule.</p> | 
|  | 323 </dd> | 
|  | 324 <dt><strong><a name="getbondstononhydrogenatoms" class="item"><strong>GetBondsToNonHydrogenAtoms</strong></a></strong></dt> | 
|  | 325 <dd> | 
|  | 326 <div class="OptionsBox"> | 
|  | 327     @Bonds = $Atom->GetBondsToNonHydrogenAtoms();</div> | 
|  | 328 <p>Returns an array of <strong>Bond</strong> objects corresponding to bonds from <em>Atom</em> to other bonded | 
|  | 329 non-hydrogen atoms in a molecule.</p> | 
|  | 330 </dd> | 
|  | 331 <dt><strong><a name="getexactmass" class="item"><strong>GetExactMass</strong></a></strong></dt> | 
|  | 332 <dd> | 
|  | 333 <div class="OptionsBox"> | 
|  | 334     $ExactMass = $Atom->GetExactMass();</div> | 
|  | 335 <p>Returns exact mass of an <em>Atom</em> which correspond to one of these three values: explicity set | 
|  | 336 <em>ExactMass</em> property; mass of natural isotope for an explicty set value of <em>MassNumber</em>; most | 
|  | 337 abundant natural isotope mass for <em>Atom</em> with valid atomic number value available by | 
|  | 338 <strong>PerodicTable</strong> module.</p> | 
|  | 339 </dd> | 
|  | 340 <dt><strong><a name="getexplicithydrogens" class="item"><strong>GetExplicitHydrogens</strong></a></strong></dt> | 
|  | 341 <dd> | 
|  | 342 <div class="OptionsBox"> | 
|  | 343     $NumOfExplicitHydrogens = $Atom->GetExplicitHydrogens();</div> | 
|  | 344 <p>Returns number of hydrogens explicity bonded to an <em>Atom</em> in a molecule.</p> | 
|  | 345 </dd> | 
|  | 346 <dt><strong><a name="getformalcharge" class="item"><strong>GetFormalCharge</strong></a></strong></dt> | 
|  | 347 <dd> | 
|  | 348 <div class="OptionsBox"> | 
|  | 349     $FormalCharge = $Atom->GetFormalCharge();</div> | 
|  | 350 <p>Returns formal charge of an <em>Atom</em> in a molecule.</p> | 
|  | 351 </dd> | 
|  | 352 <dt><strong><a name="getfreeradicalelectrons" class="item"><strong>GetFreeRadicalElectrons</strong></a></strong></dt> | 
|  | 353 <dd> | 
|  | 354 <div class="OptionsBox"> | 
|  | 355     $FreeRadicalElectrons = $Atom->GetFreeRadicalElectrons();</div> | 
|  | 356 <p>Returns number of free radical electrons corresponding to to one of these | 
|  | 357 three values: <em>FreeRadicalElectrons</em> property; <em>SpinMultiplicity</em> property; value | 
|  | 358 of 0.</p> | 
|  | 359 <p>For atoms with explicit assignment of <em>SpinMultiplicity</em> atom property values,</p> | 
|  | 360 <div class="OptionsBox"> | 
|  | 361     Singlet  - two unparied electrons corresponding to one spin state | 
|  | 362 <br/>    Doublet - free radical; an unpaired electron corresponding to two | 
|  | 363               spin states | 
|  | 364 <br/>    Triplet - two unparied electrons corresponding to three spin states | 
|  | 365               (divalent carbon atoms: carbenes)</div> | 
|  | 366 <p><strong>FreeRadicalElectrons</strong> are calculated as follows:</p> | 
|  | 367 <div class="OptionsBox"> | 
|  | 368     Doublet: 1 (one valence electron not available for bonding) | 
|  | 369 <br/>    Singlet: 2 (two valence electrons not available for bonding) | 
|  | 370 <br/>    Triplet: 2 (two valence electrons not available for bonding)</div> | 
|  | 371 </dd> | 
|  | 372 <dt><strong><a name="getgroupnumber" class="item"><strong>GetGroupNumber</strong></a></strong></dt> | 
|  | 373 <dd> | 
|  | 374 <div class="OptionsBox"> | 
|  | 375     $GroupNumber = $Atom->GetGroupNumber();</div> | 
|  | 376 <p>Returns group number of an <em>Atom</em> in a molecule with a valid atomic number.</p> | 
|  | 377 </dd> | 
|  | 378 <dt><strong><a name="getheavyatomneighbors" class="item"><strong>GetHeavyAtomNeighbors</strong></a></strong></dt> | 
|  | 379 <dd> | 
|  | 380 <div class="OptionsBox"> | 
|  | 381     $NumOfHeavyAtoms = $Atom->GetHeavyAtomNeighbors(); | 
|  | 382 <br/>    @HeavyAtoms = $Atom->GetHeavyAtomNeighbors();</div> | 
|  | 383 <p>Return number of heavy atoms or an array of <strong>Atom</strong> objects corresponding to heavy atoms | 
|  | 384 bonded to an <em>Atom</em> in a molecule.</p> | 
|  | 385 </dd> | 
|  | 386 <dt><strong><a name="getheavyatomneighborsatominformation" class="item"><strong>GetHeavyAtomNeighborsAtomInformation</strong></a></strong></dt> | 
|  | 387 <dd> | 
|  | 388 <div class="OptionsBox"> | 
|  | 389     ($NumOfAtomNeighbors, $AtomNeighborsRef, | 
|  | 390      $NumOfAtomNeighborsType, $AtomNeighborsTypeMapRef) = $Atom-> | 
|  | 391                               GetHeavyAtomNeighborsAtomInformation();</div> | 
|  | 392 <p>Returns atoms information for all non-hydrogen atoms attached to an <em>Atom</em> | 
|  | 393 in a molecule.</p> | 
|  | 394 <p>The following values are returned:</p> | 
|  | 395 <div class="OptionsBox"> | 
|  | 396     o Number of non-hydrogen atom neighbors | 
|  | 397 <br/>    o A reference to an array containing atom objects corresponding to | 
|  | 398       non-hydrogen atom neighbors | 
|  | 399 <br/>    o Number of different types of non-hydrogen atom neighbors | 
|  | 400 <br/>    o A reference to a hash containing atom symbol as key with value | 
|  | 401       corresponding to its count for non-hydrogen atom neighbors</div> | 
|  | 402 </dd> | 
|  | 403 <dt><strong><a name="getheavyatomneighborsbondformation" class="item"><strong>GetHeavyAtomNeighborsBondformation</strong></a></strong></dt> | 
|  | 404 <dd> | 
|  | 405 <div class="OptionsBox"> | 
|  | 406     ($NumOfBonds, $BondTypeCountMapRef, | 
|  | 407 <br/>    $AtomsBondTypesCountMapRef, | 
|  | 408 <br/>    $AtomsBondTypeAtomsMap) = $Atom-> | 
|  | 409                               GetHeavyAtomNeighborsBondformation();</div> | 
|  | 410 <p>Returns bonds information for all non-hydrogen atoms attached to an <em>Atom</em> | 
|  | 411 in a molecule.</p> | 
|  | 412 <p>The following values are returned:</p> | 
|  | 413 <div class="OptionsBox"> | 
|  | 414     o Number of bonds to non-hydrogen atom neighbors | 
|  | 415 <br/>    o A reference to an array containing bond objects corresponding to | 
|  | 416       non-hydrogen atom neighbors | 
|  | 417 <br/>    o A reference to a hash containing bond type as key with value | 
|  | 418       corresponding to its count for non-hydrogen atom neighbors. Bond | 
|  | 419       types are: Single, Double or Triple | 
|  | 420 <br/>    o A reference to a hash containing atom symbol as key pointing to bond | 
|  | 421       type as second key with values corresponding to count of bond types for atom | 
|  | 422       symbol for non-hydrogen atom neighbors | 
|  | 423 <br/>    o A reference to a hash containing atom symbol as key pointing to bond | 
|  | 424       type as second key with values corresponding to atom objects array involved | 
|  | 425       in corresponding bond type for atom symbol for non-hydrogen atom neighbors</div> | 
|  | 426 </dd> | 
|  | 427 <dt><strong><a name="gethighestcommonvalence" class="item"><strong>GetHighestCommonValence</strong></a></strong></dt> | 
|  | 428 <dd> | 
|  | 429 <div class="OptionsBox"> | 
|  | 430     $HighestCommonValence = $Atom->GetHighestCommonValence();</div> | 
|  | 431 <p>Returns highest common valence of an <em>Atom</em> which corresponds to either explicity set | 
|  | 432 <em>HighestCommonValence</em> atom property or highest common valence of the corresponding | 
|  | 433 element in the periodic table available by <strong>PerodicTable</strong> module.</p> | 
|  | 434 </dd> | 
|  | 435 <dt><strong><a name="gethydrogens" class="item"><strong>GetHydrogens</strong></a></strong></dt> | 
|  | 436 <dd> | 
|  | 437 <div class="OptionsBox"> | 
|  | 438     $NumOfHydrogens = $Atom->GetHydrogens();</div> | 
|  | 439 <p>Returns total number of hydrogens for an <em>Atom</em> in a molecule including both hydrogen atom | 
|  | 440 neighbors and implicit hydrogens.</p> | 
|  | 441 </dd> | 
|  | 442 <dt><strong><a name="gethydrogenatomneighbors" class="item"><strong>GetHydrogenAtomNeighbors</strong></a></strong></dt> | 
|  | 443 <dd> | 
|  | 444 <div class="OptionsBox"> | 
|  | 445     $NumOfHydrogenAtomNeighbors = $Atom->GetHydrogenAtomNeighbors(); | 
|  | 446 <br/>    @HydrogenAtomNeighbors = $Atom->GetHydrogenAtomNeighbors();</div> | 
|  | 447 <p>Return number of hydrogen atoms or an array of <em>Atom</em> objects corresponding to hydrogen | 
|  | 448 atoms bonded to an <em>Atom</em> in a molecule.</p> | 
|  | 449 </dd> | 
|  | 450 <dt><strong><a name="getimplicithydrogens" class="item"><strong>GetImplicitHydrogens</strong></a></strong></dt> | 
|  | 451 <dd> | 
|  | 452 <div class="OptionsBox"> | 
|  | 453     $NumOfImplicitHydrogens = $Atom->GetImplicitHydrogens();</div> | 
|  | 454 <p>Returns number of implicit hydrogens for an <em>Atom</em> in a molecule. This value either | 
|  | 455 corresponds to explicitly set <em>ImplicitHydrogens</em> atom property or calculated as the | 
|  | 456 difference between the value of potential total valence and sum of bond orders to | 
|  | 457 both hydrogen and non-hydrogen atom neighbors.</p> | 
|  | 458 </dd> | 
|  | 459 <dt><strong><a name="getpotentialtotalcommonvalence" class="item"><strong>GetPotentialTotalCommonValence</strong></a></strong></dt> | 
|  | 460 <dd> | 
|  | 461 <div class="OptionsBox"> | 
|  | 462     $PotentialTotalValence = $Atom->GetPotentialTotalCommonValence();</div> | 
|  | 463 <p>Returns potential total common valence of an <em>Atom</em> in a molecule corresponding | 
|  | 464 to a specific valence model set for the molecule using its <strong>SetValenceModel</strong> method | 
|  | 465 or default internal valence model. It is used during the calculation of missing or | 
|  | 466 implicit hydrogens.</p> | 
|  | 467 <p>The current release of MayaChemTools supports three valence models: <em>MDLValenceModel, | 
|  | 468 DaylightValenceModel, InternalValenceModel or MayaChemToolsValenceModel</em>.</p> | 
|  | 469 <p>For <em>MDLValenceModel</em> and <em>DaylightValenceModel</em>, the following data files, distributed | 
|  | 470 with the package, are used to calculate potential total valence:</p> | 
|  | 471 <div class="OptionsBox"> | 
|  | 472     lib/data/MDLValenceModelData.csv | 
|  | 473 <br/>    lib/data/DaylightValenceModelData.csv</div> | 
|  | 474 <p>The calculation of potential total common valence for these two models is performed as | 
|  | 475 follows: Calculate current effective total valence of the <em>Atom</em> by adding up the bond | 
|  | 476 order of its neighbors and number of free radical electrons; Find available common valence | 
|  | 477 for the <em>Atom</em>, corresponding to any specified formal charge, higher than the effective | 
|  | 478 total valence, and return it as <em>PotentialTotalValence</em>.</p> | 
|  | 479 <p>The calculation of potential total common valence For <em>InternalValenceModel</em> or | 
|  | 480 <em>MayaChenToolsValenceModel</em> doesn't uses <strong>PeriodicTable</strong> module to retrieve values | 
|  | 481 for common valence, which in turn reads in PeriodicTableElements.csv file distributed with | 
|  | 482 the package.</p> | 
|  | 483 <p>For elements with one one common valence, potential total common valence corresponds | 
|  | 484 to:</p> | 
|  | 485 <div class="OptionsBox"> | 
|  | 486     CommonValence + FormalCharge - FreeRadicalElectrons</div> | 
|  | 487 <p>For elements with multiple common valences, each common valence is used to | 
|  | 488 calculate total potential common valence as shown above, and the first total potential | 
|  | 489 common valence greater than the sum of bond orders to all neighbors is selected as | 
|  | 490 the final total common valence.</p> | 
|  | 491 <p>FormalCharge sign is reversed for electropositive elements with positive formal charge | 
|  | 492 during common valence calculations. Electropositive elements, metals and transition elements, | 
|  | 493 have usually plus formal charge and it leads to decrease in common valence; the negative | 
|  | 494 formal charge should result in the decrease of common valence.</p> | 
|  | 495 <p>The sign of formal charge is adjusted as follows.</p> | 
|  | 496 <p>Group numbers > 14 - Group numbers 15 (N), 16 (O), 17 (F), 18 (He):</p> | 
|  | 497 <p>Formal charge sign is not adjusted. Positive and negative values result in the | 
|  | 498 increase and decrease of valence.</p> | 
|  | 499 <p>Group 14 containing C, Si, Ge, Sn, Pb...:</p> | 
|  | 500 <p>Formal charge sign is reversed for positive values. Both positive and negative | 
|  | 501 values result in the decrease of valence.</p> | 
|  | 502 <p>Group 13 containing B, Al, Ga, In, Tl...:</p> | 
|  | 503 <p>Formal charge sign is always reversed. Positive and negative values result in the | 
|  | 504 decrease and increase of valence.</p> | 
|  | 505 <p>Groups 1 (H) through 12 (Zn)...:</p> | 
|  | 506 <p>Formal charge sign is reversed for positive values. Both positive and negative | 
|  | 507 values result in the decrease of valence.</p> | 
|  | 508 <p>Lanthanides and actinides:</p> | 
|  | 509 <p>Formal charge sign is reversed for positive values. Both positive and negative | 
|  | 510 values result in the decrease of valence.</p> | 
|  | 511 </dd> | 
|  | 512 <dt><strong><a name="getlargestbondorder" class="item"><strong>GetLargestBondOrder</strong></a></strong></dt> | 
|  | 513 <dd> | 
|  | 514 <div class="OptionsBox"> | 
|  | 515     $LargestBO =$Atom->GetLargestBondOrder();</div> | 
|  | 516 <p>Returns largest bond order for an <em>Atom</em> among the bonds to other atoms in a molecule.</p> | 
|  | 517 </dd> | 
|  | 518 <dt><strong><a name="getlargestbondordertoheavyatoms" class="item"><strong>GetLargestBondOrderToHeavyAtoms</strong></a></strong></dt> | 
|  | 519 <dd> | 
|  | 520 <div class="OptionsBox"> | 
|  | 521     $LargestBO =$Atom->GetLargestBondOrderToHeavyAtoms();</div> | 
|  | 522 <p>Returns largest bond order for an <em>Atom</em> among the bonds to other heavy atoms in a molecule.</p> | 
|  | 523 </dd> | 
|  | 524 <dt><strong><a name="getlargestbondordertononhydrogenatoms" class="item"><strong>GetLargestBondOrderToNonHydrogenAtoms</strong></a></strong></dt> | 
|  | 525 <dd> | 
|  | 526 <div class="OptionsBox"> | 
|  | 527     $LargestBO =$Atom->GetLargestBondOrderToNonHydrogenAtoms();</div> | 
|  | 528 <p>Returns largest bond order for an <em>Atom</em> among the bonds to other non-hydrogen atoms | 
|  | 529 in a molecule.</p> | 
|  | 530 </dd> | 
|  | 531 <dt><strong><a name="getlargestring" class="item"><strong>GetLargestRing</strong></a></strong></dt> | 
|  | 532 <dd> | 
|  | 533 <div class="OptionsBox"> | 
|  | 534     @RingAtoms = $Atom->GetLargestRing();</div> | 
|  | 535 <p>Returns an array of ring <em>Atom</em> objects corresponding to the largest ring containing <em>Atom</em> | 
|  | 536 in a molecule.</p> | 
|  | 537 </dd> | 
|  | 538 <dt><strong><a name="getlowestcommonvalence" class="item"><strong>GetLowestCommonValence</strong></a></strong></dt> | 
|  | 539 <dd> | 
|  | 540 <div class="OptionsBox"> | 
|  | 541     $LowestCommonValence = $Atom->GetLowestCommonValence();</div> | 
|  | 542 <p>Returns lowest common valence of an <em>Atom</em> which corresponds to either explicity set | 
|  | 543 <em>LowestCommonValence</em> atom property or highest common valence of the corresponding | 
|  | 544 element in the periodic table available by <strong>PerodicTable</strong> module.</p> | 
|  | 545 </dd> | 
|  | 546 <dt><strong><a name="getmassnumber" class="item"><strong>GetMassNumber</strong></a></strong></dt> | 
|  | 547 <dd> | 
|  | 548 <div class="OptionsBox"> | 
|  | 549     $MassNumber = $Aom->GetMassNumber();</div> | 
|  | 550 <p>Returns atomic weight of an <strong>Atom</strong> which corresponds to either explicity set <em>MassNumber</em> | 
|  | 551 atom property or mass number of the most abundant natural isotope of the corresponding element | 
|  | 552 in the periodic table available by <strong>PeriodicTable</strong> module.</p> | 
|  | 553 </dd> | 
|  | 554 <dt><strong><a name="getmissinghydrogens" class="item"><strong>GetMissingHydrogens</strong></a></strong></dt> | 
|  | 555 <dd> | 
|  | 556 <div class="OptionsBox"> | 
|  | 557     $NumOfMissingHydrogens = $Atom->GetMissingHydrogens();</div> | 
|  | 558 <p>Returns number of missing hydrogens for an <em>Atom</em> in a molecule. This value either | 
|  | 559 corresponds to explicitly set <em>ImplicitHydrogens</em> atom property or calculated as the | 
|  | 560 difference between the value of potential total valence and sum of bond orders to | 
|  | 561 both hydrogen and non-hydrogen atom neighbors.</p> | 
|  | 562 </dd> | 
|  | 563 <dt><strong><a name="getneighbors" class="item"><strong>GetNeighbors</strong></a></strong></dt> | 
|  | 564 <dd> | 
|  | 565 <div class="OptionsBox"> | 
|  | 566     $NumOfNeighbors = $Atom->GetNeighbors(); | 
|  | 567 <br/>    @Neighbors = $Atom->GetNeighbors();</div> | 
|  | 568 <p>Returns number of neighbor atoms or an array of <em>Atom</em> objects corresponding to all | 
|  | 569 atoms bonded to an <em>Atom</em> in a molecule.</p> | 
|  | 570 </dd> | 
|  | 571 <dt><strong><a name="getneighborsusingatomspecification" class="item"><strong>GetNeighborsUsingAtomSpecification</strong></a></strong></dt> | 
|  | 572 <dd> | 
|  | 573 <div class="OptionsBox"> | 
|  | 574     @AtomNeighbors = $Atom->GetNeighborsUsingAtomSpecification($AtomSpec); | 
|  | 575 <br/>    $NumOfNeighbors = $Atom->GetNeighborsUsingAtomSpecification($AtomSpec);</div> | 
|  | 576 <div class="OptionsBox"> | 
|  | 577     @AtomNeighbors = $Atom->GetNeighborsUsingAtomSpecification($AtomSpec, | 
|  | 578                      @ExcludeNeighbors);</div> | 
|  | 579 <p>Returns number of neighbor atoms or an array of <em>Atom</em> objects matching atom | 
|  | 580 specification corresponding to atom neighbors of an <em>Atom</em> in a molecule. Optionally, | 
|  | 581 <em>Atom</em> neighbors can be excluded from the neighbors list using <em>ExcludeNeighbors</em>.</p> | 
|  | 582 <p>Notes:</p> | 
|  | 583 <div class="OptionsBox"> | 
|  | 584     o AtomSpecification correspond to any valid AtomicInvariant based atomic specifications | 
|  | 585       as supported by DoesAtomNeighborhoodMatch method | 
|  | 586 <br/>    o Multiple atom specifications can be used in a string delimited by comma</div> | 
|  | 587 </dd> | 
|  | 588 <dt><strong><a name="getnonhydrogenatomneighbors" class="item"><strong>GetNonHydrogenAtomNeighbors</strong></a></strong></dt> | 
|  | 589 <dd> | 
|  | 590 <div class="OptionsBox"> | 
|  | 591     $NumOfNeighbors = $Atom->GetNonHydrogenAtomNeighbors(); | 
|  | 592 <br/>    @Neighbors = $Atom->GetNonHydrogenAtomNeighbors();</div> | 
|  | 593 <p>Returns number of non-hydrogen atoms or an array of <strong>Atom</strong> objects corresponding to non-hydrogen | 
|  | 594 atoms bonded to an <em>Atom</em> in a molecule.</p> | 
|  | 595 </dd> | 
|  | 596 <dt><strong><a name="getnonhydrogenatomneighborsatominformation" class="item"><strong>GetNonHydrogenAtomNeighborsAtomInformation</strong></a></strong></dt> | 
|  | 597 <dd> | 
|  | 598 <div class="OptionsBox"> | 
|  | 599     ($NumOfAtomNeighbors, $AtomNeighborsRef, | 
|  | 600      $NumOfAtomNeighborsType, $AtomNeighborsTypeMapRef) = $Atom-> | 
|  | 601                               GetNonHydrogenAtomNeighborsAtomInformation();</div> | 
|  | 602 <p>Returns atoms information for all non-hydrogen atoms attached to an <em>Atom</em> | 
|  | 603 in a molecule.</p> | 
|  | 604 <p>The following values are returned:</p> | 
|  | 605 <div class="OptionsBox"> | 
|  | 606     o Number of non-hydrogen atom neighbors | 
|  | 607 <br/>    o A reference to an array containing atom objects corresponding to | 
|  | 608       non-hydrogen atom neighbors | 
|  | 609 <br/>    o Number of different types of non-hydrogen atom neighbors | 
|  | 610 <br/>    o A reference to a hash containing atom symbol as key with value | 
|  | 611       corresponding to its count for non-hydrogen atom neighbors</div> | 
|  | 612 </dd> | 
|  | 613 <dt><strong><a name="getnonhydrogenatomneighborsbondinformation" class="item"><strong>GetNonHydrogenAtomNeighborsBondInformation</strong></a></strong></dt> | 
|  | 614 <dd> | 
|  | 615 <div class="OptionsBox"> | 
|  | 616     ($NumOfBonds, $BondTypeCountMapRef, | 
|  | 617 <br/>    $AtomsBondTypesCountMapRef, | 
|  | 618 <br/>    $AtomsBondTypeAtomsMap) = $Atom-> | 
|  | 619                               GetNonHydrogenAtomNeighborsBondInformation();</div> | 
|  | 620 <p>Returns bonds information for all non-hydrogen atoms attached to an <em>Atom</em> | 
|  | 621 in a molecule.</p> | 
|  | 622 <p>The following values are returned:</p> | 
|  | 623 <div class="OptionsBox"> | 
|  | 624     o Number of bonds to non-hydrogen atom neighbors | 
|  | 625 <br/>    o A reference to an array containing bond objects corresponding to | 
|  | 626       non-hydrogen atom neighbors | 
|  | 627 <br/>    o A reference to a hash containing bond type as key with value | 
|  | 628       corresponding to its count for non-hydrogen atom neighbors. Bond | 
|  | 629       types are: Single, Double or Triple | 
|  | 630 <br/>    o A reference to a hash containing atom symbol as key pointing to bond | 
|  | 631       type as second key with values corresponding to count of bond types for atom | 
|  | 632       symbol for non-hydrogen atom neighbors | 
|  | 633 <br/>    o A reference to a hash containing atom symbol as key pointing to bond | 
|  | 634       type as second key with values corresponding to atom objects array involved | 
|  | 635       in corresponding bond type for atom symbol for non-hydrogen atom neighbors</div> | 
|  | 636 </dd> | 
|  | 637 <dt><strong><a name="getnonhydrogenneighborofhydrogenatom" class="item"><strong>GetNonHydrogenNeighborOfHydrogenAtom</strong></a></strong></dt> | 
|  | 638 <dd> | 
|  | 639 <div class="OptionsBox"> | 
|  | 640     $Atom = $Atom->GetNonHydrogenNeighborOfHydrogenAtom();</div> | 
|  | 641 <p>Returns non-hydrogen or heavy atom neighbor of a hydrogen atom in a molecule..</p> | 
|  | 642 </dd> | 
|  | 643 <dt><strong><a name="getnumofaromaticbondstoheavyatoms" class="item"><strong>GetNumOfAromaticBondsToHeavyAtoms</strong></a></strong></dt> | 
|  | 644 <dd> | 
|  | 645 <div class="OptionsBox"> | 
|  | 646     $NumOfBonds = $Atom->GetNumOfAromaticBondsToHeavyAtoms();</div> | 
|  | 647 <p>Returns number of aromatic bonds from an <em>Atom</em> to other non-hydrogen or heavy atoms in | 
|  | 648 a molecule.</p> | 
|  | 649 </dd> | 
|  | 650 <dt><strong><a name="getnumofaromaticbondstononhydrogenatoms" class="item"><strong>GetNumOfAromaticBondsToNonHydrogenAtoms</strong></a></strong></dt> | 
|  | 651 <dd> | 
|  | 652 <div class="OptionsBox"> | 
|  | 653     $NumOfBonds = $Atom->GetNumOfAromaticBondsToNonHydrogenAtoms();</div> | 
|  | 654 <p>Returns number of aromatic bonds from an <em>Atom</em> to other non-hydrogen or heavy atoms in | 
|  | 655 a molecule.</p> | 
|  | 656 </dd> | 
|  | 657 <dt><strong><a name="getnumofbonds" class="item"><strong>GetNumOfBonds</strong></a></strong></dt> | 
|  | 658 <dd> | 
|  | 659 <div class="OptionsBox"> | 
|  | 660     $NumOfBonds = $Atom->GetNumOfBonds();</div> | 
|  | 661 <p>Returns number of bonds from an <em>Atom</em> to other atoms in a molecule.</p> | 
|  | 662 </dd> | 
|  | 663 <dt><strong><a name="getnumofbondsavailableforheavyatoms" class="item"><strong>GetNumOfBondsAvailableForHeavyAtoms</strong></a></strong></dt> | 
|  | 664 <dd> | 
|  | 665 <div class="OptionsBox"> | 
|  | 666     $NumOfBonds = $Atom->GetNumOfBondsAvailableForHeavyAtoms();</div> | 
|  | 667 <p>Get number of bonds available to form additional bonds with heavy atoms, excluding | 
|  | 668 any implicit bonds to hydrogens set using <em>ImplicitHydrogens</em> property.</p> | 
|  | 669 <p>It's different from number of implicit or missing hydrogens, both of which are equivalent.</p> | 
|  | 670 <p>For example, in a SMILES string, [nH] ring atom corresponds to an aromatic nitrogen. | 
|  | 671 Although the hydrogen specified for n is treated internally as implicit hydrogen and shows | 
|  | 672 up in missing hydrogen count, it's not available to participate in double bonds to additional | 
|  | 673 heavy atoms.</p> | 
|  | 674 </dd> | 
|  | 675 <dt><strong><a name="getnumofbondsavailablefornonhydrogenatoms" class="item"><strong>GetNumOfBondsAvailableForNonHydrogenAtoms</strong></a></strong></dt> | 
|  | 676 <dd> | 
|  | 677 <div class="OptionsBox"> | 
|  | 678     $NumOfBonds = $Atom->GetNumOfBondsAvailableForNonHydrogenAtoms();</div> | 
|  | 679 <p>Get number of bonds available to form additional bonds with heavy atoms, excluding | 
|  | 680 any implicit bonds to hydrogens set using ImplicitHydrogens property.</p> | 
|  | 681 </dd> | 
|  | 682 <dt><strong><a name="getnumofbondstoheavyatoms" class="item"><strong>GetNumOfBondsToHeavyAtoms</strong></a></strong></dt> | 
|  | 683 <dd> | 
|  | 684 <div class="OptionsBox"> | 
|  | 685     $NumOfBondsToHeavyAtoms = $Atom->GetNumOfBondsToHeavyAtoms();</div> | 
|  | 686 <p>Returns number of bonds from an <em>Atom</em> to other heavy atoms in a molecule.</p> | 
|  | 687 </dd> | 
|  | 688 <dt><strong><a name="getnumofbondstohydrogenatoms" class="item"><strong>GetNumOfBondsToHydrogenAtoms</strong></a></strong></dt> | 
|  | 689 <dd> | 
|  | 690 <div class="OptionsBox"> | 
|  | 691     $NumOfBonds = $Atom->GetNumOfBondsToHydrogenAtoms();</div> | 
|  | 692 <p>Returns number of bonds from an <em>Atom</em> to other hydrogen atoms in a molecule.</p> | 
|  | 693 </dd> | 
|  | 694 <dt><strong><a name="getnumofbondstononhydrogenatoms" class="item"><strong>GetNumOfBondsToNonHydrogenAtoms</strong></a></strong></dt> | 
|  | 695 <dd> | 
|  | 696 <div class="OptionsBox"> | 
|  | 697     $NumOfBonds = $Atom->GetNumOfBondsToNonHydrogenAtoms();</div> | 
|  | 698 <p>Returns number of bonds from an <em>Atom</em> to other non-hydrogen atoms in a molecule.</p> | 
|  | 699 </dd> | 
|  | 700 <dt><strong><a name="getnumofbondtypestoheavyatoms" class="item"><strong>GetNumOfBondTypesToHeavyAtoms</strong></a></strong></dt> | 
|  | 701 <dd> | 
|  | 702 <div class="OptionsBox"> | 
|  | 703     ($NumOfSingleBonds, $NumOfDoubleBonds, | 
|  | 704      $NumOfTripleBonds, $NumOfAromaticBonds) = $Atom-> | 
|  | 705                    GetNumOfBondTypesToHeavyAtoms($CountAromaticBonds);</div> | 
|  | 706 <p>Get number of single, double, triple, and aromatic bonds from an <em>Atom</em> to all other | 
|  | 707 non-hydrogen atoms in a molecule.</p> | 
|  | 708 <p>Value of <em>CountAtomaticBonds</em> parameter controls whether number of aromatic | 
|  | 709 bonds is returned; default is not to count aromatic bonds. During  counting of | 
|  | 710 aromatic bonds, the bond marked aromatic is not included in the count | 
|  | 711 of other bond types.</p> | 
|  | 712 </dd> | 
|  | 713 <dt><strong><a name="getnumofbondtypestononhydrogenatoms" class="item"><strong>GetNumOfBondTypesToNonHydrogenAtoms</strong></a></strong></dt> | 
|  | 714 <dd> | 
|  | 715 <div class="OptionsBox"> | 
|  | 716     ($NumOfSingleBonds, $NumOfDoubleBonds, | 
|  | 717      $NumOfTripleBonds, $NumOfAromaticBonds) = $Atom-> | 
|  | 718              GetNumOfBondTypesToNonHydrogenAtoms($CountAromaticBonds);</div> | 
|  | 719 <p>Get number of single, double, triple, and aromatic bonds from an <em>Atom</em> to all other | 
|  | 720 non-hydrogen atoms in a molecule.</p> | 
|  | 721 <p>Value of <em>CountAtomaticBonds</em> parameter controls whether number of aromatic | 
|  | 722 bonds is returned; default is not to count aromatic bonds. During  counting of | 
|  | 723 aromatic bonds, the bond marked aromatic is not included in the count | 
|  | 724 of other bond types.</p> | 
|  | 725 </dd> | 
|  | 726 <dt><strong><a name="getnumofdoublebondstoheavyatoms" class="item"><strong>GetNumOfDoubleBondsToHeavyAtoms</strong></a></strong></dt> | 
|  | 727 <dd> | 
|  | 728 <div class="OptionsBox"> | 
|  | 729     $NumOfDoubleBonds = $Atom->GetNumOfDoubleBondsToHeavyAtoms();</div> | 
|  | 730 <p>Returns number of double bonds from an <em>Atom</em> to other heavy atoms or non-hydrogen | 
|  | 731 atoms in a molecule.</p> | 
|  | 732 </dd> | 
|  | 733 <dt><strong><a name="getnumofdoublebondstononhydrogenatoms" class="item"><strong>GetNumOfDoubleBondsToNonHydrogenAtoms</strong></a></strong></dt> | 
|  | 734 <dd> | 
|  | 735 <div class="OptionsBox"> | 
|  | 736     $NumOfDoubleBonds =$Atom->GetNumOfDoubleBondsToNonHydrogenAtoms();</div> | 
|  | 737 <p>Returns number of double bonds from an <em>Atom</em> to other heavy atoms or non-hydrogen | 
|  | 738 atoms in a molecule.</p> | 
|  | 739 </dd> | 
|  | 740 <dt><strong><a name="getnumofheavyatomneighbors" class="item"><strong>GetNumOfHeavyAtomNeighbors</strong></a></strong></dt> | 
|  | 741 <dd> | 
|  | 742 <div class="OptionsBox"> | 
|  | 743     $NumOfNeighbors = $Atom->GetNumOfHeavyAtomNeighbors();</div> | 
|  | 744 <p>Returns number heavy atom neighbors for an <em>Atom</em> in a molecule.</p> | 
|  | 745 </dd> | 
|  | 746 <dt><strong><a name="getnumofhydrogenatomneighbors" class="item"><strong>GetNumOfHydrogenAtomNeighbors</strong></a></strong></dt> | 
|  | 747 <dd> | 
|  | 748 <div class="OptionsBox"> | 
|  | 749     $NumOfNeighbors = $Atom->GetNumOfHydrogenAtomNeighbors();</div> | 
|  | 750 <p>Returns number hydrogens atom neighbors for an <em>Atom</em> in a molecule.</p> | 
|  | 751 </dd> | 
|  | 752 <dt><strong><a name="getnumofmissinghydrogens" class="item"><strong>GetNumOfMissingHydrogens</strong></a></strong></dt> | 
|  | 753 <dd> | 
|  | 754 <div class="OptionsBox"> | 
|  | 755     $NumOfMissingHydrogens = $Atom->GetNumOfMissingHydrogens();</div> | 
|  | 756 <p>Returns number of implicit hydrogens for an <em>Atom</em> in a molecule. This value either | 
|  | 757 corresponds to explicitly set <em>ImplicitHydrogens</em> atom property or calculated as the | 
|  | 758 difference between the value of potential total valence and sum of bond orders to | 
|  | 759 both hydrogen and non-hydrogen atom neighbors.</p> | 
|  | 760 </dd> | 
|  | 761 <dt><strong><a name="getnumofexplicithydrogens" class="item"><strong>GetNumOfExplicitHydrogens</strong></a></strong></dt> | 
|  | 762 <dd> | 
|  | 763 <div class="OptionsBox"> | 
|  | 764     $NumOfExplicitHydrogens = $Atom->GetNumOfExplicitHydrogens();</div> | 
|  | 765 <p>Returns number hydrogens atom neighbors for an <em>Atom</em> in a molecule.</p> | 
|  | 766 </dd> | 
|  | 767 <dt><strong><a name="getnumofhydrogens" class="item"><strong>GetNumOfHydrogens</strong></a></strong></dt> | 
|  | 768 <dd> | 
|  | 769 <div class="OptionsBox"> | 
|  | 770     $NumOfHydrogens = $Atom->GetNumOfHydrogens();</div> | 
|  | 771 <p>Returns total number of hydrogens for an <em>Atom</em> in a molecule including both hydrogen atom | 
|  | 772 neighbors and implicit hydrogens.</p> | 
|  | 773 </dd> | 
|  | 774 <dt><strong><a name="getnumofimplicithydrogens" class="item"><strong>GetNumOfImplicitHydrogens</strong></a></strong></dt> | 
|  | 775 <dd> | 
|  | 776 <div class="OptionsBox"> | 
|  | 777     $NumOfImplicitHydrogens = $Atom->GetNumOfImplicitHydrogens();</div> | 
|  | 778 <p>Returns number of implicit hydrogens for an <em>Atom</em> in a molecule. This value either | 
|  | 779 corresponds to explicitly set <em>ImplicitHydrogens</em> atom property or calculated as the | 
|  | 780 difference between the value of potential total valence and sum of bond orders to | 
|  | 781 both hydrogen and non-hydrogen atom neighbors.</p> | 
|  | 782 </dd> | 
|  | 783 <dt><strong><a name="getnumofneighbors" class="item"><strong>GetNumOfNeighbors</strong></a></strong></dt> | 
|  | 784 <dd> | 
|  | 785 <div class="OptionsBox"> | 
|  | 786     $NumOfNeighbors = $Atom->GetNumOfNeighbors();</div> | 
|  | 787 <p>Returns number atom neighbors for an <em>Atom</em> in a molecule.</p> | 
|  | 788 </dd> | 
|  | 789 <dt><strong><a name="getnumofnonhydrogenatomneighbors" class="item"><strong>GetNumOfNonHydrogenAtomNeighbors</strong></a></strong></dt> | 
|  | 790 <dd> | 
|  | 791 <div class="OptionsBox"> | 
|  | 792     $NumNeighbors = $This->GetNumOfNonHydrogenAtomNeighbors();</div> | 
|  | 793 <p>Returns number non-hydrogens atom neighbors for an <em>Atom</em> in a molecule.</p> | 
|  | 794 </dd> | 
|  | 795 <dt><strong><a name="getnumofrings" class="item"><strong>GetNumOfRings</strong></a></strong></dt> | 
|  | 796 <dd> | 
|  | 797 <div class="OptionsBox"> | 
|  | 798     $NumOfRings = $Atom->GetNumOfRings();</div> | 
|  | 799 <p>Returns number of rings containing <em>Atom</em> in a molecule.</p> | 
|  | 800 </dd> | 
|  | 801 <dt><strong><a name="getnumofringswithevensize" class="item"><strong>GetNumOfRingsWithEvenSize</strong></a></strong></dt> | 
|  | 802 <dd> | 
|  | 803 <div class="OptionsBox"> | 
|  | 804     $NumOfRings = $Atom->GetNumOfRingsWithEvenSize();</div> | 
|  | 805 <p>Returns number of rings with even size containing <em>Atom</em> in a molecule.</p> | 
|  | 806 </dd> | 
|  | 807 <dt><strong><a name="getnumofringswithoddsize" class="item"><strong>GetNumOfRingsWithOddSize</strong></a></strong></dt> | 
|  | 808 <dd> | 
|  | 809 <div class="OptionsBox"> | 
|  | 810     $NumOfRings = $Atom->GetNumOfRingsWithOddSize();</div> | 
|  | 811 <p>Returns number of rings with odd size containing <em>Atom</em> in a molecule.</p> | 
|  | 812 </dd> | 
|  | 813 <dt><strong><a name="getnumofringswithsize" class="item"><strong>GetNumOfRingsWithSize</strong></a></strong></dt> | 
|  | 814 <dd> | 
|  | 815 <div class="OptionsBox"> | 
|  | 816     $NumOfRings = $Atom->GetNumOfRingsWithSize($RingSize);</div> | 
|  | 817 <p>Returns number of rings with specific <em>RingSize</em> containing <em>Atom</em> in a molecule.</p> | 
|  | 818 </dd> | 
|  | 819 <dt><strong><a name="getnumofringswithsizegreaterthan" class="item"><strong>GetNumOfRingsWithSizeGreaterThan</strong></a></strong></dt> | 
|  | 820 <dd> | 
|  | 821 <div class="OptionsBox"> | 
|  | 822     $NumOfRings = $Atom->GetNumOfRingsWithSizeGreaterThan($RingSize);</div> | 
|  | 823 <p>Returns number of rings with size greater than specific <em>RingSize</em> containing <em>Atom</em> | 
|  | 824 in a molecule.</p> | 
|  | 825 </dd> | 
|  | 826 <dt><strong><a name="getnumofringswithsizelessthan" class="item"><strong>GetNumOfRingsWithSizeLessThan</strong></a></strong></dt> | 
|  | 827 <dd> | 
|  | 828 <div class="OptionsBox"> | 
|  | 829     $NumOfRings = $Atom->GetNumOfRingsWithSizeLessThan($RingSize);</div> | 
|  | 830 <p>Returns number of rings with size less than specific <em>RingSize</em> containing <em>Atom</em> in a molecule.</p> | 
|  | 831 </dd> | 
|  | 832 <dt><strong><a name="getnumofsigmaandpibondstoheavyatoms" class="item"><strong>GetNumOfSigmaAndPiBondsToHeavyAtoms</strong></a></strong></dt> | 
|  | 833 <dd> | 
|  | 834 <div class="OptionsBox"> | 
|  | 835     ($NumOfSigmaBonds, $NumOfPiBonds) = $Atom-> | 
|  | 836                               GetNumOfSigmaAndPiBondsToHeavyAtoms();</div> | 
|  | 837 <p>Get number of sigma and pi bonds from an <em>Atom</em> to all other non-hydrogen | 
|  | 838 atoms in a molecule.</p> | 
|  | 839 <p>Sigma and pi bonds are counted using the following methodology: a single bond | 
|  | 840 correspond to one sigma bond; a double bond contributes one to sigma bond count | 
|  | 841 and one to pi bond count; a triple bond contributes one to sigma bond count and | 
|  | 842 two to pi bond count.</p> | 
|  | 843 </dd> | 
|  | 844 <dt><strong><a name="getnumofsigmaandpibondstononhydrogenatoms" class="item"><strong>GetNumOfSigmaAndPiBondsToNonHydrogenAtoms</strong></a></strong></dt> | 
|  | 845 <dd> | 
|  | 846 <div class="OptionsBox"> | 
|  | 847     ($NumOfSigmaBonds, $NumOfPiBonds) = $Atom-> | 
|  | 848                               GetNumOfSigmaAndPiBondsToNonHydrogenAtoms();</div> | 
|  | 849 <p>Get number of sigma and pi bonds from an <em>Atom</em> to all other non-hydrogen | 
|  | 850 atoms in a molecule.</p> | 
|  | 851 <p>Sigma and pi bonds are counted using the following methodology: a single bond | 
|  | 852 correspond to one sigma bond; a double bond contributes one to sigma bond count | 
|  | 853 and one to pi bond count; a triple bond contributes one to sigma bond count and | 
|  | 854 two to pi bond count.</p> | 
|  | 855 </dd> | 
|  | 856 <dt><strong><a name="getnumofsinglebondstononhydrogenatoms" class="item"><strong>GetNumOfSingleBondsToNonHydrogenAtoms</strong></a></strong></dt> | 
|  | 857 <dd> | 
|  | 858 <div class="OptionsBox"> | 
|  | 859     $NumOfSingleBonds =$Atom->GetNumOfSingleBondsToNonHydrogenAtoms();</div> | 
|  | 860 <p>Returns number of single bonds from an <em>Atom</em> to other heavy atoms or non-hydrogen | 
|  | 861 atoms in a molecule.</p> | 
|  | 862 </dd> | 
|  | 863 <dt><strong><a name="getnumofsinglebondstoheavyatoms" class="item"><strong>GetNumOfSingleBondsToHeavyAtoms</strong></a></strong></dt> | 
|  | 864 <dd> | 
|  | 865 <div class="OptionsBox"> | 
|  | 866     $NumOfSingleBonds = $Atom->GetNumOfSingleBondsToHeavyAtoms();</div> | 
|  | 867 <p>Returns number of single bonds from an <em>Atom</em> to other heavy atoms or non-hydrogen | 
|  | 868 atoms in a molecule.</p> | 
|  | 869 </dd> | 
|  | 870 <dt><strong><a name="getnumoftriplebondstononhydrogenatoms" class="item"><strong>GetNumOfTripleBondsToNonHydrogenAtoms</strong></a></strong></dt> | 
|  | 871 <dd> | 
|  | 872 <div class="OptionsBox"> | 
|  | 873     $NumOfTripleBonds =$Atom->GetNumOfTripleBondsToNonHydrogenAtoms();</div> | 
|  | 874 <p>Returns number of triple bonds from an <em>Atom</em> to other heavy atoms or non-hydrogen | 
|  | 875 atoms in a molecule.</p> | 
|  | 876 </dd> | 
|  | 877 <dt><strong><a name="getnumoftriplebondstoheavyatoms" class="item"><strong>GetNumOfTripleBondsToHeavyAtoms</strong></a></strong></dt> | 
|  | 878 <dd> | 
|  | 879 <div class="OptionsBox"> | 
|  | 880     $NumOfTripleBonds = $Atom->GetNumOfTripleBondsToHeavyAtoms();</div> | 
|  | 881 <p>Returns number of triple bonds from an <em>Atom</em> to other heavy atoms or non-hydrogen | 
|  | 882 atoms in a molecule.</p> | 
|  | 883 </dd> | 
|  | 884 <dt><strong><a name="getperiodnumber" class="item"><strong>GetPeriodNumber</strong></a></strong></dt> | 
|  | 885 <dd> | 
|  | 886 <div class="OptionsBox"> | 
|  | 887     $PeriodNumber = $Atom->GetPeriodNumber();</div> | 
|  | 888 <p>Returns periodic table period number for an <em>Atom</em> in a molecule with a valid atomic number .</p> | 
|  | 889 </dd> | 
|  | 890 <dt><strong><a name="getrings" class="item"><strong>GetRings</strong></a></strong></dt> | 
|  | 891 <dd> | 
|  | 892 <div class="OptionsBox"> | 
|  | 893     @Rings = $Aotm->GetRings();</div> | 
|  | 894 <p>Returns an array of references to arrays containing ring atoms corressponding to all rings containing | 
|  | 895 <em>Atom</em> in a molecule.</p> | 
|  | 896 </dd> | 
|  | 897 <dt><strong><a name="getringswithevensize" class="item"><strong>GetRingsWithEvenSize</strong></a></strong></dt> | 
|  | 898 <dd> | 
|  | 899 <div class="OptionsBox"> | 
|  | 900     @Rings = $Aotm->GetRingsWithEvenSize();</div> | 
|  | 901 <p>Returns an array of references to arrays containing ring atoms corressponding to all rings with even size | 
|  | 902 containing <em>Atom</em> in a molecule.</p> | 
|  | 903 </dd> | 
|  | 904 <dt><strong><a name="getringswithoddsize" class="item"><strong>GetRingsWithOddSize</strong></a></strong></dt> | 
|  | 905 <dd> | 
|  | 906 <div class="OptionsBox"> | 
|  | 907     @Rings = $Aotm->GetRingsWithOddSize();</div> | 
|  | 908 <p>Returns an array of references to arrays containing ring atoms corressponding to all rings with odd size | 
|  | 909 containing <em>Atom</em> in a molecule.</p> | 
|  | 910 </dd> | 
|  | 911 <dt><strong><a name="getringswithsize" class="item"><strong>GetRingsWithSize</strong></a></strong></dt> | 
|  | 912 <dd> | 
|  | 913 <div class="OptionsBox"> | 
|  | 914     @Rings = $Aotm->GetRingsWithSize($RingSize);</div> | 
|  | 915 <p>Returns an array of references to arrays containing ring atoms corressponding to all rings with specific | 
|  | 916 <em>RingSize </em>containing <em>Atom</em> in a molecule.</p> | 
|  | 917 </dd> | 
|  | 918 <dt><strong><a name="getringswithsizegreaterthan" class="item"><strong>GetRingsWithSizeGreaterThan</strong></a></strong></dt> | 
|  | 919 <dd> | 
|  | 920 <div class="OptionsBox"> | 
|  | 921     @Rings = $Aotm->GetRingsWithSizeGreaterThan($RingSize);</div> | 
|  | 922 <p>Returns an array of references to arrays containing ring atoms corressponding to all rings with size | 
|  | 923 greater than specific <em>RingSize </em>containing <em>Atom</em> in a molecule.</p> | 
|  | 924 </dd> | 
|  | 925 <dt><strong><a name="getringswithsizelessthan" class="item"><strong>GetRingsWithSizeLessThan</strong></a></strong></dt> | 
|  | 926 <dd> | 
|  | 927 <div class="OptionsBox"> | 
|  | 928     @Rings = $Aotm->GetRingsWithSizeLessThan($RingSize);</div> | 
|  | 929 <p>Returns an array of references to arrays containing ring atoms corressponding to all rings with size | 
|  | 930 less than specific <em>RingSize </em>containing <em>Atom</em> in a molecule.</p> | 
|  | 931 </dd> | 
|  | 932 <dt><strong><a name="getsizeoflargestring" class="item"><strong>GetSizeOfLargestRing</strong></a></strong></dt> | 
|  | 933 <dd> | 
|  | 934 <div class="OptionsBox"> | 
|  | 935     $Size = $Atom->GetSizeOfLargestRing();</div> | 
|  | 936 <p>Returns size of the largest ring containing <em>Atom</em> in a molecule.</p> | 
|  | 937 </dd> | 
|  | 938 <dt><strong><a name="getsizeofsmallestring" class="item"><strong>GetSizeOfSmallestRing</strong></a></strong></dt> | 
|  | 939 <dd> | 
|  | 940 <div class="OptionsBox"> | 
|  | 941     $Size = $Atom->GetSizeOfSmallestRing();</div> | 
|  | 942 <p>Returns size of the smallest ring containing <em>Atom</em> in a molecule.</p> | 
|  | 943 </dd> | 
|  | 944 <dt><strong><a name="getsmallestring" class="item"><strong>GetSmallestRing</strong></a></strong></dt> | 
|  | 945 <dd> | 
|  | 946 <div class="OptionsBox"> | 
|  | 947     @RingAtoms = $Atom->GetSmallestRing();</div> | 
|  | 948 <p>Returns an array of ring <em>Atom</em> objects corresponding to the largest ring containing <em>Atom</em> | 
|  | 949 in a molecule.</p> | 
|  | 950 </dd> | 
|  | 951 <dt><strong><a name="getspinmultiplicity" class="item"><strong>GetSpinMultiplicity</strong></a></strong></dt> | 
|  | 952 <dd> | 
|  | 953 <div class="OptionsBox"> | 
|  | 954     $SpinMultiplicity = $Atom->GetSpinMultiplicity();</div> | 
|  | 955 <p>Returns spin multiplicity of an <em>Atom</em> corresponding to one of these three | 
|  | 956 values: explicitly set <strong>SpinMultiplicity</strong> property value; calculated from | 
|  | 957 <strong>FreeRadicalElectrons</strong> property; value of 0.</p> | 
|  | 958 <p>The <strong>SpinMultiplicity</strong> is calculate from <em>FreeRadicalElectrons</em> property as | 
|  | 959 follows:</p> | 
|  | 960 <div class="OptionsBox"> | 
|  | 961     FreeRadicalElectrons: 1; SpinMultiplicity: 2 | 
|  | 962 <br/>    FreeRadicalElectrons: 2; SpinMultiplicity: 1 | 
|  | 963 <br/>    FreeRadicalElectrons: other; SpinMultiplicity: 0</div> | 
|  | 964 </dd> | 
|  | 965 <dt><strong><a name="getsumofbondorders" class="item"><strong>GetSumOfBondOrders</strong></a></strong></dt> | 
|  | 966 <dd> | 
|  | 967 <div class="OptionsBox"> | 
|  | 968     $SumBondOrders = $Atom->GetSumOfBondOrders();</div> | 
|  | 969 <p>Returns sum of bond orders corresponding to all atoms bonded to an <em>Atom</em> in a molecule.</p> | 
|  | 970 </dd> | 
|  | 971 <dt><strong><a name="getsumofbondorderstoheavyatoms" class="item"><strong>GetSumOfBondOrdersToHeavyAtoms</strong></a></strong></dt> | 
|  | 972 <dd> | 
|  | 973 <div class="OptionsBox"> | 
|  | 974     $SumBondOrders = $Atom->GetSumOfBondOrdersToHeavyAtoms();</div> | 
|  | 975 <p>Returns sum of bond orders corresponding to all heavy atoms bonded to an <em>Atom</em> in a molecule.</p> | 
|  | 976 </dd> | 
|  | 977 <dt><strong><a name="getsumofbondorderstohydrogenatoms" class="item"><strong>GetSumOfBondOrdersToHydrogenAtoms</strong></a></strong></dt> | 
|  | 978 <dd> | 
|  | 979 <div class="OptionsBox"> | 
|  | 980     $SumBondOrders = $Atom->GetSumOfBondOrdersToHydrogenAtoms();</div> | 
|  | 981 <p>Returns sum of bond orders corresponding to all hydrogen atoms bonded to an <em>Atom</em> in a molecule.</p> | 
|  | 982 </dd> | 
|  | 983 <dt><strong><a name="getsumofbondorderstononhydrogenatoms" class="item"><strong>GetSumOfBondOrdersToNonHydrogenAtoms</strong></a></strong></dt> | 
|  | 984 <dd> | 
|  | 985 <div class="OptionsBox"> | 
|  | 986     $SumBondOrders = $Atom->GetSumOfBondOrdersToNonHydrogenAtoms();</div> | 
|  | 987 <p>Returns sum of bond orders corresponding to all non-hydrogen atoms bonded to an <em>Atom</em> | 
|  | 988 in a molecule.</p> | 
|  | 989 </dd> | 
|  | 990 <dt><strong><a name="getvalence" class="item"><strong>GetValence</strong></a></strong></dt> | 
|  | 991 <dd> | 
|  | 992 <div class="OptionsBox"> | 
|  | 993     $Valence = $Atom->GetValence();</div> | 
|  | 994 <p>Returns valence of an <em>Atom</em> in a molecule. Valence corresponds to number of electrons used | 
|  | 995 by an atom in bonding:</p> | 
|  | 996 <div class="OptionsBox"> | 
|  | 997     Valence = ValenceElectrons - ValenceFreeElectrons = BondingElectrons</div> | 
|  | 998 <p>Single, double and triple bonds with bond orders of 1, 2, and 3 correspond to | 
|  | 999 contribution of 1, 2, and 3 bonding electrons. So:</p> | 
|  | 1000 <div class="OptionsBox"> | 
|  | 1001     Valence = SumOfBondOrders + NumOfMissingHydrogens + FormalCharge</div> | 
|  | 1002 <p>where positive and negative values of FormalCharge increase and decrease the number of bonding | 
|  | 1003 electrons, respectively.</p> | 
|  | 1004 <p>The current release of MayaChemTools supports the following three valence models, which | 
|  | 1005 are used during calculation of implicit hydrogens: MDLValenceModel, DaylightValenceModel, | 
|  | 1006 InternalValenceModel or MayaChemToolsValenceModel.</p> | 
|  | 1007 <p>Notes:</p> | 
|  | 1008 <div class="OptionsBox"> | 
|  | 1009     . Missing hydrogens are included in the valence. | 
|  | 1010 <br/>    . For neutral molecules, valence and sum of bond orders are equal. | 
|  | 1011 <br/>    . For molecules containing only single bonds, SumOfBondOrders and | 
|  | 1012       NumOfBonds are equal. | 
|  | 1013 <br/>    . Free radical electrons lead to the decrease in valence. For atoms with | 
|  | 1014       explicit assignment of SpinMultiplicity property values corresponding to | 
|  | 1015       Singlet (two unparied electrons corresponding to one spin state), Doublet | 
|  | 1016       (free radical; an unpaired electron corresponding to two spin states), | 
|  | 1017       and Triplet (two unparied electrons corresponding to three spin states; | 
|  | 1018       divalent carbon atoms (carbenes)), FreeRadicalElectrons are calculated as follows:</div> | 
|  | 1019 <div class="OptionsBox"> | 
|  | 1020           SpinMultiplicity: Doublet(2); FreeRadicalElectrons: 1 (one valence | 
|  | 1021 <br/>                  electron not available for bonding) | 
|  | 1022 <br/>          SpinMultiplicity: Singlet(1)/Triplet(3); FreeRadicalElectrons: 2 (two | 
|  | 1023 <br/>                  valence electrons not available for bonding)</div> | 
|  | 1024 </dd> | 
|  | 1025 <dt><strong><a name="getvalenceelectrons" class="item"><strong>GetValenceElectrons</strong></a></strong></dt> | 
|  | 1026 <dd> | 
|  | 1027 <div class="OptionsBox"> | 
|  | 1028     $ValenceElectrons = $Atom->GetValenceElectrons();</div> | 
|  | 1029 <p>Returns valence electrons for an <strong>Atom</strong> which corresponds to either explicity set <em>ValenceElectrons</em> | 
|  | 1030 atom property or valence electrons for the corresponding element in the periodic table available by | 
|  | 1031 <strong>PeriodicTable</strong> module.</p> | 
|  | 1032 </dd> | 
|  | 1033 <dt><strong><a name="getvalencefreeelectrons" class="item"><strong>GetValenceFreeElectrons</strong></a></strong></dt> | 
|  | 1034 <dd> | 
|  | 1035 <div class="OptionsBox"> | 
|  | 1036     $ValenceFreeElectrons = $Atom->GetValenceFreeElectrons(); | 
|  | 1037 <br/>    $ValenceFreeElectrons = $Atom->GetValenceFreeElectrons( | 
|  | 1038                             $ExcludeFreeRadicalElectrons);</div> | 
|  | 1039 <p>Returns valence frees electrons for an <strong>Atom</strong> in a molecule. It corresponds to:</p> | 
|  | 1040 <div class="OptionsBox"> | 
|  | 1041     ValenceElectrons - Valence | 
|  | 1042 <br/>    or | 
|  | 1043 <br/>    ValenceElectrons - NumOfMissingHydrogens - SumOfBondOrders - FormalCharge</div> | 
|  | 1044 <p>Free radical electrons are included in the valence free electrons count by default.</p> | 
|  | 1045 <p>Examples:</p> | 
|  | 1046 <div class="OptionsBox"> | 
|  | 1047     NH3: ValenceFreeElectrons = 5 - 3 = 5 - 3 - 0 - 0 = 2 | 
|  | 1048 <br/>    NH2: ValenceFreeElectrons = 5 - 3 = 5 - 2 - 1 - 0 = 2 | 
|  | 1049 <br/>    NH4+; ValenceFreeElectrons = 5 - 5 = 5 - 4 - 0 - 1 = 0 | 
|  | 1050 <br/>    NH3+; ValenceFreeElectrons = 5 - 5 = 5 - 3 - 1 - 1 = 0 | 
|  | 1051 <br/>    C(=O)O- : ValenceFreeElectrons on O- = 6 - 0 = 6 - 1 - 0 - (-1) = 6 | 
|  | 1052 <br/>    C(=O)O- : ValenceFreeElectrons on =O = 6 - 2 = 6 - 2 - 0 - 0 = 4</div> | 
|  | 1053 </dd> | 
|  | 1054 <dt><strong><a name="getx" class="item"><strong>GetX</strong></a></strong></dt> | 
|  | 1055 <dd> | 
|  | 1056 <div class="OptionsBox"> | 
|  | 1057     $X = $Atom->GetX();</div> | 
|  | 1058 <p>Returns value of X-coordinate for an <em>Atom</em>.</p> | 
|  | 1059 </dd> | 
|  | 1060 <dt><strong><a name="getxyz" class="item"><strong>GetXYZ</strong></a></strong></dt> | 
|  | 1061 <dd> | 
|  | 1062 <div class="OptionsBox"> | 
|  | 1063     @XYZ = $Atom->GetXYZ(); | 
|  | 1064 <br/>    $XYZRef = $Atom->GetXYZ();</div> | 
|  | 1065 <p>Returns an array or a reference to an array containing values for <em>Atom</em> coordinates.</p> | 
|  | 1066 </dd> | 
|  | 1067 <dt><strong><a name="getxyzvector" class="item"><strong>GetXYZVector</strong></a></strong></dt> | 
|  | 1068 <dd> | 
|  | 1069 <div class="OptionsBox"> | 
|  | 1070     $XYZVector = $Atom->GetXYZVector();</div> | 
|  | 1071 <p>Returns a <em>Vector</em> object containing values for <em>Atom</em> coordinates</p> | 
|  | 1072 </dd> | 
|  | 1073 <dt><strong><a name="gety" class="item"><strong>GetY</strong></a></strong></dt> | 
|  | 1074 <dd> | 
|  | 1075 <div class="OptionsBox"> | 
|  | 1076     $Y = $Atom->GetY();</div> | 
|  | 1077 <p>Returns value of Y-coordinate for an <em>Atom</em>.</p> | 
|  | 1078 </dd> | 
|  | 1079 <dt><strong><a name="getz" class="item"><strong>GetZ</strong></a></strong></dt> | 
|  | 1080 <dd> | 
|  | 1081 <div class="OptionsBox"> | 
|  | 1082     $Z = $Atom->GetZ();</div> | 
|  | 1083 <p>Returns value of Z-coordinate for an <em>Atom</em>.</p> | 
|  | 1084 </dd> | 
|  | 1085 <dt><strong><a name="isamidecarbon" class="item"><strong>IsAmideCarbon</strong></a></strong></dt> | 
|  | 1086 <dd> | 
|  | 1087 <div class="OptionsBox"> | 
|  | 1088     $Status = $Atom->IsAmideCarbon();</div> | 
|  | 1089 <p>Returns 1 or 0 based on whether it's amide carbon <em>Atom</em>.</p> | 
|  | 1090 <p>An amide group is defineds as:</p> | 
|  | 1091 <div class="OptionsBox"> | 
|  | 1092     R-C(=O)-N(-R')-R''</div> | 
|  | 1093 <p>where:</p> | 
|  | 1094 <div class="OptionsBox"> | 
|  | 1095     o R = Hydrogen or groups of atoms attached through carbon | 
|  | 1096 <br/>    o R' = Hydrogens or groups of atoms attached through carbon or | 
|  | 1097            hetro atoms | 
|  | 1098 <br/>    o R'' = Hydrogens or groups of atoms attached through carbon or | 
|  | 1099            hetro atoms</div> | 
|  | 1100 </dd> | 
|  | 1101 <dt><strong><a name="isamidenitrogen" class="item"><strong>IsAmideNitrogen</strong></a></strong></dt> | 
|  | 1102 <dd> | 
|  | 1103 <div class="OptionsBox"> | 
|  | 1104     $Status = $Atom->IsAmideNitrogen();</div> | 
|  | 1105 <p>Returns 1 or 0 based on whether it's amide nitrogen <em>Atom</em>.</p> | 
|  | 1106 </dd> | 
|  | 1107 <dt><strong><a name="isaromatic" class="item"><strong>IsAromatic</strong></a></strong></dt> | 
|  | 1108 <dd> | 
|  | 1109 <div class="OptionsBox"> | 
|  | 1110     $Status = $Atom->IsAromatic();</div> | 
|  | 1111 <p>Returns 1 or 0 based on whether it's an aromatic <em>Atom</em>.</p> | 
|  | 1112 </dd> | 
|  | 1113 <dt><strong><a name="isarsenic" class="item"><strong>IsArsenic</strong></a></strong></dt> | 
|  | 1114 <dd> | 
|  | 1115 <div class="OptionsBox"> | 
|  | 1116     $Status = $Atom->IsArsenic();</div> | 
|  | 1117 <p>Returns 1 or 0 based on whether it's an arsenic <em>Atom</em>.</p> | 
|  | 1118 </dd> | 
|  | 1119 <dt><strong><a name="isbondedtoatom" class="item"><strong>IsBondedToAtom</strong></a></strong></dt> | 
|  | 1120 <dd> | 
|  | 1121 <div class="OptionsBox"> | 
|  | 1122     $Status = $Atom->IsBondedToAtom($OtherAtom);</div> | 
|  | 1123 <p>Returns 1 or 0 based on whether <em>Atom</em> is bonded to <em>OtherAtom</em>.</p> | 
|  | 1124 </dd> | 
|  | 1125 <dt><strong><a name="isbromine" class="item"><strong>IsBromine</strong></a></strong></dt> | 
|  | 1126 <dd> | 
|  | 1127 <div class="OptionsBox"> | 
|  | 1128     $Status = $Atom->IsBromine();</div> | 
|  | 1129 <p>Returns 1 or 0 based on whether it's a bromine <em>Atom</em>.</p> | 
|  | 1130 </dd> | 
|  | 1131 <dt><strong><a name="iscarbon" class="item"><strong>IsCarbon</strong></a></strong></dt> | 
|  | 1132 <dd> | 
|  | 1133 <div class="OptionsBox"> | 
|  | 1134     $Status = $Atom->IsCarbon();</div> | 
|  | 1135 <p>Returns 1 or 0 based on whether it's a carbon <em>Atom</em>.</p> | 
|  | 1136 </dd> | 
|  | 1137 <dt><strong><a name="iscarboxylcarbon" class="item"><strong>IsCarboxylCarbon</strong></a></strong></dt> | 
|  | 1138 <dd> | 
|  | 1139 <div class="OptionsBox"> | 
|  | 1140     $Status = $Atom->IsCarboxylCarbon();</div> | 
|  | 1141 <p>Returns 1 or 0 based on whether it's a carboxyl carbon atom in carboxyl group: | 
|  | 1142 R-C(=O)-OH.</p> | 
|  | 1143 </dd> | 
|  | 1144 <dt><strong><a name="iscarboxyloxygen" class="item"><strong>IsCarboxylOxygen</strong></a></strong></dt> | 
|  | 1145 <dd> | 
|  | 1146 <div class="OptionsBox"> | 
|  | 1147     $Status = $Atom->IsCarboxylOxygen();</div> | 
|  | 1148 <p>Returns 1 or 0 based on whether it's a carboxyl oxygen atom in carboxyl group: | 
|  | 1149 R-C(=O)-OH.</p> | 
|  | 1150 </dd> | 
|  | 1151 <dt><strong><a name="iscarboxylatecarbon" class="item"><strong>IsCarboxylateCarbon</strong></a></strong></dt> | 
|  | 1152 <dd> | 
|  | 1153 <div class="OptionsBox"> | 
|  | 1154     $Status = $Atom->IsCarboxylateCarbon();</div> | 
|  | 1155 <p>Returns 1 or 0 based on whether it's a carboxylate carbon atom in carboxyl group: | 
|  | 1156 R-C(=O)-O-.</p> | 
|  | 1157 </dd> | 
|  | 1158 <dt><strong><a name="iscarboxylateoxygen" class="item"><strong>IsCarboxylateOxygen</strong></a></strong></dt> | 
|  | 1159 <dd> | 
|  | 1160 <div class="OptionsBox"> | 
|  | 1161     $Status = $Atom->IsCarboxylateOxygen();</div> | 
|  | 1162 <p>Returns 1 or 0 based on whether it's a carboxylate oxygen atom in carboxyl group: | 
|  | 1163 R-C(=O)-O-.</p> | 
|  | 1164 </dd> | 
|  | 1165 <dt><strong><a name="ischlorine" class="item"><strong>IsChlorine</strong></a></strong></dt> | 
|  | 1166 <dd> | 
|  | 1167 <div class="OptionsBox"> | 
|  | 1168     $Status = $Atom->IsChlorine();</div> | 
|  | 1169 <p>Returns 1 or 0 based on whether it's a chlorine <em>Atom</em>.</p> | 
|  | 1170 </dd> | 
|  | 1171 <dt><strong><a name="isfluorine" class="item"><strong>IsFluorine</strong></a></strong></dt> | 
|  | 1172 <dd> | 
|  | 1173 <div class="OptionsBox"> | 
|  | 1174     $Status = $Atom->IsFluorine();</div> | 
|  | 1175 <p>Returns 1 or 0 based on whether it's a fluorine <em>Atom</em>.</p> | 
|  | 1176 </dd> | 
|  | 1177 <dt><strong><a name="isfunctionalclasstype" class="item"><strong>IsFunctionalClassType</strong></a></strong></dt> | 
|  | 1178 <dd> | 
|  | 1179 <div class="OptionsBox"> | 
|  | 1180     $Status =$Atom->IsFunctionalClassType($Type);</div> | 
|  | 1181 <p>Returns 1 or 0 based on whether it's a specified functional class <em>Type</em>.</p> | 
|  | 1182 <p>The current release of MayaChemTools supports following abbreviations and descriptive | 
|  | 1183 names for <em>FunctionalClassType</em>:</p> | 
|  | 1184 <div class="OptionsBox"> | 
|  | 1185     HBD: HydrogenBondDonor | 
|  | 1186 <br/>    HBA: HydrogenBondAcceptor | 
|  | 1187 <br/>    PI :  PositivelyIonizable | 
|  | 1188 <br/>    NI : NegativelyIonizable | 
|  | 1189 <br/>    Ar : Aromatic | 
|  | 1190 <br/>    Hal : Halogen | 
|  | 1191 <br/>    H : Hydrophobic | 
|  | 1192 <br/>    RA : RingAtom | 
|  | 1193 <br/>    CA : ChainAtom</div> | 
|  | 1194 <p>The following definitions are used to determine functional class types: [ Ref 60-61, Ref 65-66 ]:</p> | 
|  | 1195 <div class="OptionsBox"> | 
|  | 1196     HydrogenBondDonor: NH, NH2, OH | 
|  | 1197 <br/>    HydrogenBondAcceptor: N[!H], O | 
|  | 1198 <br/>    PositivelyIonizable: +, NH2 | 
|  | 1199 <br/>    NegativelyIonizable: -, C(=O)OH, S(=O)OH, P(=O)OH</div> | 
|  | 1200 </dd> | 
|  | 1201 <dt><strong><a name="isguadiniumcarbon" class="item"><strong>IsGuadiniumCarbon</strong></a></strong></dt> | 
|  | 1202 <dd> | 
|  | 1203 <div class="OptionsBox"> | 
|  | 1204     $Status = $Atom->IsGuadiniumCarbon();</div> | 
|  | 1205 <p>Returns 1 or 0 based on whether it's a guadinium carbon in guadinium group by | 
|  | 1206 checking its neighbors for a nitrogen in guadinium group.</p> | 
|  | 1207 </dd> | 
|  | 1208 <dt><strong><a name="isguadiniumnitrogen" class="item"><strong>IsGuadiniumNitrogen</strong></a></strong></dt> | 
|  | 1209 <dd> | 
|  | 1210 <div class="OptionsBox"> | 
|  | 1211     $Status = $Atom->IsGuadiniumNitrogen();</div> | 
|  | 1212 <p>Returns 1 or 0 based on whether it's a guadinium nitrogen in guadinium group.</p> | 
|  | 1213 <p>A guadinium group is defined as:</p> | 
|  | 1214 <div class="OptionsBox"> | 
|  | 1215     R2N-C(=NR)-(NR2) or R2N-C(=NR2+)-(NR2)</div> | 
|  | 1216 <p>where:</p> | 
|  | 1217 <div class="OptionsBox"> | 
|  | 1218     o R = Hydrogens or group of atoms attached through carbon | 
|  | 1219 <br/>    o Only one of the three nitrogens has a double bond to carbon | 
|  | 1220       and has optional formal charge allowing it to be neutral or charged state</div> | 
|  | 1221 </dd> | 
|  | 1222 <dt><strong><a name="ishbondacceptor" class="item"><strong>IsHBondAcceptor</strong></a></strong></dt> | 
|  | 1223 <dd> | 
|  | 1224 <div class="OptionsBox"> | 
|  | 1225     $Status =$Atom->IsHBondAcceptor(); | 
|  | 1226 <br/>    $Status =$Atom->IsHBondAcceptor($HydrogenBondsType);</div> | 
|  | 1227 <p>Returns 1 or 0 based on whether it's a hydrogen bond acceptor <em>Atom</em>.</p> | 
|  | 1228 </dd> | 
|  | 1229 <dt><strong><a name="ishbonddonor" class="item"><strong>IsHBondDonor</strong></a></strong></dt> | 
|  | 1230 <dd> | 
|  | 1231 <div class="OptionsBox"> | 
|  | 1232     $Status =$Atom->IsHBondDonor(); | 
|  | 1233 <br/>    $Status =$Atom->IsHBondDonor($HydrogenBondsType);</div> | 
|  | 1234 <p>Returns 1 or 0 based on whether it's a hydrogen bond donor <em>Atom</em>.</p> | 
|  | 1235 </dd> | 
|  | 1236 <dt><strong><a name="ishydrogenbondacceptor" class="item"><strong>IsHydrogenBondAcceptor</strong></a></strong></dt> | 
|  | 1237 <dd> | 
|  | 1238 <div class="OptionsBox"> | 
|  | 1239     $Status =$Atom->IsHydrogenBondAcceptor(); | 
|  | 1240 <br/>    $Status =$Atom->IsHydrogenBondAcceptor($HydrogenBondsType);</div> | 
|  | 1241 <p>Returns 1 or 0 based on whether it's a hydrogen bond acceptor <em>Atom</em>.</p> | 
|  | 1242 </dd> | 
|  | 1243 <dt><strong><a name="ishydrogenbonddonor" class="item"><strong>IsHydrogenBondDonor</strong></a></strong></dt> | 
|  | 1244 <dd> | 
|  | 1245 <div class="OptionsBox"> | 
|  | 1246     $Status =$Atom->IsHydrogenBondDonor(); | 
|  | 1247 <br/>    $Status =$Atom->IsHydrogenBondDonor($HydrogenBondsType);</div> | 
|  | 1248 <p>Returns 1 or 0 based on whether it's a hydrogen bond donor <em>Atom</em>.</p> | 
|  | 1249 <p>The current release of MayaChemTools supports identification of two types of hydrogen bond | 
|  | 1250 donor and acceptor atoms with these names:</p> | 
|  | 1251 <div class="OptionsBox"> | 
|  | 1252     HBondsType1 or HydrogenBondsType1 | 
|  | 1253 <br/>    HBondsType2 or HydrogenBondsType2</div> | 
|  | 1254 <p>The names of these hydrogen bond types are rather arbitrary. However, their definitions have | 
|  | 1255 specific meaning and are as follows:</p> | 
|  | 1256 <div class="OptionsBox"> | 
|  | 1257     HydrogenBondsType1 [ Ref 60-61, Ref 65-66 ]:</div> | 
|  | 1258 <div class="OptionsBox"> | 
|  | 1259             Donor: NH, NH2, OH - Any N and O with available H | 
|  | 1260         Acceptor: N[!H], O - Any N without available H and any O</div> | 
|  | 1261 <div class="OptionsBox"> | 
|  | 1262     HydrogenBondsType2 [ Ref 91 ]:</div> | 
|  | 1263 <div class="OptionsBox"> | 
|  | 1264             Donor: NH, NH2, OH - N and O with available H | 
|  | 1265         Acceptor: N, O - And N and O</div> | 
|  | 1266 <p>By default, <em>HydrogenBondsType1</em> is used to calculate number hydrogen bond donor | 
|  | 1267 and acceptor atoms. <em>HydrogenBondsType2</em> corresponds to <strong>RuleOf5</strong> definition | 
|  | 1268 of hydrogen bond donors and acceptors.</p> | 
|  | 1269 </dd> | 
|  | 1270 <dt><strong><a name="ishalogen" class="item"><strong>IsHalogen</strong></a></strong></dt> | 
|  | 1271 <dd> | 
|  | 1272 <div class="OptionsBox"> | 
|  | 1273     $Status =$Atom->IsHalogen();</div> | 
|  | 1274 <p>Returns 1 or 0 based on whether it's a halogen <em>Atom</em>.</p> | 
|  | 1275 </dd> | 
|  | 1276 <dt><strong><a name="isheteroatom" class="item"><strong>IsHeteroAtom</strong></a></strong></dt> | 
|  | 1277 <dd> | 
|  | 1278 <div class="OptionsBox"> | 
|  | 1279     $Status = $Atom->IsHeteroAtom();</div> | 
|  | 1280 <p>Returns 0 or 1 based on whether it's a hetro <em>Atom</em>. Following atoms are considered hetro atoms: | 
|  | 1281 <strong>N, O, F, P, S, Cl, Br, I</strong>.</p> | 
|  | 1282 </dd> | 
|  | 1283 <dt><strong><a name="ishydrogen" class="item"><strong>IsHydrogen</strong></a></strong></dt> | 
|  | 1284 <dd> | 
|  | 1285 <div class="OptionsBox"> | 
|  | 1286     $Status = $Atom->IsHydrogen();</div> | 
|  | 1287 <p>Returns 1 or 0 based on whether it's a hydrogen <em>Atom</em>.</p> | 
|  | 1288 </dd> | 
|  | 1289 <dt><strong><a name="ishydrophobic" class="item"><strong>IsHydrophobic</strong></a></strong></dt> | 
|  | 1290 <dd> | 
|  | 1291 <div class="OptionsBox"> | 
|  | 1292     $Status =$Atom->IsHydrophobic();</div> | 
|  | 1293 <p>Returns 1 or 0 based on whether it's a hydrophobic <em>Atom</em>.</p> | 
|  | 1294 </dd> | 
|  | 1295 <dt><strong><a name="isinring" class="item"><strong>IsInRing</strong></a></strong></dt> | 
|  | 1296 <dd> | 
|  | 1297 <div class="OptionsBox"> | 
|  | 1298     $Status = $Atom->IsInRing();</div> | 
|  | 1299 <p>Returns 1 or 0 based on whether <em>Atom</em> is present in a ring.</p> | 
|  | 1300 </dd> | 
|  | 1301 <dt><strong><a name="isinringofsize" class="item"><strong>IsInRingOfSize</strong></a></strong></dt> | 
|  | 1302 <dd> | 
|  | 1303 <div class="OptionsBox"> | 
|  | 1304     $Status = $Atom->IsInRingOfSize($Size);</div> | 
|  | 1305 <p>Returns 1 or 0 based on whether <em>Atom</em> is present in a ring of specific <em>Size</em>.</p> | 
|  | 1306 </dd> | 
|  | 1307 <dt><strong><a name="isiodine" class="item"><strong>IsIodine</strong></a></strong></dt> | 
|  | 1308 <dd> | 
|  | 1309 <div class="OptionsBox"> | 
|  | 1310     $Status = $Atom->IsIodine();</div> | 
|  | 1311 <p>Returns 1 or 0 based on whether it's an iodine <em>Atom</em>.</p> | 
|  | 1312 </dd> | 
|  | 1313 <dt><strong><a name="isisotope" class="item"><strong>IsIsotope</strong></a></strong></dt> | 
|  | 1314 <dd> | 
|  | 1315 <div class="OptionsBox"> | 
|  | 1316     $Status =$Atom->IsIsotope();</div> | 
|  | 1317 <p>Returns 1 or 0 based on whether it's an isotope <em>Atom</em>.</p> | 
|  | 1318 </dd> | 
|  | 1319 <dt><strong><a name="islipophilic" class="item"><strong>IsLipophilic</strong></a></strong></dt> | 
|  | 1320 <dd> | 
|  | 1321 <div class="OptionsBox"> | 
|  | 1322     $Status =$Atom->IsLipophilic();</div> | 
|  | 1323 <p>Returns 1 or 0 based on whether it's a lipophilic <em>Atom</em>.</p> | 
|  | 1324 </dd> | 
|  | 1325 <dt><strong><a name="ismetallic" class="item"><strong>IsMetallic</strong></a></strong></dt> | 
|  | 1326 <dd> | 
|  | 1327 <div class="OptionsBox"> | 
|  | 1328     $Status = $Atom->IsMetallic();</div> | 
|  | 1329 <p>Returns 1 or 0 based on whether it's a metallic <em>Atom</em>.</p> | 
|  | 1330 </dd> | 
|  | 1331 <dt><strong><a name="isnegativelyionizable" class="item"><strong>IsNegativelyIonizable</strong></a></strong></dt> | 
|  | 1332 <dd> | 
|  | 1333 <div class="OptionsBox"> | 
|  | 1334     $Status =$Atom->IsNegativelyIonizable();</div> | 
|  | 1335 <p>Returns 1 or 0 based on whether it's a negatively ionizable atom <em>Atom</em>.</p> | 
|  | 1336 </dd> | 
|  | 1337 <dt><strong><a name="isnitrogen" class="item"><strong>IsNitrogen</strong></a></strong></dt> | 
|  | 1338 <dd> | 
|  | 1339 <div class="OptionsBox"> | 
|  | 1340     $Status = $Atom->IsNitrogen();</div> | 
|  | 1341 <p>Returns 1 or 0 based on whether it's a nitrogen <em>Atom</em>.</p> | 
|  | 1342 </dd> | 
|  | 1343 <dt><strong><a name="isnoncarbonorhydrogen" class="item"><strong>IsNonCarbonOrHydrogen</strong></a></strong></dt> | 
|  | 1344 <dd> | 
|  | 1345 <div class="OptionsBox"> | 
|  | 1346     $Status =$Atom->IsNonCarbonOrHydrogen();</div> | 
|  | 1347 <p>Returns 1 or 0 based on whether it's not a carbon or hydrogen <em>Atom</em>.</p> | 
|  | 1348 </dd> | 
|  | 1349 <dt><strong><a name="isnotinring" class="item"><strong>IsNotInRing</strong></a></strong></dt> | 
|  | 1350 <dd> | 
|  | 1351 <div class="OptionsBox"> | 
|  | 1352     $Status = $Atom->IsNotInRing();</div> | 
|  | 1353 <p>Returns 1 or 0 based on whether <em>Atom</em> is not present in a ring.</p> | 
|  | 1354 </dd> | 
|  | 1355 <dt><strong><a name="isonlyinonering" class="item"><strong>IsOnlyInOneRing</strong></a></strong></dt> | 
|  | 1356 <dd> | 
|  | 1357 <div class="OptionsBox"> | 
|  | 1358     $Status = $Atom->IsOnlyInOneRing();</div> | 
|  | 1359 <p>Returns 1 or 0 based on whether <em>Atom</em> is only present in one ring.</p> | 
|  | 1360 </dd> | 
|  | 1361 <dt><strong><a name="isoxygen" class="item"><strong>IsOxygen</strong></a></strong></dt> | 
|  | 1362 <dd> | 
|  | 1363 <div class="OptionsBox"> | 
|  | 1364     $Status = $Atom->IsOxygen();</div> | 
|  | 1365 <p>Returns 0 or 1 based on whether it's an oxygen <em>Atom</em>.</p> | 
|  | 1366 </dd> | 
|  | 1367 <dt><strong><a name="isphosphorus" class="item"><strong>IsPhosphorus</strong></a></strong></dt> | 
|  | 1368 <dd> | 
|  | 1369 <div class="OptionsBox"> | 
|  | 1370     $Status = $Atom->IsPhosphorus();</div> | 
|  | 1371 <p>Returns 0 or 1 based on whether it's a phosphorus <em>Atom</em>.</p> | 
|  | 1372 </dd> | 
|  | 1373 <dt><strong><a name="isphosphateoxygen" class="item"><strong>IsPhosphateOxygen</strong></a></strong></dt> | 
|  | 1374 <dd> | 
|  | 1375 <div class="OptionsBox"> | 
|  | 1376     $Status = $Atom->IsPhosphateOxygen();</div> | 
|  | 1377 <p>Returns 1 or 0 based on whether it's a phosphate oxygen in phosphate group.</p> | 
|  | 1378 <p>A phosphate group is defined as:</p> | 
|  | 1379 <div class="OptionsBox"> | 
|  | 1380     AO-(O=)P(-OA)-OA</div> | 
|  | 1381 <p>Where:</p> | 
|  | 1382 <div class="OptionsBox"> | 
|  | 1383    A - Any group of atoms including hydrogens</div> | 
|  | 1384 </dd> | 
|  | 1385 <dt><strong><a name="isphosphatephosphorus" class="item"><strong>IsPhosphatePhosphorus</strong></a></strong></dt> | 
|  | 1386 <dd> | 
|  | 1387 <div class="OptionsBox"> | 
|  | 1388     $Status = $Atom->IsPhosphatePhosphorus();</div> | 
|  | 1389 <p>Returns 1 or 0 based on whether it's a phosphate phosphorus in phosphate group.</p> | 
|  | 1390 </dd> | 
|  | 1391 <dt><strong><a name="ispolaratom" class="item"><strong>IsPolarAtom</strong></a></strong></dt> | 
|  | 1392 <dd> | 
|  | 1393 <div class="OptionsBox"> | 
|  | 1394     $Status = $Atom->IsPolarAtom();</div> | 
|  | 1395 <p>Returns 0 or 1 based on whether it's a polar <em>Atom</em>. Following atoms are considered polar atoms: | 
|  | 1396 <strong>N, O, P, S</strong>.</p> | 
|  | 1397 </dd> | 
|  | 1398 <dt><strong><a name="ispolarhydrogen" class="item"><strong>IsPolarHydrogen</strong></a></strong></dt> | 
|  | 1399 <dd> | 
|  | 1400 <div class="OptionsBox"> | 
|  | 1401     $Status = $Atom->IsPolarHydrogen();</div> | 
|  | 1402 <p>Returns 0 or 1 based on whether it's a hydrogen <em>Atom</em> bonded to a polar atom.</p> | 
|  | 1403 </dd> | 
|  | 1404 <dt><strong><a name="ispositivelyionizable" class="item"><strong>IsPositivelyIonizable</strong></a></strong></dt> | 
|  | 1405 <dd> | 
|  | 1406 <div class="OptionsBox"> | 
|  | 1407     $Status =$Atom->IsPositivelyIonizable();</div> | 
|  | 1408 <p>Returns 1 or 0 based on whether it's a positively ionizable <em>Atom</em>.</p> | 
|  | 1409 </dd> | 
|  | 1410 <dt><strong><a name="issaturated" class="item"><strong>IsSaturated</strong></a></strong></dt> | 
|  | 1411 <dd> | 
|  | 1412 <div class="OptionsBox"> | 
|  | 1413     $Status = $Atom->IsSaturated();</div> | 
|  | 1414 <p>Returns 1 or 0 based on whether it's a saturated <em>Atom</em>. An atom attached | 
|  | 1415 to other atoms with only single bonds is considered a saturated atom.</p> | 
|  | 1416 </dd> | 
|  | 1417 <dt><strong><a name="isselenium" class="item"><strong>IsSelenium</strong></a></strong></dt> | 
|  | 1418 <dd> | 
|  | 1419 <div class="OptionsBox"> | 
|  | 1420     $Status = $Atom->IsSelenium();</div> | 
|  | 1421 <p>Returns 0 or 1 based on whether it's a selenium <em>Atom</em>.</p> | 
|  | 1422 </dd> | 
|  | 1423 <dt><strong><a name="isstereocenter" class="item"><strong>IsStereoCenter</strong></a></strong></dt> | 
|  | 1424 <dd> | 
|  | 1425 <div class="OptionsBox"> | 
|  | 1426     $Status = $Atom->IsStereoCenter();</div> | 
|  | 1427 <p>Returns 0 or 1 based on whether it's marked as a stero center <em>Atom</em> by explicit setting | 
|  | 1428 of <em>StereoCenter</em> atom propert to value of <em>1</em>.</p> | 
|  | 1429 </dd> | 
|  | 1430 <dt><strong><a name="issilicon" class="item"><strong>IsSilicon</strong></a></strong></dt> | 
|  | 1431 <dd> | 
|  | 1432 <div class="OptionsBox"> | 
|  | 1433     $Status = $Atom->IsSilicon();</div> | 
|  | 1434 <p>Returns 0 or 1 based on whether it's a silicon <em>Atom</em>.</p> | 
|  | 1435 </dd> | 
|  | 1436 <dt><strong><a name="issulfur" class="item"><strong>IsSulfur</strong></a></strong></dt> | 
|  | 1437 <dd> | 
|  | 1438 <div class="OptionsBox"> | 
|  | 1439     $Status = $Atom->IsSulfur();</div> | 
|  | 1440 <p>Returns 0 or 1 based on whether it's a sulfur <em>Atom</em>.</p> | 
|  | 1441 </dd> | 
|  | 1442 <dt><strong><a name="issulphur" class="item"><strong>IsSulphur</strong></a></strong></dt> | 
|  | 1443 <dd> | 
|  | 1444 <div class="OptionsBox"> | 
|  | 1445     $Status = $Atom->IsSulphur();</div> | 
|  | 1446 <p>Returns 0 or 1 based on whether it's a sulfur <em>Atom</em>.</p> | 
|  | 1447 </dd> | 
|  | 1448 <dt><strong><a name="istellurium" class="item"><strong>IsTellurium</strong></a></strong></dt> | 
|  | 1449 <dd> | 
|  | 1450 <div class="OptionsBox"> | 
|  | 1451     $Status = $Atom->IsTellurium();</div> | 
|  | 1452 <p>Returns 0 or 1 based on whether it's a tellurium <em>Atom</em>.</p> | 
|  | 1453 </dd> | 
|  | 1454 <dt><strong><a name="isterminal" class="item"><strong>IsTerminal</strong></a></strong></dt> | 
|  | 1455 <dd> | 
|  | 1456 <div class="OptionsBox"> | 
|  | 1457     $Status = $Atom->IsTerminal();</div> | 
|  | 1458 <p>Returns 0 or 1 based on whether it's a terminal <em>Atom</em> attached to no | 
|  | 1459 more than one non-hydrogen atom.</p> | 
|  | 1460 </dd> | 
|  | 1461 <dt><strong><a name="isunsaturated" class="item"><strong>IsUnsaturated</strong></a></strong></dt> | 
|  | 1462 <dd> | 
|  | 1463 <div class="OptionsBox"> | 
|  | 1464     $Status = $Atom->IsUnsaturated();</div> | 
|  | 1465 <p>Returns 1 or 0 based on whether it's as unsaturated <em>Atom</em>. An atom attached | 
|  | 1466 to other atoms with at least one non-single bond is considered an unsaturated atom.</p> | 
|  | 1467 </dd> | 
|  | 1468 <dt><strong><a name="istopologicalpharmacophoretype" class="item"><strong>IsTopologicalPharmacophoreType</strong></a></strong></dt> | 
|  | 1469 <dd> | 
|  | 1470 <div class="OptionsBox"> | 
|  | 1471     $Status =$Atom->IsTopologicalPharmacophoreType();</div> | 
|  | 1472 <p>Returns 1 or 0 based on whether it's any of the supportyed topological pharmacophore | 
|  | 1473 <em>Atom</em> type. See <em>IsFunctionalClassType</em> for a list of supported types.</p> | 
|  | 1474 </dd> | 
|  | 1475 <dt><strong><a name="setatomsymbol" class="item"><strong>SetAtomSymbol</strong></a></strong></dt> | 
|  | 1476 <dd> | 
|  | 1477 <div class="OptionsBox"> | 
|  | 1478     $Atom->SetAtomSymbol($AtomicSymbol);</div> | 
|  | 1479 <p>Sets atom symbol for <em>Atom</em> and returns <em>Atom</em> object. The appropriate atomic number is also | 
|  | 1480 set automatically.</p> | 
|  | 1481 </dd> | 
|  | 1482 <dt><strong><a name="setatomicnumber" class="item"><strong>SetAtomicNumber</strong></a></strong></dt> | 
|  | 1483 <dd> | 
|  | 1484 <div class="OptionsBox"> | 
|  | 1485     $Atom->SetAtomicNumber($AtomicNumber);</div> | 
|  | 1486 <p>Sets atomic number for <em>Atom</em> and returns <em>Atom</em> object. The appropriate atom symbol is also | 
|  | 1487 set automatically.</p> | 
|  | 1488 </dd> | 
|  | 1489 <dt><strong><a name="setmassnumber" class="item"><strong>SetMassNumber</strong></a></strong></dt> | 
|  | 1490 <dd> | 
|  | 1491 <div class="OptionsBox"> | 
|  | 1492     $Atom->SetMassNumber($MassNumber);</div> | 
|  | 1493 <p>Sets mass number for <em>Atom</em> and returns <em>Atom</em> object.</p> | 
|  | 1494 </dd> | 
|  | 1495 <dt><strong><a name="setstereocenter" class="item"><strong>SetStereoCenter</strong></a></strong></dt> | 
|  | 1496 <dd> | 
|  | 1497 <div class="OptionsBox"> | 
|  | 1498     $Atom->SetStereoCenter($StereoCenter);</div> | 
|  | 1499 <p>Sets stereo center for <em>Atom</em> and returns <em>Atom</em> object.</p> | 
|  | 1500 </dd> | 
|  | 1501 <dt><strong><a name="setstereochemistry" class="item"><strong>SetStereochemistry</strong></a></strong></dt> | 
|  | 1502 <dd> | 
|  | 1503 <div class="OptionsBox"> | 
|  | 1504     $Atom->SetStereochemistry($Stereochemistry);</div> | 
|  | 1505 <p>Sets stereo chemistry for <em>Atom</em> and returns <em>Atom</em> object.</p> | 
|  | 1506 </dd> | 
|  | 1507 <dt><strong><a name="setx" class="item"><strong>SetX</strong></a></strong></dt> | 
|  | 1508 <dd> | 
|  | 1509 <div class="OptionsBox"> | 
|  | 1510     $Atom->SetX($Value);</div> | 
|  | 1511 <p>Sets X-coordinate value for <em>Atom</em> and returns <em>Atom</em> object.</p> | 
|  | 1512 </dd> | 
|  | 1513 <dt><strong><a name="setxyz" class="item"><strong>SetXYZ</strong></a></strong></dt> | 
|  | 1514 <dd> | 
|  | 1515 <div class="OptionsBox"> | 
|  | 1516     $Atom->SetXYZ(@XYZValues); | 
|  | 1517 <br/>    $Atom->SetXYZ($XYZValuesRef); | 
|  | 1518 <br/>    $Atom->SetXYZ($XYZVector);</div> | 
|  | 1519 <p>Sets <em>Atom</em> coordinates using an array, reference to an array or a <em>Vector</em> object and | 
|  | 1520 returns <em>Atom</em> object.</p> | 
|  | 1521 </dd> | 
|  | 1522 <dt><strong><a name="sety" class="item"><strong>SetY</strong></a></strong></dt> | 
|  | 1523 <dd> | 
|  | 1524 <div class="OptionsBox"> | 
|  | 1525     $Atom->SetY($Value);</div> | 
|  | 1526 <p>Sets Y-coordinate value for <em>Atom</em> and returns <em>Atom</em> object.</p> | 
|  | 1527 </dd> | 
|  | 1528 <dt><strong><a name="setz" class="item"><strong>SetZ</strong></a></strong></dt> | 
|  | 1529 <dd> | 
|  | 1530 <div class="OptionsBox"> | 
|  | 1531     $Atom->SetZ($Value);</div> | 
|  | 1532 <p>Sets Z-coordinate value for <em>Atom</em> and returns <em>Atom</em> object.</p> | 
|  | 1533 </dd> | 
|  | 1534 <dt><strong><a name="stringifyatom" class="item"><strong>StringifyAtom</strong></a></strong></dt> | 
|  | 1535 <dd> | 
|  | 1536 <div class="OptionsBox"> | 
|  | 1537     $AtomString = $Atom->StringifyAtom();</div> | 
|  | 1538 <p>Returns a string containing information about <em>Atom</em> object.</p> | 
|  | 1539 </dd> | 
|  | 1540 </dl> | 
|  | 1541 <p> | 
|  | 1542 </p> | 
|  | 1543 <h2>AUTHOR</h2> | 
|  | 1544 <p><a href="mailto:msud@san.rr.com">Manish Sud</a></p> | 
|  | 1545 <p> | 
|  | 1546 </p> | 
|  | 1547 <h2>SEE ALSO</h2> | 
|  | 1548 <p><a href="./Bond.html">Bond.pm</a>, <a href="./Molecule.html">Molecule.pm</a>, <a href="./MoleculeFileIO.html">MoleculeFileIO.pm</a> | 
|  | 1549 </p> | 
|  | 1550 <p> | 
|  | 1551 </p> | 
|  | 1552 <h2>COPYRIGHT</h2> | 
|  | 1553 <p>Copyright (C) 2015 Manish Sud. All rights reserved.</p> | 
|  | 1554 <p>This file is part of MayaChemTools.</p> | 
|  | 1555 <p>MayaChemTools is free software; you can redistribute it and/or modify it under | 
|  | 1556 the terms of the GNU Lesser General Public License as published by the Free | 
|  | 1557 Software Foundation; either version 3 of the License, or (at your option) | 
|  | 1558 any later version.</p> | 
|  | 1559 <p> </p><p> </p><div class="DocNav"> | 
|  | 1560 <table width="100%" border=0 cellpadding=0 cellspacing=2> | 
|  | 1561 <tr align="left" valign="top"><td width="33%" align="left"><a href="./AminoAcids.html" title="AminoAcids.html">Previous</a>  <a href="./index.html" title="Table of Contents">TOC</a>  <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> | 
|  | 1562 </table> | 
|  | 1563 </div> | 
|  | 1564 <br /> | 
|  | 1565 <center> | 
|  | 1566 <img src="../../images/h2o2.png"> | 
|  | 1567 </center> | 
|  | 1568 </body> | 
|  | 1569 </html> |