annotate docs/modules/txt/Molecule.txt @ 0:4816e4a8ae95 draft default tip

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