0
|
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>
|