annotate docs/modules/txt/Molecule.txt @ 3:90ea638ce878 draft default tip

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