0
|
1 <html>
|
|
2 <head>
|
|
3 <title>MayaChemTools:Documentation:Molecule.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="./MolecularFormula.html" title="MolecularFormula.html">Previous</a> <a href="./index.html" title="Table of Contents">TOC</a> <a href="./MoleculeFileIO.html" title="MoleculeFileIO.html">Next</a></td><td width="34%" align="middle"><strong>Molecule.pm</strong></td><td width="33%" align="right"><a href="././code/Molecule.html" title="View source code">Code</a> | <a href="./../pdf/Molecule.pdf" title="PDF US Letter Size">PDF</a> | <a href="./../pdfgreen/Molecule.pdf" title="PDF US Letter Size with narrow margins: www.changethemargins.com">PDFGreen</a> | <a href="./../pdfa4/Molecule.pdf" title="PDF A4 Size">PDFA4</a> | <a href="./../pdfa4green/Molecule.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>Molecule - Molecule class</p>
|
|
22 <p>
|
|
23 </p>
|
|
24 <h2>SYNOPSIS</h2>
|
|
25 <p>use Molecule;</p>
|
|
26 <p>use Molecule qw(:all);</p>
|
|
27 <p>
|
|
28 </p>
|
|
29 <h2>DESCRIPTION</h2>
|
|
30 <p><strong>Molecule</strong> class provides the following methods:</p>
|
|
31 <p> <a href="#new">new</a>, <a href="#addatom">AddAtom</a>, <a href="#addatoms">AddAtoms</a>, <a href="#addbond">AddBond</a>, <a href="#addbonds">AddBonds</a>, <a href="#addhydrogens">AddHydrogens</a>, <a href="#addpolarhydrogens">AddPolarHydrogens</a>
|
|
32 , <a href="#clearrings">ClearRings</a>, <a href="#copy">Copy</a>, <a href="#deletearomaticity">DeleteAromaticity</a>, <a href="#deleteatom">DeleteAtom</a>, <a href="#deleteatoms">DeleteAtoms</a>, <a href="#deletebond">DeleteBond</a>
|
|
33 , <a href="#deletebonds">DeleteBonds</a>, <a href="#deletehydrogens">DeleteHydrogens</a>, <a href="#deletepolarhydrogens">DeletePolarHydrogens</a>, <a href="#detectaromaticity">DetectAromaticity</a>
|
|
34 , <a href="#detectrings">DetectRings</a>, <a href="#formatelementalcompositioninformation">FormatElementalCompositionInformation</a>, <a href="#getallatompaths">GetAllAtomPaths</a>
|
|
35 , <a href="#getallatompathsstartingat">GetAllAtomPathsStartingAt</a>, <a href="#getallatompathsstartingatwithlength">GetAllAtomPathsStartingAtWithLength</a>
|
|
36 , <a href="#getallatompathsstartingatwithlengthupto">GetAllAtomPathsStartingAtWithLengthUpto</a>, <a href="#getallatompathswithlength">GetAllAtomPathsWithLength</a>
|
|
37 , <a href="#getallatompathswithlengthupto">GetAllAtomPathsWithLengthUpto</a>, <a href="#getaromaticrings">GetAromaticRings</a>, <a href="#getaromaticitymodel">GetAromaticityModel</a>
|
|
38 , <a href="#getatomneighborhoods">GetAtomNeighborhoods</a>, <a href="#getatomneighborhoodswithradiusupto">GetAtomNeighborhoodsWithRadiusUpto</a>
|
|
39 , <a href="#getatomneighborhoodswithsuccessoratoms">GetAtomNeighborhoodsWithSuccessorAtoms</a>
|
|
40 , <a href="#getatomneighborhoodswithsuccessoratomsandradiusupto">GetAtomNeighborhoodsWithSuccessorAtomsAndRadiusUpto</a>, <a href="#getatompathbonds">GetAtomPathBonds</a>
|
|
41 , <a href="#getatompaths">GetAtomPaths</a>, <a href="#getatompathsbetween">GetAtomPathsBetween</a>, <a href="#getatompathsstartingat">GetAtomPathsStartingAt</a>
|
|
42 , <a href="#getatompathsstartingatwithlength">GetAtomPathsStartingAtWithLength</a>, <a href="#getatompathsstartingatwithlengthupto">GetAtomPathsStartingAtWithLengthUpto</a>
|
|
43 , <a href="#getatompathswithlength">GetAtomPathsWithLength</a>, <a href="#getatompathswithlengthupto">GetAtomPathsWithLengthUpto</a>, <a href="#getatoms">GetAtoms</a>, <a href="#getbonds">GetBonds</a>, <a href="#getcharge">GetCharge</a>
|
|
44 , <a href="#getconnectedcomponents">GetConnectedComponents</a>, <a href="#getconnectedcomponentsatoms">GetConnectedComponentsAtoms</a>, <a href="#getdimensionality">GetDimensionality</a>
|
|
45 , <a href="#getelementalcomposition">GetElementalComposition</a>, <a href="#getelementsandnonelements">GetElementsAndNonElements</a>, <a href="#getexactmass">GetExactMass</a>, <a href="#getformalcharge">GetFormalCharge</a>
|
|
46 , <a href="#getfreeradicalelectrons">GetFreeRadicalElectrons</a>, <a href="#getfusedandnonfusedrings">GetFusedAndNonFusedRings</a>, <a href="#getlargestconnectedcomponent">GetLargestConnectedComponent</a>
|
|
47 , <a href="#getlargestconnectedcomponentatoms">GetLargestConnectedComponentAtoms</a>, <a href="#getlargestring">GetLargestRing</a>, <a href="#getmolecularformula">GetMolecularFormula</a>
|
|
48 , <a href="#getmolecularweight">GetMolecularWeight</a>, <a href="#getnumofaromaticrings">GetNumOfAromaticRings</a>, <a href="#getnumofatoms">GetNumOfAtoms</a>, <a href="#getnumofbonds">GetNumOfBonds</a>
|
|
49 , <a href="#getnumofconnectedcomponents">GetNumOfConnectedComponents</a>, <a href="#getnumofelementsandnonelements">GetNumOfElementsAndNonElements</a>, <a href="#getnumofheavyatoms">GetNumOfHeavyAtoms</a>
|
|
50 , <a href="#getnumofhydrogenatoms">GetNumOfHydrogenAtoms</a>, <a href="#getnumofmissinghydrogenatoms">GetNumOfMissingHydrogenAtoms</a>, <a href="#getnumofnonhydrogenatoms">GetNumOfNonHydrogenAtoms</a>
|
|
51 , <a href="#getnumofrings">GetNumOfRings</a>, <a href="#getnumofringswithevensize">GetNumOfRingsWithEvenSize</a>, <a href="#getnumofringswithoddsize">GetNumOfRingsWithOddSize</a>
|
|
52 , <a href="#getnumofringswithsize">GetNumOfRingsWithSize</a>, <a href="#getnumofringswithsizegreaterthan">GetNumOfRingsWithSizeGreaterThan</a>
|
|
53 , <a href="#getnumofringswithsizelessthan">GetNumOfRingsWithSizeLessThan</a>, <a href="#getringbonds">GetRingBonds</a>, <a href="#getringbondsfromrings">GetRingBondsFromRings</a>, <a href="#getrings">GetRings</a>
|
|
54 , <a href="#getringswithevensize">GetRingsWithEvenSize</a>, <a href="#getringswithoddsize">GetRingsWithOddSize</a>, <a href="#getringswithsize">GetRingsWithSize</a>
|
|
55 , <a href="#getringswithsizegreaterthan">GetRingsWithSizeGreaterThan</a>, <a href="#getringswithsizelessthan">GetRingsWithSizeLessThan</a>, <a href="#getsizeoflargestring">GetSizeOfLargestRing</a>
|
|
56 , <a href="#getsizeofsmallestring">GetSizeOfSmallestRing</a>, <a href="#getsmallestring">GetSmallestRing</a>, <a href="#getspinmultiplicity">GetSpinMultiplicity</a>
|
|
57 , <a href="#getsupportedaromaticitymodels">GetSupportedAromaticityModels</a>, <a href="#gettopologicallysortedatoms">GetTopologicallySortedAtoms</a>, <a href="#getvalencemodel">GetValenceModel</a>
|
|
58 , <a href="#hasaromaticatomsinrings">HasAromaticAtomsInRings</a>, <a href="#hasaromaticatomsnotinrings">HasAromaticAtomsNotInRings</a>, <a href="#hasaromaticrings">HasAromaticRings</a>, <a href="#hasatom">HasAtom</a>
|
|
59 , <a href="#hasbond">HasBond</a>, <a href="#hasfusedrings">HasFusedRings</a>, <a href="#hasnorings">HasNoRings</a>, <a href="#hasonlyonering">HasOnlyOneRing</a>, <a href="#hasrings">HasRings</a>, <a href="#isaromatic">IsAromatic</a>
|
|
60 , <a href="#ismolecule">IsMolecule</a>, <a href="#isringaromatic">IsRingAromatic</a>, <a href="#issupportedaromaticitymodel">IsSupportedAromaticityModel</a>, <a href="#isthreedimensional">IsThreeDimensional</a>
|
|
61 , <a href="#istwodimensional">IsTwoDimensional</a>, <a href="#keeplargestcomponent">KeepLargestComponent</a>, <a href="#kekulizearomaticatoms">KekulizeAromaticAtoms</a>, <a href="#newatom">NewAtom</a>, <a href="#newbond">NewBond</a>
|
|
62 , <a href="#setactiverings">SetActiveRings</a>, <a href="#setaromaticitymodel">SetAromaticityModel</a>, <a href="#setid">SetID</a>, <a href="#setvalencemodel">SetValenceModel</a>, <a href="#stringifymolecule">StringifyMolecule</a>
|
|
63 </p><p>The following methods can also be used as functions:</p>
|
|
64 <p>FormatElementalCompositionInformation, IsMolecule</p>
|
|
65 <p><strong>Molecule</strong> class is derived from <strong>ObjectProperty</strong> base class which provides methods not explicitly
|
|
66 defined in <strong>Molecule</strong> or <strong>ObjectProperty</strong> class using Perl's AUTOLOAD functionality. These methods
|
|
67 are generated on-the-fly for a specified object property:</p>
|
|
68 <div class="OptionsBox">
|
|
69 Set<PropertyName>(<PropertyValue>);
|
|
70 <br/> $PropertyValue = Get<PropertyName>();
|
|
71 <br/> Delete<PropertyName>();</div>
|
|
72 <p>
|
|
73 </p>
|
|
74 <h2>METHODS</h2>
|
|
75 <dl>
|
|
76 <dt><strong><a name="new" class="item"><strong>new</strong></a></strong></dt>
|
|
77 <dd>
|
|
78 <div class="OptionsBox">
|
|
79 $NewMolecule = new Molecule([%PropertyNameAndValues]);</div>
|
|
80 <p>Using specified <em>Atom</em> property names and values hash, <strong>new</strong> method creates a new object
|
|
81 and returns a reference to newly created <strong>Atom</strong> object. By default, the following properties are
|
|
82 initialized:</p>
|
|
83 <div class="OptionsBox">
|
|
84 ID = SequentialObjectID
|
|
85 <br/> Name = "Molecule <SequentialObjectID>"</div>
|
|
86 <p>Examples:</p>
|
|
87 <div class="OptionsBox">
|
|
88 $Molecule = new Molecule();</div>
|
|
89 <div class="OptionsBox">
|
|
90 $WaterMolecule = new Molecule('Name' => 'Water');</div>
|
|
91 <div class="OptionsBox">
|
|
92 $Oxygen = new Atom('AtomSymbol' => 'O', 'XYZ' => [0, 0, 0]);
|
|
93 <br/> $Hydrogen1 = new Atom('AtomSymbol' => 'H',
|
|
94 'XYZ' => [0.7144, 0.4125, 0]);
|
|
95 <br/> $Hydrogen2 = new Atom('AtomSymbol' => 'H',
|
|
96 'XYZ' => [1.1208, -0.2959, 0]);
|
|
97 <br/> $WaterMolecule->AddAtoms($Oxygen, $Hydrogen1, $Hydrogen2);</div>
|
|
98 <div class="OptionsBox">
|
|
99 $Bond1 = new Bond('Atoms' => [$Oxygen, $Hydrogen1],
|
|
100 'BondOrder' => 1);
|
|
101 <br/> $Bond2 = new Bond('Atoms' => [$Oxygen, $Hydrogen2],
|
|
102 'BondOrder' => 1);
|
|
103 <br/> $WaterMolecule->AddBonds($Bond1, $Bond2);</div>
|
|
104 </dd>
|
|
105 <dt><strong><a name="addatom" class="item"><strong>AddAtom</strong></a></strong></dt>
|
|
106 <dd>
|
|
107 <div class="OptionsBox">
|
|
108 $Molecule->AddAtom($Atom);</div>
|
|
109 <p>Adds an <em>Atom</em> to a <em>Molecule</em> and returns <em>Molecule</em>.</p>
|
|
110 </dd>
|
|
111 <dt><strong><a name="addatoms" class="item"><strong>AddAtoms</strong></a></strong></dt>
|
|
112 <dd>
|
|
113 <div class="OptionsBox">
|
|
114 $Molecule->AddAtoms(@Atoms);</div>
|
|
115 <p>Adds <em>Atoms</em> to a <em>Molecule</em> and returns <em>Molecule</em>.</p>
|
|
116 </dd>
|
|
117 <dt><strong><a name="addbond" class="item"><strong>AddBond</strong></a></strong></dt>
|
|
118 <dd>
|
|
119 <div class="OptionsBox">
|
|
120 $Molecule->AddBond($Bond);</div>
|
|
121 <p>Adds a <em>Bond</em> to a <em>Molecule</em> and returns <em>Molecule</em>.</p>
|
|
122 </dd>
|
|
123 <dt><strong><a name="addbonds" class="item"><strong>AddBonds</strong></a></strong></dt>
|
|
124 <dd>
|
|
125 <div class="OptionsBox">
|
|
126 $Molecule->AddBonds(@Bonds);</div>
|
|
127 <p>Adds <em>Bonds</em> to a <em>Molecule</em> and returns <em>Molecule</em>.</p>
|
|
128 </dd>
|
|
129 <dt><strong><a name="addhydrogens" class="item"><strong>AddHydrogens</strong></a></strong></dt>
|
|
130 <dd>
|
|
131 <div class="OptionsBox">
|
|
132 $NumOfHydrogensAdded = $Molecule->AddHydrogens();</div>
|
|
133 <p>Adds hydrogens to each atom in a <em>Molecule</em> and returns total number of hydrogens
|
|
134 added. The current release of MayaChemTools doesn't assign hydrogen positions.</p>
|
|
135 </dd>
|
|
136 <dt><strong><a name="addpolarhydrogens" class="item"><strong>AddPolarHydrogens</strong></a></strong></dt>
|
|
137 <dd>
|
|
138 <div class="OptionsBox">
|
|
139 $NumOfHydrogensAdded = $Molecule->AddPolarHydrogens();</div>
|
|
140 <p>Adds hydrogens to each polar atom - N, O, P or S - in a <em>Molecule</em> and returns total
|
|
141 number of polar hydrogens added. The current release of MayaChemTools doesn't
|
|
142 assign hydrogen positions.</p>
|
|
143 </dd>
|
|
144 <dt><strong><a name="clearrings" class="item"><strong>ClearRings</strong></a></strong></dt>
|
|
145 <dd>
|
|
146 <div class="OptionsBox">
|
|
147 $Molecule->ClearRings();</div>
|
|
148 <p>Deletes all rings associated with <em>Molecule</em> and returns <em>Molecule</em>.</p>
|
|
149 </dd>
|
|
150 <dt><strong><a name="copy" class="item"><strong>Copy</strong></a></strong></dt>
|
|
151 <dd>
|
|
152 <div class="OptionsBox">
|
|
153 $MoleculeCopy = $Molecule->Copy();</div>
|
|
154 <p>Copies <em>Molecule</em> and its associated data using <strong>Storable::dclone</strong> and returns a new
|
|
155 <strong>Molecule</strong> object.</p>
|
|
156 </dd>
|
|
157 <dt><strong><a name="deletearomaticity" class="item"><strong>DeleteAromaticity</strong></a></strong></dt>
|
|
158 <dd>
|
|
159 <div class="OptionsBox">
|
|
160 $Molecule->DeleteAromaticity();</div>
|
|
161 <p>Deletes aromatic property associated with all atoms and bonds in a <em>Molecule</em> and returns
|
|
162 <em>Molecule</em>.</p>
|
|
163 </dd>
|
|
164 <dt><strong><a name="deleteatom" class="item"><strong>DeleteAtom</strong></a></strong></dt>
|
|
165 <dd>
|
|
166 <div class="OptionsBox">
|
|
167 $Molecule->DeleteAtom($Atom);</div>
|
|
168 <p>Deletes <em>Atom</em> from a <em>Molecule</em> and returns <em>Molecule</em>.</p>
|
|
169 </dd>
|
|
170 <dt><strong><a name="deleteatoms" class="item"><strong>DeleteAtoms</strong></a></strong></dt>
|
|
171 <dd>
|
|
172 <div class="OptionsBox">
|
|
173 $Molecule->DeleteAtoms(@Atoms);</div>
|
|
174 <p>Deletes <em>Atoms</em> from a <em>Molecule</em> and returns <em>Molecule</em>.</p>
|
|
175 </dd>
|
|
176 <dt><strong><a name="deletebond" class="item"><strong>DeleteBond</strong></a></strong></dt>
|
|
177 <dd>
|
|
178 <div class="OptionsBox">
|
|
179 $Molecule->DeleteBond($Bond);</div>
|
|
180 <p>Deletes <em>Bond</em> from a <em>Molecule</em> and returns <em>Molecule</em>.</p>
|
|
181 </dd>
|
|
182 <dt><strong><a name="deletebonds" class="item"><strong>DeleteBonds</strong></a></strong></dt>
|
|
183 <dd>
|
|
184 <div class="OptionsBox">
|
|
185 $Molecule->DeleteBonds(@Bonds);</div>
|
|
186 <p>Deletes <em>Bonds</em> from a <em>Molecule</em> and returns <em>Molecule</em>.</p>
|
|
187 </dd>
|
|
188 <dt><strong><a name="deletehydrogens" class="item"><strong>DeleteHydrogens</strong></a></strong></dt>
|
|
189 <dd>
|
|
190 <div class="OptionsBox">
|
|
191 $NumOfHydrogensDeleted = $Molecule->DeleteHydrogens();</div>
|
|
192 <p>Removes hydrogens from each atom in a <em>Molecule</em> and returns total number of hydrogens
|
|
193 deleted.</p>
|
|
194 </dd>
|
|
195 <dt><strong><a name="deletepolarhydrogens" class="item"><strong>DeletePolarHydrogens</strong></a></strong></dt>
|
|
196 <dd>
|
|
197 <div class="OptionsBox">
|
|
198 $NumOfHydrogensDeleted = $Molecule->DeletePolarHydrogens();</div>
|
|
199 <p>Removes hydrogens to each polar atom - N, O, P or S - in a <em>Molecule</em> and returns total
|
|
200 number of polar hydrogens deleted.</p>
|
|
201 </dd>
|
|
202 <dt><strong><a name="detectaromaticity" class="item"><strong>DetectAromaticity</strong></a></strong></dt>
|
|
203 <dd>
|
|
204 <div class="OptionsBox">
|
|
205 $Molecule->DetectAromaticity();</div>
|
|
206 <p>Associates <em>Aromatic</em> property to atoms and bonds involved in aromatic rings or ring
|
|
207 systems in a <em>Molecule</em> and returns <em>Molecule</em>.</p>
|
|
208 <p>This method assumes the ring detection has already been perfomed using <strong>DetectRings</strong>.
|
|
209 And any existing <em>Aromatic</em> property associated with atoms and bonds is deleted before
|
|
210 performing aromaticity detection.</p>
|
|
211 <p>What is aromaticity? [ Ref 124 ] It's in the code of the implementer, did you
|
|
212 say? Agree. The implementation of aromaticity varies widely across different
|
|
213 packages [ Ref 125 ]; additionally, the implementation details are not always
|
|
214 completely available, and it's not possible to figure out the exact implementation
|
|
215 of aromaticity across various packages. Using the publicly available information,
|
|
216 however, one can try to reproduce the available results to the extent possible,
|
|
217 along with parameterizing all the control parameters used to implement different
|
|
218 aromaticity models, and that's exactly what the current release of MayaChemTools
|
|
219 does.</p>
|
|
220 <p>The implementation of aromaticity corresponding to various aromaticity models in
|
|
221 MayaChemTools package is driven by an external CSV file AromaticityModelsData.csv,
|
|
222 which is distributed with the package and is available in lib/data directory. The CSV
|
|
223 files contains names of supported aromaticity models, along with various control
|
|
224 parameters and their values. This file is loaded and processed during instantiation
|
|
225 of Molecule class and data corresponding to specific aromaticity model are used
|
|
226 to detect aromaticity for that model. Any new aromaticity model added to the
|
|
227 aromaticity data file, using different combinations of values for existing control
|
|
228 parameters, would work without any changes to the code; the addition of any new
|
|
229 control parameters, however, requires its implementation in the code used to
|
|
230 calculate number of pi electrons available towards delocalization in a ring or ring
|
|
231 systems.</p>
|
|
232 <p>The current release of MayaChemTools package supports these aromaticity
|
|
233 models: MDLAromaticityModel, TriposAromaticityModel, MMFFAromaticityModel,
|
|
234 ChemAxonBasicAromaticityModel, ChemAxonGeneralAromaticityModel,
|
|
235 DaylightAromaticityModel, MayaChemToolsAromaticityModel.</p>
|
|
236 <p>The current list of control parameters available to detect aromaticity corresponding
|
|
237 to different aromaticity models are: AllowHeteroRingAtoms, HeteroRingAtomsList,
|
|
238 AllowExocyclicDoubleBonds, AllowHomoNuclearExocyclicDoubleBonds,
|
|
239 AllowElectronegativeRingAtomExocyclicDoubleBonds, AllowRingAtomFormalCharge,
|
|
240 AllowHeteroRingAtomFormalCharge, MinimumRingSize. The values for these control
|
|
241 parameters are specified in AromaticityModelsData.csv file.</p>
|
|
242 <p>Although definition of aromaticity differs across various aromaticity models, a ring
|
|
243 or a ring system containing 4n + 2 pi electrons (Huckel's rule) corresponding to
|
|
244 alternate single and double bonds, in general, is considered aromatic.</p>
|
|
245 <p>The available valence free electrons on heterocyclic ring atoms, involved in two single
|
|
246 ring bonds, are also allowed to participate in pi electron delocalizaiton for most of
|
|
247 the supported aromaticity models.</p>
|
|
248 <p>The presence of exocyclic terminal double bond on ring atoms involved in pi electron
|
|
249 delocalization is only allowed for some of the aromaticity models. Additionally, the type
|
|
250 atoms involved in exocyclic terminal double bonds may result in making a ring or ring
|
|
251 system non-aromatic.</p>
|
|
252 <p>For molecules containing fused rings, each fused ring set is considered as one aromatic
|
|
253 system for counting pi electrons to satisfy Huckel's rule; In case of a failure, rings in
|
|
254 fused set are treated individually for aromaticity detection. Additionally, non-fused
|
|
255 rings are handled on their own during aromaticity detection.</p>
|
|
256 </dd>
|
|
257 <dt><strong><a name="detectrings" class="item"><strong>DetectRings</strong></a></strong></dt>
|
|
258 <dd>
|
|
259 <div class="OptionsBox">
|
|
260 $Molecule->DetectRings();</div>
|
|
261 <p>Detects rings in a <em>Molecule</em> and returns <em>Molecule</em>. Ring detection is performed using
|
|
262 <strong>DetectCycles</strong> method avaible in <strong>Graph</strong> class which in turn uses methods available
|
|
263 <strong>Graph::CyclesDetection</strong> class. <strong>Graph::CyclesDetection</strong> class implements collapsing path graph
|
|
264 [Ref 31] methodology to detect all cycles in a graph.</p>
|
|
265 </dd>
|
|
266 <dt><strong><a name="formatelementalcompositioninformation" class="item"><strong>FormatElementalCompositionInformation</strong></a></strong></dt>
|
|
267 <dd>
|
|
268 <div class="OptionsBox">
|
|
269 $FormattedInfo = $Molecule->FormatElementalCompositionInformation(
|
|
270 $ElementsRef, $ElementCompositionRef,
|
|
271 [$Precision]);
|
|
272 <br/> $FormattedInfo = Molecule::FormatElementalCompositionInformation(
|
|
273 $ElementsRef, $ElementCompositionRef,
|
|
274 [$Precision]);</div>
|
|
275 <p>Using <em>ElementsRef</em> and <em>ElementCompositionRef</em> arrays referneces containg informatio
|
|
276 about elements and their composition, formats elemental composition information and returns
|
|
277 a <em>FormattedInfo</em> string. Defaule <em>Precision</em> value: <em>2</em>.</p>
|
|
278 </dd>
|
|
279 <dt><strong><a name="getaromaticitymodel" class="item"><strong>GetAromaticityModel</strong></a></strong></dt>
|
|
280 <dd>
|
|
281 <div class="OptionsBox">
|
|
282 $AromaticityModel = $Molecule->GetAromaticityModel();</div>
|
|
283 <p>Returns name of <strong>AromaticityModel</strong> set for <em>Molecule</em> corresponding to <strong>AromaticityModel</strong>
|
|
284 property or default model name of <strong>MayaChemToolsAromaticityModel</strong>.</p>
|
|
285 </dd>
|
|
286 <dt><strong><a name="getallatompaths" class="item"><strong>GetAllAtomPaths</strong></a></strong></dt>
|
|
287 <dd>
|
|
288 <div class="OptionsBox">
|
|
289 $AtomPathsRef = $Molecule->GetAllAtomPaths([$AllowCycles]);</div>
|
|
290 <p>Returns all paths as a reference to an array containing reference to arrays with path
|
|
291 <strong>Atom</strong> objects.</p>
|
|
292 <p>Path atoms correspond to to all possible paths for each atom in molecule with all
|
|
293 possible lengths and sharing of bonds in paths traversed. By default, rings are
|
|
294 included in paths. A path containing a ring is terminated at an atom completing the ring.</p>
|
|
295 <p>For molecule without any rings, this method returns the same set of atom paths as
|
|
296 <strong>GetAtomPaths</strong> method.</p>
|
|
297 </dd>
|
|
298 <dt><strong><a name="getallatompathsstartingat" class="item"><strong>GetAllAtomPathsStartingAt</strong></a></strong></dt>
|
|
299 <dd>
|
|
300 <div class="OptionsBox">
|
|
301 $AtomPathsRef = $Molecule->GetAllAtomPathsStartingAt($StartAtom,
|
|
302 [$AllowCycles]);</div>
|
|
303 <p>Returns all atom paths starting from <em>StartAtom</em> as a reference to an array containing
|
|
304 reference to arrays with path <strong>Atom</strong> objects.</p>
|
|
305 <p>Path atoms atoms correspond to to all possible paths for specified atom in molecule with all
|
|
306 possible lengths and sharing of bonds in paths traversed. By default, rings are
|
|
307 included in paths. A path containing a ring is terminated at an atom completing the ring.</p>
|
|
308 <p>For molecule without any rings, this method returns the same set of atom paths as
|
|
309 <strong>GetAtomPathsStartingAt</strong> method.</p>
|
|
310 </dd>
|
|
311 <dt><strong><a name="getallatompathsstartingatwithlength" class="item"><strong>GetAllAtomPathsStartingAtWithLength</strong></a></strong></dt>
|
|
312 <dd>
|
|
313 <div class="OptionsBox">
|
|
314 $AtomPathsRef = $Molecule->GetAllAtomPathsStartingAtWithLength(
|
|
315 $StartAtom, $Length, [$AllowCycles]);</div>
|
|
316 <p>Returns all atom paths starting from <em>StartAtom</em> with specified <em>Length</em>as a reference
|
|
317 to an array containing reference to arrays with path <strong>Atom</strong> objects.</p>
|
|
318 <p>Path atoms atoms correspond to to all possible paths for specified atom in molecule with all
|
|
319 possible lengths and sharing of bonds in paths traversed. By default, rings are
|
|
320 included in paths. A path containing a ring is terminated at an atom completing the ring.</p>
|
|
321 <p>For molecule without any rings, this method returns the same set of atom paths as
|
|
322 <strong>GetAtomPathsStartingAtWithLength</strong> method.</p>
|
|
323 </dd>
|
|
324 <dt><strong><a name="getallatompathsstartingatwithlengthupto" class="item"><strong>GetAllAtomPathsStartingAtWithLengthUpto</strong></a></strong></dt>
|
|
325 <dd>
|
|
326 <div class="OptionsBox">
|
|
327 $AtomPathsRef = $Molecule->GetAllAtomPathsStartingAtWithLengthUpto(
|
|
328 $StartAtom, $Length, [$AllowCycles]);</div>
|
|
329 <p>Returns atom paths starting from <em>StartAtom</em> with length up to <em>Length</em> as a reference
|
|
330 to an array containing reference to arrays with path <strong>Atom</strong> objects.</p>
|
|
331 <p>Path atoms atoms correspond to all possible paths for specified atom in molecule with length
|
|
332 up to a specified length and sharing of bonds in paths traversed. By default, rings are
|
|
333 included in paths. A path containing a ring is terminated at an atom completing the ring.</p>
|
|
334 <p>For molecule without any rings, this method returns the same set of atom paths as
|
|
335 <em>GetAtomPathsStartingAtWithLengthUpto</em> method.</p>
|
|
336 </dd>
|
|
337 <dt><strong><a name="getallatompathswithlength" class="item"><strong>GetAllAtomPathsWithLength</strong></a></strong></dt>
|
|
338 <dd>
|
|
339 <div class="OptionsBox">
|
|
340 $AtomPathsRef = $Molecule->GetAllAtomPathsWithLength($Length,
|
|
341 [$AllowCycles]);</div>
|
|
342 <p>Returns all atom paths with specified <em>Length</em> as a reference to an array containing
|
|
343 reference to arrays with path <strong>Atom</strong> objects.</p>
|
|
344 <p>Path atoms correspond to to all possible paths for each atom in molecule with length
|
|
345 up to a specified length and sharing of bonds in paths traversed. By default, rings are
|
|
346 included in paths. A path containing a ring is terminated at an atom completing the ring.</p>
|
|
347 <p>For molecule without any rings, this method returns the same set of atom paths as
|
|
348 as <em>GetAtomPathsWithLength</em> method.</p>
|
|
349 </dd>
|
|
350 <dt><strong><a name="getallatompathswithlengthupto" class="item"><strong>GetAllAtomPathsWithLengthUpto</strong></a></strong></dt>
|
|
351 <dd>
|
|
352 <div class="OptionsBox">
|
|
353 $AtomPathsRef = $Molecule->GetAllAtomPathsWithLengthUpto($Length,
|
|
354 [$AllowCycles]);</div>
|
|
355 <p>Returns all atom paths with length up to <em>Length</em> as a reference to an array containing
|
|
356 reference to arrays with path <strong>Atom</strong> objects.</p>
|
|
357 <p>Path atoms correspond to to all possible paths for each atom in molecule with length
|
|
358 up to a specified length and sharing of bonds in paths traversed. By default, rings are
|
|
359 included in paths. A path containing a ring is terminated at an atom completing the ring.</p>
|
|
360 <p>For molecule without any rings, this method returns the same set of atom paths as
|
|
361 as <em>GetAtomPathsWithLengthUpto</em> method.</p>
|
|
362 </dd>
|
|
363 <dt><strong><a name="getaromaticrings" class="item"><strong>GetAromaticRings</strong></a></strong></dt>
|
|
364 <dd>
|
|
365 <div class="OptionsBox">
|
|
366 @AtomaticRings = $Molecule->GetAromaticRings();</div>
|
|
367 <p>Returns aromatic rings as an array containing references to arrays of ring <em>Atom</em> objects
|
|
368 in a <em>Molecule</em>.</p>
|
|
369 </dd>
|
|
370 <dt><strong><a name="getatomneighborhoods" class="item"><strong>GetAtomNeighborhoods</strong></a></strong></dt>
|
|
371 <dd>
|
|
372 <div class="OptionsBox">
|
|
373 @Neighborhoods = $Molecule->GetAtomNeighborhoods($StartAtom);</div>
|
|
374 <p>Returns atom neighborhoods around a <em>StartAtom</em> as an array containing references
|
|
375 to arrays with neighborhood <em>Atom</em> objects at possible radii.</p>
|
|
376 </dd>
|
|
377 <dt><strong><a name="getatomneighborhoodswithradiusupto" class="item"><strong>GetAtomNeighborhoodsWithRadiusUpto</strong></a></strong></dt>
|
|
378 <dd>
|
|
379 <div class="OptionsBox">
|
|
380 @Neighborhoods = $Molecule->GetAtomNeighborhoodsWithRadiusUpto($StartAtom,
|
|
381 $Radius);</div>
|
|
382 <p>Returns atom neighborhoods around a <em>StartAtom</em> as an array containing references
|
|
383 to arrays with neighborhood <em>Atom</em> objects up to <em>Radius</em>.</p>
|
|
384 </dd>
|
|
385 <dt><strong><a name="getatomneighborhoodswithsuccessoratoms" class="item"><strong>GetAtomNeighborhoodsWithSuccessorAtoms</strong></a></strong></dt>
|
|
386 <dd>
|
|
387 <div class="OptionsBox">
|
|
388 @Neighborhoods = $Molecule->GetAtomNeighborhoodsWithSuccessorAtoms(
|
|
389 $StartAtom);</div>
|
|
390 <p>Returns atom neighborhood around a specified <em>StartAtom</em>, along with their successor
|
|
391 connected atoms, collected at all radii as an array containing references to arrays with first
|
|
392 value corresponding to neighborhood atom at a specific radius and second value as reference
|
|
393 to an array containing its successor connected atoms.</p>
|
|
394 <p>For a neighborhood atom at each radius level, the successor connected atoms correspond to the
|
|
395 neighborhood atoms at the next radius level. Consequently, the neighborhood atoms at the last
|
|
396 radius level don't contain any successor atoms which fall outside the range of specified radius.</p>
|
|
397 </dd>
|
|
398 <dt><strong><a name="getatomneighborhoodswithsuccessoratomsandradiusupto" class="item"><strong>GetAtomNeighborhoodsWithSuccessorAtomsAndRadiusUpto</strong></a></strong></dt>
|
|
399 <dd>
|
|
400 <div class="OptionsBox">
|
|
401 @Neighborhoods = $Molecule->GetAtomNeighborhoodsWithSuccessorAtomsAndRadiusUpto(
|
|
402 $StartAtom, $Radius);</div>
|
|
403 <p>Returns atom neighborhood around a specified <em>StartAtom</em>, along with their successor
|
|
404 connected atoms, collected upto specified <em>Radiud</em> as an array containing references to arrays
|
|
405 with first value corresponding to neighborhood atom at a specific radius and second value as
|
|
406 reference to an array containing its successor connected atoms.</p>
|
|
407 <p>For a neighborhood atom at each radius level, the successor connected atoms correspond to the
|
|
408 neighborhood atoms at the next radius level. Consequently, the neighborhood atoms at the last
|
|
409 radius level don't contain any successor atoms which fall outside the range of specified radius.</p>
|
|
410 </dd>
|
|
411 <dt><strong><a name="getatompathbonds" class="item"><strong>GetAtomPathBonds</strong></a></strong></dt>
|
|
412 <dd>
|
|
413 <div class="OptionsBox">
|
|
414 $Return = $Molecule->GetAtomPathBonds(@PathAtoms);</div>
|
|
415 <p>Returns an array containing <strong>Bond</strong> objects corresponding to successive pair of
|
|
416 atoms in <em>PathAtoms</em></p>
|
|
417 </dd>
|
|
418 <dt><strong><a name="getatompaths" class="item"><strong>GetAtomPaths</strong></a></strong></dt>
|
|
419 <dd>
|
|
420 <div class="OptionsBox">
|
|
421 $AtomPathsRef = $Molecule->GetAtomPaths([$AllowCycles]);</div>
|
|
422 <p>Returns all paths as a reference to an array containing reference to arrays with path
|
|
423 <strong>Atom</strong> objects.</p>
|
|
424 <p>Path atoms correspond to to all possible paths for each atom in molecule with all
|
|
425 possible lengths and no sharing of bonds in paths traversed. By default, rings are
|
|
426 included in paths. A path containing a ring is terminated at an atom completing the ring.</p>
|
|
427 </dd>
|
|
428 <dt><strong><a name="getatompathsbetween" class="item"><strong>GetAtomPathsBetween</strong></a></strong></dt>
|
|
429 <dd>
|
|
430 <div class="OptionsBox">
|
|
431 $AtomPathsRef = $Molecule->GetAtomPathsBetween($StartAtom, $EndAtom);</div>
|
|
432 <p>Returns all paths as between <em>StartAtom</em> and <em>EndAtom</em> as a reference to an array
|
|
433 containing reference to arrays with path <strong>Atom</strong> objects.</p>
|
|
434 <p>For molecules with rings, atom paths array contains may contain two paths.</p>
|
|
435 </dd>
|
|
436 <dt><strong><a name="getatompathsstartingat" class="item"><strong>GetAtomPathsStartingAt</strong></a></strong></dt>
|
|
437 <dd>
|
|
438 <div class="OptionsBox">
|
|
439 $AtomPathsRef = $Molecule->GetAtomPathsStartingAt($StartAtom, [$AllowCycles]);</div>
|
|
440 <p>Returns paths starting at <em>StartAtom</em> as a reference to an array containing reference to
|
|
441 arrays with path <strong>Atom</strong> objects.</p>
|
|
442 <p>Path atoms correspond to all possible paths for specified atom in molecule with all
|
|
443 possible lengths and no sharing of bonds in paths traversed. By default, rings are
|
|
444 included in paths. A path containing a ring is terminated at an atom completing the ring.</p>
|
|
445 </dd>
|
|
446 <dt><strong><a name="getatompathsstartingatwithlength" class="item"><strong>GetAtomPathsStartingAtWithLength</strong></a></strong></dt>
|
|
447 <dd>
|
|
448 <div class="OptionsBox">
|
|
449 $AtomPathsRef = $Molecule->GetAtomPathsStartingAtWithLength($StartAtom,
|
|
450 $Length, [$AllowCycles]);</div>
|
|
451 <p>Returns paths starting at <em>StartAtom</em> with length <em>Length</em> as a reference to an array
|
|
452 containing reference to arrays with path <strong>Atom</strong> objects.</p>
|
|
453 <p>Path atoms correspond to all possible paths for specified atom in molecule with length
|
|
454 upto a specified length and no sharing of bonds in paths traversed. By default, rings are
|
|
455 included in paths. A path containing a ring is terminated at an atom completing the ring.</p>
|
|
456 </dd>
|
|
457 <dt><strong><a name="getatompathsstartingatwithlengthupto" class="item"><strong>GetAtomPathsStartingAtWithLengthUpto</strong></a></strong></dt>
|
|
458 <dd>
|
|
459 <div class="OptionsBox">
|
|
460 $AtomPathsRef = $Molecule->GetAtomPathsStartingAtWithLengthUpto($StartAtom,
|
|
461 $Length, [$AllowCycles]);</div>
|
|
462 <p>Returns paths starting at <em>StartAtom</em> with length up to <em>Length</em> as a reference to an array
|
|
463 containing reference to arrays with path <strong>Atom</strong> objects.</p>
|
|
464 <p>Path atoms correspond to all possible paths for specified atom in molecule with length
|
|
465 upto a specified length and no sharing of bonds in paths traversed. By default, rings are
|
|
466 included in paths. A path containing a ring is terminated at an atom completing the ring.</p>
|
|
467 </dd>
|
|
468 <dt><strong><a name="getatompathswithlength" class="item"><strong>GetAtomPathsWithLength</strong></a></strong></dt>
|
|
469 <dd>
|
|
470 <div class="OptionsBox">
|
|
471 $AtomPathsRef = $Molecule->GetAtomPathsWithLength($Length, [$AllowCycles]);</div>
|
|
472 <p>Returns all paths with specified <em>Length</em> as a reference to an array containing reference
|
|
473 to arrays with path <strong>Atom</strong> objects.</p>
|
|
474 <p>Path atoms correspond to all possible paths for each atom in molecule with length
|
|
475 upto a specified length and no sharing of bonds in paths traversed. By default, rings are
|
|
476 included in paths. A path containing a ring is terminated at an atom completing the ring.</p>
|
|
477 </dd>
|
|
478 <dt><strong><a name="getatompathswithlengthupto" class="item"><strong>GetAtomPathsWithLengthUpto</strong></a></strong></dt>
|
|
479 <dd>
|
|
480 <div class="OptionsBox">
|
|
481 $AtomPathsRef = $Molecule->GetAtomPathsWithLengthUpto($Length, [$AllowCycles]);</div>
|
|
482 <p>Returns all paths with length up to <em>Length</em> as a reference to an array containing reference
|
|
483 to arrays with path <strong>Atom</strong> objects.</p>
|
|
484 <p>Path atoms correspond to all possible paths for each atom in molecule with length
|
|
485 upto a specified length and no sharing of bonds in paths traversed. By default, rings are
|
|
486 included in paths. A path containing a ring is terminated at an atom completing the ring.</p>
|
|
487 </dd>
|
|
488 <dt><strong><a name="getatoms" class="item"><strong>GetAtoms</strong></a></strong></dt>
|
|
489 <dd>
|
|
490 <div class="OptionsBox">
|
|
491 @AllAtoms = $Molecule->GetAtoms();
|
|
492 <br/> @PolarAtoms = $Molecule->GetAtoms('IsPolarAtom');</div>
|
|
493 <div class="OptionsBox">
|
|
494 $NegateMethodResult = 1;
|
|
495 <br/> @NonHydrogenAtoms = $Molecule->GetAtoms('IsHydrogenAtom',
|
|
496 $NegateMethodResult);</div>
|
|
497 <div class="OptionsBox">
|
|
498 $AtomsCount = $Molecule->GetAtoms();</div>
|
|
499 <p>Returns an array of <em>Atoms</em> in a <em>Molecule</em>. In scalar context, it returns number of atoms.
|
|
500 Additionally, <strong>Atoms</strong> array can be filtered by any user specifiable valid <strong>Atom</strong> class method
|
|
501 and the result of the <strong>Atom</strong> class method used to filter the atoms can also be negated by
|
|
502 an optional negate results flag as third parameter.</p>
|
|
503 </dd>
|
|
504 <dt><strong><a name="getbonds" class="item"><strong>GetBonds</strong></a></strong></dt>
|
|
505 <dd>
|
|
506 <div class="OptionsBox">
|
|
507 @Bonds = $Molecule->GetBonds();
|
|
508 <br/> $BondsCount = $Molecule->GetBonds();</div>
|
|
509 <p>Returns an array of <em>Bonds</em> in a <em>Molecule</em>. In scalar context, it returns number of bonds.</p>
|
|
510 </dd>
|
|
511 <dt><strong><a name="getcharge" class="item"><strong>GetCharge</strong></a></strong></dt>
|
|
512 <dd>
|
|
513 <div class="OptionsBox">
|
|
514 $Charge = $Molecule->GetCharge();</div>
|
|
515 <p>Returns net charge on a <em>Molecule</em> using one of the following two methods: explicitly
|
|
516 set <strong>Charge</strong> property or sum of partial atomic charges on each atom.</p>
|
|
517 </dd>
|
|
518 <dt><strong><a name="getconnectedcomponents" class="item"><strong>GetConnectedComponents</strong></a></strong></dt>
|
|
519 <dd>
|
|
520 <div class="OptionsBox">
|
|
521 @ConnectedComponents = $Molecule->GetConnectedComponents();</div>
|
|
522 <p>Returns a reference to an array containing <em>Molecule</em> objects corresponding
|
|
523 to connected components sorted in decreasing order of component size in a <em>Molecule</em>.</p>
|
|
524 </dd>
|
|
525 <dt><strong><a name="getconnectedcomponentsatoms" class="item"><strong>GetConnectedComponentsAtoms</strong></a></strong></dt>
|
|
526 <dd>
|
|
527 <div class="OptionsBox">
|
|
528 @ConnectedComponentsAtoms =
|
|
529 $Molecule->GetConnectedComponentsAtoms();</div>
|
|
530 <p>Returns an array containing references to arrays with <em>Atom</em> objects corresponding to
|
|
531 atoms of connected components sorted in order of component decreasing size in a
|
|
532 <em>Molecule</em>.</p>
|
|
533 </dd>
|
|
534 <dt><strong><a name="getdimensionality" class="item"><strong>GetDimensionality</strong></a></strong></dt>
|
|
535 <dd>
|
|
536 <div class="OptionsBox">
|
|
537 $Dimensionality = $Molecule->GetDimensionality();</div>
|
|
538 <p>Returns <em>Dimensionality</em> of a <em>Molecule</em> corresponding to explicitly set
|
|
539 <em>Dimensionality</em> property value or by processing atomic.</p>
|
|
540 <p>The <em>Dimensionality</em> value from atomic coordinates is calculated as follows:</p>
|
|
541 <div class="OptionsBox">
|
|
542 3D - Three dimensional: One of X, Y or Z coordinate is non-zero
|
|
543 <br/> 2D - Two dimensional: One of X or Y coordinate is non-zero; All Z
|
|
544 coordinates are zero
|
|
545 <br/> 0D - Zero dimensional: All atomic coordinates are zero</div>
|
|
546 </dd>
|
|
547 <dt><strong><a name="getelementalcomposition" class="item"><strong>GetElementalComposition</strong></a></strong></dt>
|
|
548 <dd>
|
|
549 <div class="OptionsBox">
|
|
550 ($ElementsRef, $CompositionRef) =
|
|
551 $Molecule->GetElementalComposition([$IncludeMissingHydrogens]);</div>
|
|
552 <p>Calculates elemental composition and returns references to arrays containing elements
|
|
553 and their percent composition in a <em>Molecule</em>. By default, missing hydrogens are included
|
|
554 during the calculation.</p>
|
|
555 </dd>
|
|
556 <dt><strong><a name="getelementsandnonelements" class="item"><strong>GetElementsAndNonElements</strong></a></strong></dt>
|
|
557 <dd>
|
|
558 <div class="OptionsBox">
|
|
559 ($ElementsRef, $NonElementsRef) =
|
|
560 $Molecule->GetElementsAndNonElements([$IncludeMissingHydrogens]);</div>
|
|
561 <p>Counts elements and non-elements in a <em>Molecule</em> and returns references to hashes
|
|
562 containing element and non-element as hash keys with values corresponding to their
|
|
563 count. By default, missing hydrogens are not added to the element hash.</p>
|
|
564 </dd>
|
|
565 <dt><strong><a name="getexactmass" class="item"><strong>GetExactMass</strong></a></strong></dt>
|
|
566 <dd>
|
|
567 <div class="OptionsBox">
|
|
568 $ExactMass = $Molecule->GetExactMass();</div>
|
|
569 <p>Returns exact mass of a <em>Molecule</em> corresponding to sum of exact masses of all
|
|
570 the atoms.</p>
|
|
571 </dd>
|
|
572 <dt><strong><a name="getformalcharge" class="item"><strong>GetFormalCharge</strong></a></strong></dt>
|
|
573 <dd>
|
|
574 <div class="OptionsBox">
|
|
575 $FormalCharge = $Molecule->GetFormalCharge();</div>
|
|
576 <p>Returns net formal charge on a <em>Molecule</em> using one of the following two methods: explicitly
|
|
577 set <strong>FormalCharge</strong> property or sum of formal charges on each atom.</p>
|
|
578 <p><strong>FormalCharge</strong> is different from <strong>Charge</strong> property of the molecule which corresponds to
|
|
579 sum of partial atomic charges explicitly set for each atom using a specific methodology.</p>
|
|
580 </dd>
|
|
581 <dt><strong><a name="getfreeradicalelectrons" class="item"><strong>GetFreeRadicalElectrons</strong></a></strong></dt>
|
|
582 <dd>
|
|
583 <div class="OptionsBox">
|
|
584 $FreeRadicalElectrons = $Molecule->GetFreeRadicalElectrons();</div>
|
|
585 <p>Returns total number of free radical electrons available in a <em>Molecule</em> using one of the
|
|
586 following two methods: explicitly set <strong>FreeRadicalElectrons</strong> property or sum of available
|
|
587 free radical electrons on each atom.</p>
|
|
588 </dd>
|
|
589 <dt><strong><a name="getfusedandnonfusedrings" class="item"><strong>GetFusedAndNonFusedRings</strong></a></strong></dt>
|
|
590 <dd>
|
|
591 <div class="OptionsBox">
|
|
592 ($FusedRingSetRef, $NonFusedRingsRef) =
|
|
593 $Molecule->GetFusedAndNonFusedRings();</div>
|
|
594 <p>Returns references to array of fused ring sets and non-fused rings in a <em>Molecule</em>. Fused ring sets
|
|
595 array reference contains refernces to arrays of rings corresponding to ring <em>Atom</em> objects;
|
|
596 Non-fused rings array reference contains references to arrays of ring <em>Atom</em> objects.</p>
|
|
597 </dd>
|
|
598 <dt><strong><a name="getlargestconnectedcomponent" class="item"><strong>GetLargestConnectedComponent</strong></a></strong></dt>
|
|
599 <dd>
|
|
600 <div class="OptionsBox">
|
|
601 $ComponentMolecule = $Molecule->GetLargestConnectedComponent();</div>
|
|
602 <p>Returns a reference to <strong>Molecule</strong> object corresponding to a largest connected component
|
|
603 in a <em>Molecule</em>.</p>
|
|
604 </dd>
|
|
605 <dt><strong><a name="getlargestconnectedcomponentatoms" class="item"><strong>GetLargestConnectedComponentAtoms</strong></a></strong></dt>
|
|
606 <dd>
|
|
607 <div class="OptionsBox">
|
|
608 @ComponentAtoms = $Molecule->GetLargestConnectedComponentAtoms();</div>
|
|
609 <p>Returns a reference to an array of <strong>Atom</strong> objects corresponding to a largest connected
|
|
610 component in a <em>Molecule</em>.</p>
|
|
611 </dd>
|
|
612 <dt><strong><a name="getlargestring" class="item"><strong>GetLargestRing</strong></a></strong></dt>
|
|
613 <dd>
|
|
614 <div class="OptionsBox">
|
|
615 @RingAtoms = $Molecule->GetLargestRing();</div>
|
|
616 <p>Returns an array of <em>Atoms</em> objects corresponding to a largest ring in a <em>Molecule</em>.</p>
|
|
617 </dd>
|
|
618 <dt><strong><a name="getmolecularformula" class="item"><strong>GetMolecularFormula</strong></a></strong></dt>
|
|
619 <dd>
|
|
620 <div class="OptionsBox">
|
|
621 $FormulaString = $Molecule->GetMolecularFormula(
|
|
622 [$IncludeMissingHydrogens,
|
|
623 $IncludeNonElements]);</div>
|
|
624 <p>Returns molecular formula of a <em>Molecule</em> by collecting information about all atoms in
|
|
625 the molecule and composing the formula using Hills ordering system:</p>
|
|
626 <div class="OptionsBox">
|
|
627 o C shows up first and H follows assuming C is present.
|
|
628 <br/> o All other standard elements are sorted alphanumerically.
|
|
629 <br/> o All other non-stanard atom symbols are also sorted
|
|
630 alphanumerically and follow standard elements.</div>
|
|
631 <p>Notes:</p>
|
|
632 <div class="OptionsBox">
|
|
633 o By default, missing hydrogens and nonelements are also included.
|
|
634 <br/> o Elements for disconnected fragments are combined into the same
|
|
635 formula.
|
|
636 <br/> o Formal charge is also used during compoisiton of molecular formula.</div>
|
|
637 </dd>
|
|
638 <dt><strong><a name="getmolecularweight" class="item"><strong>GetMolecularWeight</strong></a></strong></dt>
|
|
639 <dd>
|
|
640 <div class="OptionsBox">
|
|
641 $MolWeight = $Molecule->GetMolecularWeight();</div>
|
|
642 <p>Returns molecular weight of a <em>Molecule</em> corresponding to sum of atomic weights of all
|
|
643 the atoms.</p>
|
|
644 </dd>
|
|
645 <dt><strong><a name="getnumofaromaticrings" class="item"><strong>GetNumOfAromaticRings</strong></a></strong></dt>
|
|
646 <dd>
|
|
647 <div class="OptionsBox">
|
|
648 $NumOfAromaticRings = $Molecule->GetNumOfAromaticRings();</div>
|
|
649 <p>Returns number of aromatic rings in a <em>Molecule</em>.</p>
|
|
650 </dd>
|
|
651 <dt><strong><a name="getnumofatoms" class="item"><strong>GetNumOfAtoms</strong></a></strong></dt>
|
|
652 <dd>
|
|
653 <div class="OptionsBox">
|
|
654 $NumOfAtoms = $Molecule->GetNumOfAtoms();</div>
|
|
655 <p>Returns number of atoms in a <em>Molecule</em>.</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 = $Molecule->GetNumOfBonds();</div>
|
|
661 <p>Returns number of bonds in a <em>Molecule</em>.</p>
|
|
662 </dd>
|
|
663 <dt><strong><a name="getnumofconnectedcomponents" class="item"><strong>GetNumOfConnectedComponents</strong></a></strong></dt>
|
|
664 <dd>
|
|
665 <div class="OptionsBox">
|
|
666 $NumOfComponents = $Molecule->GetNumOfConnectedComponents();</div>
|
|
667 <p>Returns number of connected components in a <em>Molecule</em>.</p>
|
|
668 </dd>
|
|
669 <dt><strong><a name="getnumofelementsandnonelements" class="item"><strong>GetNumOfElementsAndNonElements</strong></a></strong></dt>
|
|
670 <dd>
|
|
671 <div class="OptionsBox">
|
|
672 ($NumOfElements, $NumOfNonElements) = $Molecule->
|
|
673 GetNumOfElementsAndNonElements();
|
|
674 <br/> ($NumOfElements, $NumOfNonElements) = $Molecule->
|
|
675 GetNumOfElementsAndNonElements($IncludeMissingHydrogens);</div>
|
|
676 <p>Returns number of elements and non-elements in a <em>Molecule</em>. By default, missing
|
|
677 hydrogens are not added to element count.</p>
|
|
678 </dd>
|
|
679 <dt><strong><a name="getnumofheavyatoms" class="item"><strong>GetNumOfHeavyAtoms</strong></a></strong></dt>
|
|
680 <dd>
|
|
681 <div class="OptionsBox">
|
|
682 $NumOfHeavyAtoms = $Molecule->GetNumOfHeavyAtoms();</div>
|
|
683 <p>Returns number of heavy atoms, non-hydrogen atoms, in a <em>Molecule</em>.</p>
|
|
684 </dd>
|
|
685 <dt><strong><a name="getnumofhydrogenatoms" class="item"><strong>GetNumOfHydrogenAtoms</strong></a></strong></dt>
|
|
686 <dd>
|
|
687 <div class="OptionsBox">
|
|
688 $NumOfHydrogenAtoms = $Molecule->GetNumOfHydrogenAtoms();</div>
|
|
689 <p>Returns number of hydrogen atoms in a <em>Molecule</em>.</p>
|
|
690 </dd>
|
|
691 <dt><strong><a name="getnumofmissinghydrogenatoms" class="item"><strong>GetNumOfMissingHydrogenAtoms</strong></a></strong></dt>
|
|
692 <dd>
|
|
693 <div class="OptionsBox">
|
|
694 $NumOfMissingHydrogenAtoms = $Molecule->GetNumOfMissingHydrogenAtoms();</div>
|
|
695 <p>Returns number of hydrogen atoms in a <em>Molecule</em>.</p>
|
|
696 </dd>
|
|
697 <dt><strong><a name="getnumofnonhydrogenatoms" class="item"><strong>GetNumOfNonHydrogenAtoms</strong></a></strong></dt>
|
|
698 <dd>
|
|
699 <div class="OptionsBox">
|
|
700 $NumOfNonHydrogenAtoms = $Molecule->GetNumOfNonHydrogenAtoms();</div>
|
|
701 <p>Returns number of non-hydrogen atoms in a <em>Molecule</em>.</p>
|
|
702 </dd>
|
|
703 <dt><strong><a name="getnumofrings" class="item"><strong>GetNumOfRings</strong></a></strong></dt>
|
|
704 <dd>
|
|
705 <div class="OptionsBox">
|
|
706 $RingCount = $Molecule->GetNumOfRings();</div>
|
|
707 <p>Returns number of rings in a <em>Molecule</em>.</p>
|
|
708 </dd>
|
|
709 <dt><strong><a name="getnumofringswithevensize" class="item"><strong>GetNumOfRingsWithEvenSize</strong></a></strong></dt>
|
|
710 <dd>
|
|
711 <div class="OptionsBox">
|
|
712 $RingCount = $Molecule->GetNumOfRingsWithEvenSize();</div>
|
|
713 <p>Returns number of rings with even size in a <em>Molecule</em>.</p>
|
|
714 </dd>
|
|
715 <dt><strong><a name="getnumofringswithoddsize" class="item"><strong>GetNumOfRingsWithOddSize</strong></a></strong></dt>
|
|
716 <dd>
|
|
717 <div class="OptionsBox">
|
|
718 $RingCount = $Molecule->GetNumOfRingsWithOddSize();</div>
|
|
719 <p>Returns number of rings with odd size in a <em>Molecule</em>.</p>
|
|
720 </dd>
|
|
721 <dt><strong><a name="getnumofringswithsize" class="item"><strong>GetNumOfRingsWithSize</strong></a></strong></dt>
|
|
722 <dd>
|
|
723 <div class="OptionsBox">
|
|
724 $RingCount = $Molecule->GetNumOfRingsWithSize($Size);</div>
|
|
725 <p>Returns number of rings with <em>Size</em> in a <em>Molecule</em>.</p>
|
|
726 </dd>
|
|
727 <dt><strong><a name="getnumofringswithsizegreaterthan" class="item"><strong>GetNumOfRingsWithSizeGreaterThan</strong></a></strong></dt>
|
|
728 <dd>
|
|
729 <div class="OptionsBox">
|
|
730 $RingCount = $Molecule->GetNumOfRingsWithSizeGreaterThan($Size);</div>
|
|
731 <p>Returns number of rings with size greater than <em>Size</em> in a <em>Molecule</em>.</p>
|
|
732 </dd>
|
|
733 <dt><strong><a name="getnumofringswithsizelessthan" class="item"><strong>GetNumOfRingsWithSizeLessThan</strong></a></strong></dt>
|
|
734 <dd>
|
|
735 <div class="OptionsBox">
|
|
736 $RingCount = $Molecule->GetNumOfRingsWithSizeLessThan($Size);</div>
|
|
737 <p>Returns number of rings with size less than <em>Size</em> in a <em>Molecule</em>.</p>
|
|
738 </dd>
|
|
739 <dt><strong><a name="getringbonds" class="item"><strong>GetRingBonds</strong></a></strong></dt>
|
|
740 <dd>
|
|
741 <div class="OptionsBox">
|
|
742 @RingBonds = $Molecule->GetRingBonds(@RingAtoms);</div>
|
|
743 <p>Returns an array of ring <strong>Bond</strong> objects correponding to an array of ring <em>Atoms</em> in a
|
|
744 <em>Molecule</em>.</p>
|
|
745 </dd>
|
|
746 <dt><strong><a name="getringbondsfromrings" class="item"><strong>GetRingBondsFromRings</strong></a></strong></dt>
|
|
747 <dd>
|
|
748 <div class="OptionsBox">
|
|
749 @RingBondsSets = $Molecule->GetRingBondsFromRings(@RingAtomsSets);</div>
|
|
750 <p>Returns an array containing references to arrays of ring <strong>Bond</strong> objects for rings specified
|
|
751 in an array of references to ring <em>Atom</em> objects.</p>
|
|
752 </dd>
|
|
753 <dt><strong><a name="getrings" class="item"><strong>GetRings</strong></a></strong></dt>
|
|
754 <dd>
|
|
755 <div class="OptionsBox">
|
|
756 @Rings = $Molecule->GetRings();</div>
|
|
757 <p>Returns rings as an array containing references to arrays of ring <em>Atom</em> objects in a <em>Molecule</em>.</p>
|
|
758 </dd>
|
|
759 <dt><strong><a name="getringswithevensize" class="item"><strong>GetRingsWithEvenSize</strong></a></strong></dt>
|
|
760 <dd>
|
|
761 <div class="OptionsBox">
|
|
762 @Rings = $Molecule->GetRingsWithEvenSize();</div>
|
|
763 <p>Returns even size rings as an array containing references to arrays of ring <em>Atom</em> objects in
|
|
764 a <em>Molecule</em>.</p>
|
|
765 </dd>
|
|
766 <dt><strong><a name="getringswithoddsize" class="item"><strong>GetRingsWithOddSize</strong></a></strong></dt>
|
|
767 <dd>
|
|
768 <div class="OptionsBox">
|
|
769 @Rings = $Molecule->GetRingsWithOddSize();</div>
|
|
770 <p>Returns odd size rings as an array containing references to arrays of ring <em>Atom</em> objects in
|
|
771 a <em>Molecule</em>.</p>
|
|
772 </dd>
|
|
773 <dt><strong><a name="getringswithsize" class="item"><strong>GetRingsWithSize</strong></a></strong></dt>
|
|
774 <dd>
|
|
775 <div class="OptionsBox">
|
|
776 @Rings = $Molecule->GetRingsWithSize($Size);</div>
|
|
777 <p>Returns rings with <em>Size</em> as an array containing references to arrays of ring <em>Atom</em> objects in
|
|
778 a <em>Molecule</em>.</p>
|
|
779 </dd>
|
|
780 <dt><strong><a name="getringswithsizegreaterthan" class="item"><strong>GetRingsWithSizeGreaterThan</strong></a></strong></dt>
|
|
781 <dd>
|
|
782 <div class="OptionsBox">
|
|
783 @Rings = $Molecule->GetRingsWithSizeGreaterThan($Size);</div>
|
|
784 <p>Returns rings with size greater than <em>Size</em> as an array containing references to arrays of
|
|
785 ring <em>Atom</em> objects in a <em>Molecule</em>.</p>
|
|
786 </dd>
|
|
787 <dt><strong><a name="getringswithsizelessthan" class="item"><strong>GetRingsWithSizeLessThan</strong></a></strong></dt>
|
|
788 <dd>
|
|
789 <div class="OptionsBox">
|
|
790 @Rings = $Molecule->GetRingsWithSizeLessThan($Size);</div>
|
|
791 <p>Returns rings with size less than <em>Size</em> as an array containing references to arrays of
|
|
792 ring <em>Atom</em> objects in a <em>Molecule</em>.</p>
|
|
793 </dd>
|
|
794 <dt><strong><a name="getsizeoflargestring" class="item"><strong>GetSizeOfLargestRing</strong></a></strong></dt>
|
|
795 <dd>
|
|
796 <div class="OptionsBox">
|
|
797 $Size = $Molecule->GetSizeOfLargestRing();</div>
|
|
798 <p>Returns size of the largest ring in a <em>Molecule</em>.</p>
|
|
799 </dd>
|
|
800 <dt><strong><a name="getsizeofsmallestring" class="item"><strong>GetSizeOfSmallestRing</strong></a></strong></dt>
|
|
801 <dd>
|
|
802 <div class="OptionsBox">
|
|
803 $Size = $Molecule->GetSizeOfSmallestRing();</div>
|
|
804 <p>Returns size of the smalles ring in a <em>Molecule</em>.</p>
|
|
805 </dd>
|
|
806 <dt><strong><a name="getsmallestring" class="item"><strong>GetSmallestRing</strong></a></strong></dt>
|
|
807 <dd>
|
|
808 <div class="OptionsBox">
|
|
809 @RingAtoms = $Molecule->GetSmallestRing();</div>
|
|
810 <p>Returns an array containing <em>Atom</em> objects corresponding to the smallest ring in
|
|
811 a <em>Molecule</em>.</p>
|
|
812 </dd>
|
|
813 <dt><strong><a name="getspinmultiplicity" class="item"><strong>GetSpinMultiplicity</strong></a></strong></dt>
|
|
814 <dd>
|
|
815 <div class="OptionsBox">
|
|
816 $SpinMultiplicity = $Molecule->GetSpinMultiplicity();</div>
|
|
817 <p>Returns net spin multiplicity of a <em>Molecule</em> using one of the following two methods: explicitly
|
|
818 set <strong>SpinMultiplicity</strong> property or sum of spin multiplicity on each atom.</p>
|
|
819 </dd>
|
|
820 <dt><strong><a name="getsupportedaromaticitymodels" class="item"><strong>GetSupportedAromaticityModels</strong></a></strong></dt>
|
|
821 <dd>
|
|
822 <div class="OptionsBox">
|
|
823 @SupportedModels = $Molecule->GetSupportedAromaticityModels();</div>
|
|
824 <p>Returns an array containing a list of supported aromaticity models.</p>
|
|
825 </dd>
|
|
826 <dt><strong><a name="getvalencemodel" class="item"><strong>GetValenceModel</strong></a></strong></dt>
|
|
827 <dd>
|
|
828 <div class="OptionsBox">
|
|
829 $ValenceModel = $Molecule->GetValenceModel();</div>
|
|
830 <p>Returns valence model for <em>Molecule</em> using one of the following two methods: explicitly
|
|
831 set <strong>ValenceModel</strong> property or defaul value of <em>InternalValenceModel</em>.</p>
|
|
832 </dd>
|
|
833 <dt><strong><a name="gettopologicallysortedatoms" class="item"><strong>GetTopologicallySortedAtoms</strong></a></strong></dt>
|
|
834 <dd>
|
|
835 <div class="OptionsBox">
|
|
836 @SortedAtoms = $Molecule->GetTopologicallySortedAtoms([$StartAtom]);</div>
|
|
837 <p>Returns an array of topologically sorted <em>Atom</em> objects starting from <em>StartAtom</em> or
|
|
838 an arbitrary atom in a <em>Molecule</em>.</p>
|
|
839 </dd>
|
|
840 <dt><strong><a name="hasaromaticrings" class="item"><strong>HasAromaticRings</strong></a></strong></dt>
|
|
841 <dd>
|
|
842 <div class="OptionsBox">
|
|
843 $Status = $Molecule->HasAromaticRings();</div>
|
|
844 <p>Returns 1 or 0 based on whether any aromatic ring is present in a <em>Molecule</em>.</p>
|
|
845 </dd>
|
|
846 <dt><strong><a name="hasaromaticatomsinrings" class="item"><strong>HasAromaticAtomsInRings</strong></a></strong></dt>
|
|
847 <dd>
|
|
848 <div class="OptionsBox">
|
|
849 $Status = $Molecule->HasAromaticAtomsInRings();</div>
|
|
850 <p>Returns 1 or 0 based on whether any aromatic ring atom is present in a <em>Molecule</em>.</p>
|
|
851 </dd>
|
|
852 <dt><strong><a name="hasaromaticatomsnotinrings" class="item"><strong>HasAromaticAtomsNotInRings</strong></a></strong></dt>
|
|
853 <dd>
|
|
854 <div class="OptionsBox">
|
|
855 $Status = $Molecule->HasAromaticAtomsNotInRings();</div>
|
|
856 <p>Returns 1 or 0 based on whether any non-ring atom is marked aromatic in a <em>Molecule</em>.</p>
|
|
857 </dd>
|
|
858 <dt><strong><a name="hasatom" class="item"><strong>HasAtom</strong></a></strong></dt>
|
|
859 <dd>
|
|
860 <div class="OptionsBox">
|
|
861 $Status = $Molecule->HasAtom($Atom);</div>
|
|
862 <p>Returns 1 or 0 based on whether <em>Atom</em> is present in a <em>Molecule</em>.</p>
|
|
863 </dd>
|
|
864 <dt><strong><a name="hasbond" class="item"><strong>HasBond</strong></a></strong></dt>
|
|
865 <dd>
|
|
866 <div class="OptionsBox">
|
|
867 $Status = $Molecule->HasBond($Bond);</div>
|
|
868 <p>Returns 1 or 0 based on whether <em>Bond</em> is present in a <em>Molecule</em>.</p>
|
|
869 </dd>
|
|
870 <dt><strong><a name="hasfusedrings" class="item"><strong>HasFusedRings</strong></a></strong></dt>
|
|
871 <dd>
|
|
872 <div class="OptionsBox">
|
|
873 $Status = $Molecule->HasFusedRings();</div>
|
|
874 <p>Returns 1 or 0 based on whether any fused rings set is present in a <em>Molecule</em>.</p>
|
|
875 </dd>
|
|
876 <dt><strong><a name="hasnorings" class="item"><strong>HasNoRings</strong></a></strong></dt>
|
|
877 <dd>
|
|
878 <div class="OptionsBox">
|
|
879 $Status = $Molecule->HasNoRings();</div>
|
|
880 <p>Returns 0 or 1 based on whether any ring is present in a <em>Molecule</em>.</p>
|
|
881 </dd>
|
|
882 <dt><strong><a name="hasonlyonering" class="item"><strong>HasOnlyOneRing</strong></a></strong></dt>
|
|
883 <dd>
|
|
884 <div class="OptionsBox">
|
|
885 $Status = $Molecule->HasOnlyOneRing();</div>
|
|
886 <p>Returns 1 or 0 based on whether only one ring is present in a <em>Molecule</em>.</p>
|
|
887 </dd>
|
|
888 <dt><strong><a name="hasrings" class="item"><strong>HasRings</strong></a></strong></dt>
|
|
889 <dd>
|
|
890 <div class="OptionsBox">
|
|
891 $Status = $Molecule->HasRings();</div>
|
|
892 <p>Returns 1 or 0 based on whether rings are present in a <em>Molecule</em>.</p>
|
|
893 </dd>
|
|
894 <dt><strong><a name="isaromatic" class="item"><strong>IsAromatic</strong></a></strong></dt>
|
|
895 <dd>
|
|
896 <div class="OptionsBox">
|
|
897 $Status = $Molecule->IsAromatic();</div>
|
|
898 <p>Returns 1 or 0 based on whether <em>Molecule</em> is aromatic.</p>
|
|
899 </dd>
|
|
900 <dt><strong><a name="ismolecule" class="item"><strong>IsMolecule</strong></a></strong></dt>
|
|
901 <dd>
|
|
902 <div class="OptionsBox">
|
|
903 $Status = Molecule::IsMolecule();</div>
|
|
904 <p>Returns 1 or 0 based on whether <em>Object</em> is a <strong>Molecule</strong> object.</p>
|
|
905 </dd>
|
|
906 <dt><strong><a name="isringaromatic" class="item"><strong>IsRingAromatic</strong></a></strong></dt>
|
|
907 <dd>
|
|
908 <div class="OptionsBox">
|
|
909 $Status = $Molecule->IsRingAromatic(@RingAtoms);</div>
|
|
910 <p>Returns 1 or 0 based on whether all <em>RingAtoms</em> are aromatic.</p>
|
|
911 </dd>
|
|
912 <dt><strong><a name="issupportedaromaticitymodel" class="item"><strong>IsSupportedAromaticityModel</strong></a></strong></dt>
|
|
913 <dd>
|
|
914 <div class="OptionsBox">
|
|
915 $Status = $Molecule->IsSupportedAromaticityModel($AromaticityModel);
|
|
916 <br/> $Status = Molecule::IsSupportedAromaticityModel($AromaticityModel);</div>
|
|
917 <p>Returns 1 or 0 based on whether specified <em>AromaticityModel</em> is supported.</p>
|
|
918 </dd>
|
|
919 <dt><strong><a name="istwodimensional" class="item"><strong>IsTwoDimensional</strong></a></strong></dt>
|
|
920 <dd>
|
|
921 <div class="OptionsBox">
|
|
922 $Status = $Molecule->IsTwoDimensional();</div>
|
|
923 <p>Returns 1 or 0 based on whether any atom in <em>Molecule</em> has a non-zero value
|
|
924 for X or Y coordinate and all atoms have zero value for Z coordinates.</p>
|
|
925 </dd>
|
|
926 <dt><strong><a name="isthreedimensional" class="item"><strong>IsThreeDimensional</strong></a></strong></dt>
|
|
927 <dd>
|
|
928 <div class="OptionsBox">
|
|
929 $Status = $Molecule->IsThreeDimensional();</div>
|
|
930 <p>Returns 1 or 0 based on whether any atom in <em>Molecule</em> has a non-zero value
|
|
931 for Z coordinate.</p>
|
|
932 </dd>
|
|
933 <dt><strong><a name="keeplargestcomponent" class="item"><strong>KeepLargestComponent</strong></a></strong></dt>
|
|
934 <dd>
|
|
935 <div class="OptionsBox">
|
|
936 $Molecule->KeepLargestComponent();</div>
|
|
937 <p>Deletes atoms corresponding to all other connected components Except for the largest
|
|
938 connected component in a <em>Molecule</em> and returns <em>Molecule</em>.</p>
|
|
939 </dd>
|
|
940 <dt><strong><a name="kekulizearomaticatoms" class="item"><strong>KekulizeAromaticAtoms</strong></a></strong></dt>
|
|
941 <dd>
|
|
942 <div class="OptionsBox">
|
|
943 $Status = $Molecule->KekulizeAromaticAtoms();</div>
|
|
944 <p>Kekulize marked ring and non-ring aromatic atoms in a molecule and return 1 or 1 based
|
|
945 on whether the kekulization succeeded.</p>
|
|
946 </dd>
|
|
947 <dt><strong><a name="newatom" class="item"><strong>NewAtom</strong></a></strong></dt>
|
|
948 <dd>
|
|
949 <div class="OptionsBox">
|
|
950 $NewAtom = $Molecule->NewAtom(%AtomPropertyNamesAndValues);</div>
|
|
951 <p>Creates a new atom using <em>AtomPropertyNamesAndValues</em>, add its to <em>Molecule</em>, and returns
|
|
952 new <strong>Atom</strong> object.</p>
|
|
953 </dd>
|
|
954 <dt><strong><a name="newbond" class="item"><strong>NewBond</strong></a></strong></dt>
|
|
955 <dd>
|
|
956 <div class="OptionsBox">
|
|
957 $NewBond = $Molecule->NewBond(%BondPropertyNamesAndValues);</div>
|
|
958 <p>Creates a new bond using <em>AtomPropertyNamesAndValues</em>, add its to <em>Molecule</em>, and returns
|
|
959 new <strong>Bond</strong> object.</p>
|
|
960 </dd>
|
|
961 <dt><strong><a name="setactiverings" class="item"><strong>SetActiveRings</strong></a></strong></dt>
|
|
962 <dd>
|
|
963 <div class="OptionsBox">
|
|
964 $Molecule->SetActiveRings($RingsType);</div>
|
|
965 <p>Sets up type of detected ring sets to use during all ring related methods and returns <em>Molecule</em>.
|
|
966 Possible <em>RingType</em> values: <em>Independent or All</em>. By default, <em>Independent</em> ring set is used
|
|
967 during all ring methods.</p>
|
|
968 </dd>
|
|
969 <dt><strong><a name="setaromaticitymodel" class="item"><strong>SetAromaticityModel</strong></a></strong></dt>
|
|
970 <dd>
|
|
971 <div class="OptionsBox">
|
|
972 $Molecule = $Molecule->SetAromaticityModel($AromaticityModel);</div>
|
|
973 <p>Sets up <em>AromaticityModel</em> property value for <em>Molecule</em> and retrurns <em>Molecule</em>.</p>
|
|
974 </dd>
|
|
975 <dt><strong><a name="setvalencemodel" class="item"><strong>SetValenceModel</strong></a></strong></dt>
|
|
976 <dd>
|
|
977 <div class="OptionsBox">
|
|
978 $Molecule = $Molecule->SetValenceModel(ValenceModel);</div>
|
|
979 <p>Sets up <em>ValenceModel</em> property value for <em>Molecule</em> and retrurns <em>Molecule</em>.</p>
|
|
980 </dd>
|
|
981 <dt><strong><a name="stringifymolecule" class="item"><strong>StringifyMolecule</strong></a></strong></dt>
|
|
982 <dd>
|
|
983 <div class="OptionsBox">
|
|
984 $MoleculeString = $Molecule->StringifyMolecule();</div>
|
|
985 <p>Returns a string containing information about <em>Molecule</em> object</p>
|
|
986 </dd>
|
|
987 </dl>
|
|
988 <p>
|
|
989 </p>
|
|
990 <h2>AUTHOR</h2>
|
|
991 <p><a href="mailto:msud@san.rr.com">Manish Sud</a></p>
|
|
992 <p>
|
|
993 </p>
|
|
994 <h2>SEE ALSO</h2>
|
|
995 <p><a href="./Atom.html">Atom.pm</a>, <a href="./Bond.html">Bond.pm</a>, <a href="./MoleculeFileIO.html">MoleculeFileIO.pm</a>, <a href="./MolecularFormula.html">MolecularFormula.pm</a>
|
|
996 </p>
|
|
997 <p>
|
|
998 </p>
|
|
999 <h2>COPYRIGHT</h2>
|
|
1000 <p>Copyright (C) 2015 Manish Sud. All rights reserved.</p>
|
|
1001 <p>This file is part of MayaChemTools.</p>
|
|
1002 <p>MayaChemTools is free software; you can redistribute it and/or modify it under
|
|
1003 the terms of the GNU Lesser General Public License as published by the Free
|
|
1004 Software Foundation; either version 3 of the License, or (at your option)
|
|
1005 any later version.</p>
|
|
1006 <p> </p><p> </p><div class="DocNav">
|
|
1007 <table width="100%" border=0 cellpadding=0 cellspacing=2>
|
|
1008 <tr align="left" valign="top"><td width="33%" align="left"><a href="./MolecularFormula.html" title="MolecularFormula.html">Previous</a> <a href="./index.html" title="Table of Contents">TOC</a> <a href="./MoleculeFileIO.html" title="MoleculeFileIO.html">Next</a></td><td width="34%" align="middle"><strong>March 29, 2015</strong></td><td width="33%" align="right"><strong>Molecule.pm</strong></td></tr>
|
|
1009 </table>
|
|
1010 </div>
|
|
1011 <br />
|
|
1012 <center>
|
|
1013 <img src="../../images/h2o2.png">
|
|
1014 </center>
|
|
1015 </body>
|
|
1016 </html>
|