Mercurial > repos > deepakjadmin > mayatool3_test3
comparison mayachemtools/docs/modules/man3/Atom.3 @ 0:73ae111cf86f draft
Uploaded
author | deepakjadmin |
---|---|
date | Wed, 20 Jan 2016 11:55:01 -0500 |
parents | |
children |
comparison
equal
deleted
inserted
replaced
-1:000000000000 | 0:73ae111cf86f |
---|---|
1 .\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.22) | |
2 .\" | |
3 .\" Standard preamble: | |
4 .\" ======================================================================== | |
5 .de Sp \" Vertical space (when we can't use .PP) | |
6 .if t .sp .5v | |
7 .if n .sp | |
8 .. | |
9 .de Vb \" Begin verbatim text | |
10 .ft CW | |
11 .nf | |
12 .ne \\$1 | |
13 .. | |
14 .de Ve \" End verbatim text | |
15 .ft R | |
16 .fi | |
17 .. | |
18 .\" Set up some character translations and predefined strings. \*(-- will | |
19 .\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left | |
20 .\" double quote, and \*(R" will give a right double quote. \*(C+ will | |
21 .\" give a nicer C++. Capital omega is used to do unbreakable dashes and | |
22 .\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff, | |
23 .\" nothing in troff, for use with C<>. | |
24 .tr \(*W- | |
25 .ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p' | |
26 .ie n \{\ | |
27 . ds -- \(*W- | |
28 . ds PI pi | |
29 . if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch | |
30 . if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch | |
31 . ds L" "" | |
32 . ds R" "" | |
33 . ds C` "" | |
34 . ds C' "" | |
35 'br\} | |
36 .el\{\ | |
37 . ds -- \|\(em\| | |
38 . ds PI \(*p | |
39 . ds L" `` | |
40 . ds R" '' | |
41 'br\} | |
42 .\" | |
43 .\" Escape single quotes in literal strings from groff's Unicode transform. | |
44 .ie \n(.g .ds Aq \(aq | |
45 .el .ds Aq ' | |
46 .\" | |
47 .\" If the F register is turned on, we'll generate index entries on stderr for | |
48 .\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index | |
49 .\" entries marked with X<> in POD. Of course, you'll have to process the | |
50 .\" output yourself in some meaningful fashion. | |
51 .ie \nF \{\ | |
52 . de IX | |
53 . tm Index:\\$1\t\\n%\t"\\$2" | |
54 .. | |
55 . nr % 0 | |
56 . rr F | |
57 .\} | |
58 .el \{\ | |
59 . de IX | |
60 .. | |
61 .\} | |
62 .\" | |
63 .\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2). | |
64 .\" Fear. Run. Save yourself. No user-serviceable parts. | |
65 . \" fudge factors for nroff and troff | |
66 .if n \{\ | |
67 . ds #H 0 | |
68 . ds #V .8m | |
69 . ds #F .3m | |
70 . ds #[ \f1 | |
71 . ds #] \fP | |
72 .\} | |
73 .if t \{\ | |
74 . ds #H ((1u-(\\\\n(.fu%2u))*.13m) | |
75 . ds #V .6m | |
76 . ds #F 0 | |
77 . ds #[ \& | |
78 . ds #] \& | |
79 .\} | |
80 . \" simple accents for nroff and troff | |
81 .if n \{\ | |
82 . ds ' \& | |
83 . ds ` \& | |
84 . ds ^ \& | |
85 . ds , \& | |
86 . ds ~ ~ | |
87 . ds / | |
88 .\} | |
89 .if t \{\ | |
90 . ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u" | |
91 . ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u' | |
92 . ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u' | |
93 . ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u' | |
94 . ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u' | |
95 . ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u' | |
96 .\} | |
97 . \" troff and (daisy-wheel) nroff accents | |
98 .ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V' | |
99 .ds 8 \h'\*(#H'\(*b\h'-\*(#H' | |
100 .ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#] | |
101 .ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H' | |
102 .ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u' | |
103 .ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#] | |
104 .ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#] | |
105 .ds ae a\h'-(\w'a'u*4/10)'e | |
106 .ds Ae A\h'-(\w'A'u*4/10)'E | |
107 . \" corrections for vroff | |
108 .if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u' | |
109 .if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u' | |
110 . \" for low resolution devices (crt and lpr) | |
111 .if \n(.H>23 .if \n(.V>19 \ | |
112 \{\ | |
113 . ds : e | |
114 . ds 8 ss | |
115 . ds o a | |
116 . ds d- d\h'-1'\(ga | |
117 . ds D- D\h'-1'\(hy | |
118 . ds th \o'bp' | |
119 . ds Th \o'LP' | |
120 . ds ae ae | |
121 . ds Ae AE | |
122 .\} | |
123 .rm #[ #] #H #V #F C | |
124 .\" ======================================================================== | |
125 .\" | |
126 .IX Title "ATOM 1" | |
127 .TH ATOM 1 "2015-03-29" "perl v5.14.2" "MayaChemTools" | |
128 .\" For nroff, turn off justification. Always turn off hyphenation; it makes | |
129 .\" way too many mistakes in technical documents. | |
130 .if n .ad l | |
131 .nh | |
132 .SH "NAME" | |
133 Atom | |
134 .SH "SYNOPSIS" | |
135 .IX Header "SYNOPSIS" | |
136 use Atom; | |
137 .SH "DESCRIPTION" | |
138 .IX Header "DESCRIPTION" | |
139 \&\fBAtom\fR class provides the following methods: | |
140 .PP | |
141 new, AddHydrogens, Copy, DeleteAtom, DeleteHydrogens, DoesAtomNeighborhoodMatch, | |
142 GetAtomicInvariantValue, GetAtomicWeight, GetBondToAtom, GetBonds, | |
143 GetBondsToHeavyAtoms, GetBondsToHydrogenAtoms, GetBondsToNonHydrogenAtoms, | |
144 GetExactMass, GetExplicitHydrogens, GetFormalCharge, GetFreeRadicalElectrons, | |
145 GetGroupNumber, GetHeavyAtomNeighbors, GetHeavyAtomNeighborsAtomInformation, | |
146 GetHeavyAtomNeighborsBondformation, GetHighestCommonValence, | |
147 GetHydrogenAtomNeighbors, GetHydrogens, GetImplicitHydrogens, GetLargestBondOrder, | |
148 GetLargestBondOrderToHeavyAtoms, GetLargestBondOrderToNonHydrogenAtoms, | |
149 GetLargestRing, GetLowestCommonValence, GetMassNumber, GetMissingHydrogens, | |
150 GetNeighbors, GetNeighborsUsingAtomSpecification, GetNonHydrogenAtomNeighbors, | |
151 GetNonHydrogenAtomNeighborsAtomInformation, | |
152 GetNonHydrogenAtomNeighborsBondInformation, GetNonHydrogenNeighborOfHydrogenAtom, | |
153 GetNumOfAromaticBondsToHeavyAtoms, GetNumOfAromaticBondsToNonHydrogenAtoms, | |
154 GetNumOfBondTypesToHeavyAtoms, GetNumOfBondTypesToNonHydrogenAtoms, GetNumOfBonds, | |
155 GetNumOfBondsToHeavyAtoms, GetNumOfBondsToHydrogenAtoms, | |
156 GetNumOfBondsToNonHydrogenAtoms, GetNumOfDoubleBondsToHeavyAtoms, | |
157 GetNumOfBondsAvailableForHeavyAtoms, GetNumOfBondsAvailableForNonHydrogenAtoms, | |
158 GetNumOfDoubleBondsToNonHydrogenAtoms, GetNumOfExplicitHydrogens, | |
159 GetNumOfHeavyAtomNeighbors, GetNumOfHydrogenAtomNeighbors, GetNumOfHydrogens, | |
160 GetNumOfImplicitHydrogens, GetNumOfMissingHydrogens, GetNumOfNeighbors, | |
161 GetNumOfNonHydrogenAtomNeighbors, GetNumOfRings, GetNumOfRingsWithEvenSize, | |
162 GetNumOfRingsWithOddSize, GetNumOfRingsWithSize, GetNumOfRingsWithSizeGreaterThan, | |
163 GetNumOfRingsWithSizeLessThan, GetNumOfSigmaAndPiBondsToHeavyAtoms, | |
164 GetNumOfSigmaAndPiBondsToNonHydrogenAtoms, GetNumOfSingleBondsToHeavyAtoms, | |
165 GetNumOfSingleBondsToNonHydrogenAtoms, GetNumOfTripleBondsToHeavyAtoms, | |
166 GetNumOfTripleBondsToNonHydrogenAtoms, GetPeriodNumber, | |
167 GetPotentialTotalCommonValence, GetRings, GetRingsWithEvenSize, | |
168 GetRingsWithOddSize, GetRingsWithSize, GetRingsWithSizeGreaterThan, | |
169 GetRingsWithSizeLessThan, GetSizeOfLargestRing, GetSizeOfSmallestRing, | |
170 GetSmallestRing, GetSpinMultiplicity, GetSumOfBondOrders, | |
171 GetSumOfBondOrdersToHeavyAtoms, GetSumOfBondOrdersToHydrogenAtoms, | |
172 GetSumOfBondOrdersToNonHydrogenAtoms, GetValence, GetValenceElectrons, | |
173 GetValenceFreeElectrons, GetX, GetXYZ, GetXYZVector, GetY, GetZ, IsAmideCarbon, | |
174 IsAmideNitrogen, IsAromatic, IsArsenic, IsBondedToAtom, IsBromine, IsCarbon, IsCarboxylCarbon, | |
175 IsCarboxylOxygen, IsCarboxylateCarbon, IsCarboxylateOxygen, IsChlorine, | |
176 IsFluorine, IsFunctionalClassType, IsGuadiniumCarbon, IsGuadiniumNitrogen, | |
177 IsHBondAcceptor, IsHBondDonor, IsHalogen, IsHeteroAtom, IsHydrogen, | |
178 IsHydrogenBondAcceptor, IsHydrogenBondDonor, IsHydrophobic, IsInRing, | |
179 IsInRingOfSize, IsIodine, IsIsotope, IsLipophilic, IsMetallic, | |
180 IsNegativelyIonizable, IsNitrogen, IsNonCarbonOrHydrogen, IsNotInRing, | |
181 IsOnlyInOneRing, IsOxygen, IsPhosphateOxygen, IsPhosphatePhosphorus, IsPhosphorus, | |
182 IsPolarAtom, IsPolarHydrogen, IsPositivelyIonizable, IsSaturated, IsSelenium, | |
183 IsSilicon, IsStereoCenter, IsSulfur, IsSulphur, IsTellurium, IsTerminal, | |
184 IsTopologicalPharmacophoreType, IsUnsaturated, SetAtomSymbol, SetAtomicNumber, | |
185 SetExplicitHydrogens, SetMassNumber, SetStereoCenter, SetStereochemistry, | |
186 SetX, SetXYZ, SetY, SetZ, StringifyAtom | |
187 .PP | |
188 \&\fBAtom\fR class is derived from \fBObjectProperty\fR base class which provides methods not explicitly | |
189 defined in \fBAtom\fR or \fBObjectProperty\fR class using Perl's \s-1AUTOLOAD\s0 functionality. These methods | |
190 are generated on-the-fly for a specified object property: | |
191 .PP | |
192 .Vb 3 | |
193 \& Set<PropertyName>(<PropertyValue>); | |
194 \& $PropertyValue = Get<PropertyName>(); | |
195 \& Delete<PropertyName>(); | |
196 .Ve | |
197 .SS "\s-1METHODS\s0" | |
198 .IX Subsection "METHODS" | |
199 .IP "\fBnew\fR" 4 | |
200 .IX Item "new" | |
201 .Vb 1 | |
202 \& $NewAtom = new Atom([%PropertyNameAndValues]); | |
203 .Ve | |
204 .Sp | |
205 Using specified \fIAtom\fR property names and values hash, \fBnew\fR method creates a new object | |
206 and returns a reference to newly created \fBAtom\fR object. By default, following properties are | |
207 initialized: | |
208 .Sp | |
209 .Vb 5 | |
210 \& ID = SequentialObjectID | |
211 \& Name = "Atom <SequentialObjectID>" | |
212 \& AtomSymbol = "" | |
213 \& AtomicNumber = 0 | |
214 \& XYZ = ZeroVector | |
215 .Ve | |
216 .Sp | |
217 Except for \fI\s-1ID\s0\fR property, all other default properties and other additional properties can | |
218 be set during invocation of this method. | |
219 .Sp | |
220 Examples: | |
221 .Sp | |
222 .Vb 5 | |
223 \& $Atom = new Atom(); | |
224 \& $CarbonAtom = new Atom(\*(AqAtomSymbol\*(Aq => \*(AqC\*(Aq, \*(AqXYZ\*(Aq => (0.0, 1.0, | |
225 \& 0.0)); | |
226 \& $OxygenAtom = new Atom(\*(AqAtomName\*(Aq => \*(AqOxygen\*(Aq, AtomSymbol\*(Aq => \*(AqO\*(Aq, | |
227 \& \*(AqXYZ\*(Aq => (1.0, 1.0, 1.0)); | |
228 .Ve | |
229 .IP "\fBAddHydrogens\fR" 4 | |
230 .IX Item "AddHydrogens" | |
231 .Vb 1 | |
232 \& $NumOfHydrogensAdded = $Atom\->AddHydrogens(); | |
233 .Ve | |
234 .Sp | |
235 Adds hydrogens to an \fBAtom\fR present in a \fBMolecule\fR object and returns | |
236 the number of added hydrogens. The current release of MayaChemTools doesn't | |
237 assign hydrogen positions. | |
238 .IP "\fBCopy\fR" 4 | |
239 .IX Item "Copy" | |
240 .Vb 1 | |
241 \& $AtomCopy = $Atom\->Copy(); | |
242 .Ve | |
243 .Sp | |
244 Copy \fIAtom\fR and its associated data using \fBStorable::dclone\fR and return a new | |
245 \&\fBAtom\fR object. | |
246 .IP "\fBDeleteAtom\fR" 4 | |
247 .IX Item "DeleteAtom" | |
248 .Vb 1 | |
249 \& $Atom\->DeleteAtom(); | |
250 .Ve | |
251 .Sp | |
252 Delete \fIAtom\fR from a molecule. | |
253 .IP "\fBDoesAtomNeighborhoodMatch\fR" 4 | |
254 .IX Item "DoesAtomNeighborhoodMatch" | |
255 .Vb 8 | |
256 \& $Status = $Atom\->DoesAtomNeighborhoodMatch($CentralAtomSpec); | |
257 \& $Status = $Atom\->DoesAtomNeighborhoodMatch($CentralAtomSpec, | |
258 \& $NbrAtomSpecsRef); | |
259 \& $Status = $Atom\->DoesAtomNeighborhoodMatch($CentralAtomSpec, | |
260 \& $NbrAtomSpecsRef, $AllowedNbrBondSpecsRef); | |
261 \& $Status = $Atom\->DoesAtomNeighborhoodMatch($CentralAtomSpec, | |
262 \& $NbrAtomSpecsRef, $NbrBondSpecsRef, | |
263 \& $AllowedNbrOfNbrAtomSpecsRef); | |
264 .Ve | |
265 .Sp | |
266 Returns 1 or 0 based on whether atom matches central atom and its neighborhood | |
267 using specified atom and bonds specifications. Neighborhood atom and bond specifications | |
268 are specified as array references containing neighbor atom and bond specifications. | |
269 .Sp | |
270 Let: | |
271 .Sp | |
272 .Vb 2 | |
273 \& AS = Atom symbol corresponding to element symbol, atomic number (#n) | |
274 \& or any atom (A) | |
275 \& | |
276 \& X<n> = Number of non\-hydrogen atom neighbors or heavy atoms | |
277 \& attached to atom | |
278 \& T<n> = Total number of atom neighbors including implicit and explicit | |
279 \& hydrogens | |
280 \& BO<n> = Sum of bond orders to non\-hydrogen atom neighbors or heavy | |
281 \& atoms attached to atom | |
282 \& LBO<n> = Largest bond order of non\-hydrogen atom neighbors or heavy | |
283 \& atoms attached to atom | |
284 \& SB<n> = Number of single bonds to non\-hydrogen atom neighbors or | |
285 \& heavy atoms attached to atom | |
286 \& TSB<n> = Total number of single bonds to atom neighbors including implicit | |
287 \& and explicit hydrogens | |
288 \& DB<n> = Number of double bonds to non\-hydrogen atom neighbors or | |
289 \& heavy atoms attached to atom | |
290 \& TB<n> = Number of triple bonds to non\-hydrogen atom neighbors or | |
291 \& heavy atoms attached to atom | |
292 \& AB<n> = Number of aromatic bonds to non\-hydrogen atom neighbors or | |
293 \& heavy atoms attached to atom | |
294 \& H<n> = Number of implicit and explicit hydrogens for atom | |
295 \& Ar = Aromatic annotation indicating whether atom is aromatic | |
296 \& RA or RA<n> = Ring atom annotation indicating whether atom | |
297 \& is a ring | |
298 \& TR<n> = Total number of rings containing atom | |
299 \& FC<+n/\-n> = Formal charge assigned to atom | |
300 \& MN<n> = Mass number indicating isotope other than most abundant isotope | |
301 \& SM<n> = Spin multiplicity of atom. Possible values: 1 (singlet), | |
302 \& 2 (doublet) or 3 (triplet) | |
303 .Ve | |
304 .Sp | |
305 Then, atom specification corresponds to: | |
306 .Sp | |
307 .Vb 2 | |
308 \& AS.X<n>.T<n>.BO<n>.LBO<n>.<SB><n>.TSB<n>.<DB><n>.<TB><n>.AB<n>.H<n>.Ar. | |
309 \& RA<n>.TR<n>FC<+n/\-n>.MN<n>.SM<n> | |
310 .Ve | |
311 .Sp | |
312 Except for \s-1AS\s0 which is a required atomic invariant in atom specification, all other atomic invariants are | |
313 optional. For an atom specification to match an atom, the values of all specified atomic invariants must | |
314 match. Exclamation in from of atomic invariant can be used to negate its effect during the match. | |
315 .Sp | |
316 For \fI\s-1FC\s0\fR value matching, the following value operators are also supported: | |
317 .Sp | |
318 .Vb 4 | |
319 \& o +* : Any positive value | |
320 \& o \-* : Any negative value | |
321 \& o > ValidNumber or >= ValidNumber | |
322 \& o < ValidNumber or <= ValidNumber | |
323 .Ve | |
324 .Sp | |
325 A comma delimited atom specification string is used to match any one of the specified atom specification. | |
326 .Sp | |
327 Notes: | |
328 .Sp | |
329 .Vb 2 | |
330 \& o During atom specification match to an atom, the first atomic invariant is always assumed to | |
331 \& atom symbol. | |
332 .Ve | |
333 .Sp | |
334 Examples: | |
335 .Sp | |
336 .Vb 5 | |
337 \& o (\*(AqN\*(Aq, \*(AqN\*(Aq, \*(AqN\*(Aq) | |
338 \& o (\*(AqN.FC0\*(Aq, \*(AqN.FC0\*(Aq, \*(AqN,N.FC+1.H1\*(Aq) | |
339 \& o (\*(AqN.H2\*(Aq, \*(AqN.H2\*(Aq, \*(AqN.H1\*(Aq) | |
340 \& o (\*(AqC,N\*(Aq, \*(Aq!N\*(Aq, \*(Aq!H\*(Aq) | |
341 \& o (\*(AqC,N\*(Aq, \*(AqN.Ar\*(Aq, \*(AqN.R5\*(Aq) | |
342 .Ve | |
343 .Sp | |
344 Let: | |
345 .Sp | |
346 .Vb 4 | |
347 \& \-|1|s|Single = Single bond | |
348 \& =|2|d|Double = Double bond | |
349 \& #|3|t|Triple = Triple bond | |
350 \& :|1.5|a|Ar|Aromatic = Aromatic bond | |
351 \& | |
352 \& @|RB|Ring = Ring bond | |
353 \& ~|*|Any = Any bond | |
354 .Ve | |
355 .Sp | |
356 Then, bond specification corresponds to: | |
357 .Sp | |
358 .Vb 3 | |
359 \& \-.: | |
360 \& =.@ | |
361 \& Double.Aromatic | |
362 .Ve | |
363 .Sp | |
364 For a bond specification to match bond between two atoms, the values of all specified bond symbols must | |
365 match. Exclamation in from of bond symbol can be used to negate its effect during the match. | |
366 .Sp | |
367 A comma delimited bond specification string is used to match any one of the specified atom specification. | |
368 .Sp | |
369 Notes: | |
370 .Sp | |
371 .Vb 3 | |
372 \& o During atom neighborhood match for central atom neighborhood atom and bond specifications, | |
373 \& implicit or missing hydrogens are automatically checked for any matches to unmatched | |
374 \& specifications. | |
375 .Ve | |
376 .Sp | |
377 Examples: | |
378 .Sp | |
379 .Vb 2 | |
380 \& Aromatic carbon in a 5 membered ring: | |
381 \& $Atom\->DoesAtomNeighborhoodMatch(\*(AqC.Ar.RA5\*(Aq); | |
382 \& | |
383 \& AcetylenicCarbon: $Atom\->DoesAtomNeighborhoodMatch(\*(AqC.T2.TB1\*(Aq); or | |
384 \& $Atom\->DoesAtomNeighborhoodMatch(\*(AqC.T2.TB1\*(Aq, | |
385 \& [\*(Aq*\*(Aq, \*(Aq*\*(Aq], [\*(Aq#\*(Aq, \*(Aq\-\*(Aq]); | |
386 \& | |
387 \& GuadiniumCarbon: $Atom\->DoesAtomNeighborhoodMatch(\*(AqC.X3.BO4\*(Aq, | |
388 \& [\*(AqN.FC0\*(Aq, \*(AqN.FC0\*(Aq, \*(AqN.FC0,N.FC+1\*(Aq], | |
389 \& [\*(Aq\-\*(Aq, \*(Aq\-\*(Aq, \*(Aq=\*(Aq], | |
390 \& [\*(AqC,H\*(Aq, \*(AqC,H\*(Aq, \*(AqC,H\*(Aq]); | |
391 \& | |
392 \& AmideCarbon: $Atom\->DoesAtomNeighborhoodMatch(\*(AqC.X3.BO4,C.X2.BO3\*(Aq, | |
393 \& [\*(AqC,H\*(Aq, \*(AqO\*(Aq, \*(AqN\*(Aq], | |
394 \& [\*(Aq\-\*(Aq, \*(Aq=\*(Aq, \*(Aq\-\*(Aq], | |
395 \& [\*(AqC,H\*(Aq, \*(AqC\*(Aq, \*(AqC,H,N,O,S,P,F,Cl,Br,I\*(Aq]); | |
396 \& | |
397 \& CarboxylCarbon: $Atom\->DoesAtomNeighborhoodMatch(\*(AqC.X3.BO4,C.X2.BO3\*(Aq, | |
398 \& [\*(AqC,H\*(Aq, \*(AqO\*(Aq, \*(AqO.X1.FC0\*(Aq], | |
399 \& [\*(Aq\-\*(Aq, \*(Aq=\*(Aq, \*(Aq\-\*(Aq], | |
400 \& [\*(AqC,H\*(Aq, \*(AqC\*(Aq, \*(AqC\*(Aq]); | |
401 \& | |
402 \& CarboxylateCarbon: $Atom\->DoesAtomNeighborhoodMatch(\*(AqC.X3.BO4,C.X2.BO3\*(Aq, | |
403 \& [\*(AqC,H\*(Aq, \*(AqO\*(Aq, \*(AqO.X1.FC\-1\*(Aq], | |
404 \& [\*(Aq\-\*(Aq, \*(Aq=\*(Aq, \*(Aq\-\*(Aq], | |
405 \& [\*(AqC,H\*(Aq, \*(AqC\*(Aq, \*(AqC\*(Aq]); | |
406 .Ve | |
407 .IP "\fBDeleteHydrogens\fR" 4 | |
408 .IX Item "DeleteHydrogens" | |
409 .Vb 1 | |
410 \& $NumOfHydrogensDeleted = $Atom\->AddHydrogens(); | |
411 .Ve | |
412 .Sp | |
413 Delete hydrogens from an \fBAtom\fR present in a \fBMolecule\fR object and returns | |
414 the number of deleted hydrogens. | |
415 .IP "\fBGetAtomicInvariantValue\fR" 4 | |
416 .IX Item "GetAtomicInvariantValue" | |
417 .Vb 1 | |
418 \& $Value = $Atom\->GetAtomicInvariantValue($AtomicInvariant); | |
419 .Ve | |
420 .Sp | |
421 Returns atomic invariant value for a specified \fIAtomicInvariant\fR. The current release | |
422 of MayaChemTools supports following abbreviations and descriptive names for | |
423 \&\fIAtomicInvarints\fR: | |
424 .Sp | |
425 .Vb 10 | |
426 \& AS : Atom or element symbol | |
427 \& X : NumOfNonHydrogenAtomNeighbors or NumOfHeavyAtomNeighbors | |
428 \& T : TotalNumOfAtomNeighbors | |
429 \& BO : SumOfBondOrdersToNonHydrogenAtoms or SumOfBondOrdersToHeavyAtoms | |
430 \& LBO : LargestBondOrderToNonHydrogenAtoms or LargestBondOrderToHeavyAtoms | |
431 \& SB : NumOfSingleBondsToNonHydrogenAtoms or NumOfSingleBondsToHeavyAtoms | |
432 \& TSB : TotalNumOfSingleBonds | |
433 \& DB : NumOfDoubleBondsToNonHydrogenAtoms or NumOfDoubleBondsToHeavyAtoms | |
434 \& TB : NumOfTripleBondsToNonHydrogenAtoms or NumOfTripleBondsToHeavyAtoms | |
435 \& AB : NumOfAromaticBondsToNonHydrogenAtoms or NumOfAromaticBondsToHeavyAtoms | |
436 \& H : NumOfImplicitAndExplicitHydrogens | |
437 \& Ar : Aromatic | |
438 \& Str : Stereochemistry | |
439 \& RA : RingAtom | |
440 \& FC : FormalCharge | |
441 \& AN : AtomicNumber | |
442 \& AM : AtomicMass | |
443 \& MN : MassNumber | |
444 \& SM : SpinMultiplicity | |
445 .Ve | |
446 .IP "\fBGetAtomicWeight\fR" 4 | |
447 .IX Item "GetAtomicWeight" | |
448 .Vb 1 | |
449 \& $Value = $Aom\->GetAtomicWeight(); | |
450 .Ve | |
451 .Sp | |
452 Returns atomic weight of an \fBAtom\fR which corresponds to either explicity set \fIAtomicWeight\fR | |
453 atom property or atomic weight of the corresponding element in the periodic table available by | |
454 \&\fBPeriodicTable\fR module. | |
455 .IP "\fBGetBondToAtom\fR" 4 | |
456 .IX Item "GetBondToAtom" | |
457 .Vb 1 | |
458 \& $Bond = $Atom\->GetBondToAtom($OtherAtom); | |
459 .Ve | |
460 .Sp | |
461 Returns a \fBBond\fR object corresponding to bond between \fIAtom\fR and \fIOtherAtom\fR in | |
462 a molecule. | |
463 .IP "\fBGetBonds\fR" 4 | |
464 .IX Item "GetBonds" | |
465 .Vb 1 | |
466 \& @Bonds = $Aoto\->GetBonds(); | |
467 .Ve | |
468 .Sp | |
469 Returns an array of \fBBond\fR objects corresponding to all bonds from \fIAtom\fR to other | |
470 bonded atoms in a molecule. | |
471 .IP "\fBGetBondsToHeavyAtoms\fR" 4 | |
472 .IX Item "GetBondsToHeavyAtoms" | |
473 .Vb 1 | |
474 \& @Bonds = $Atom\->GetBondsToHeavyAtoms(); | |
475 .Ve | |
476 .Sp | |
477 Returns an array of \fBBond\fR objects corresponding to bonds from \fIAtom\fR to other bonded | |
478 non-hydrogen atoms in a molecule. | |
479 .IP "\fBGetBondsToHydrogenAtoms\fR" 4 | |
480 .IX Item "GetBondsToHydrogenAtoms" | |
481 .Vb 1 | |
482 \& @Bonds = $Atom\->GetBondsToHydrogenAtoms(); | |
483 .Ve | |
484 .Sp | |
485 Returns an array of \fBBond\fR objects corresponding to bonds from \fIAtom\fR to any other | |
486 hydrogen atom in a molecule. | |
487 .IP "\fBGetBondsToNonHydrogenAtoms\fR" 4 | |
488 .IX Item "GetBondsToNonHydrogenAtoms" | |
489 .Vb 1 | |
490 \& @Bonds = $Atom\->GetBondsToNonHydrogenAtoms(); | |
491 .Ve | |
492 .Sp | |
493 Returns an array of \fBBond\fR objects corresponding to bonds from \fIAtom\fR to other bonded | |
494 non-hydrogen atoms in a molecule. | |
495 .IP "\fBGetExactMass\fR" 4 | |
496 .IX Item "GetExactMass" | |
497 .Vb 1 | |
498 \& $ExactMass = $Atom\->GetExactMass(); | |
499 .Ve | |
500 .Sp | |
501 Returns exact mass of an \fIAtom\fR which correspond to one of these three values: explicity set | |
502 \&\fIExactMass\fR property; mass of natural isotope for an explicty set value of \fIMassNumber\fR; most | |
503 abundant natural isotope mass for \fIAtom\fR with valid atomic number value available by | |
504 \&\fBPerodicTable\fR module. | |
505 .IP "\fBGetExplicitHydrogens\fR" 4 | |
506 .IX Item "GetExplicitHydrogens" | |
507 .Vb 1 | |
508 \& $NumOfExplicitHydrogens = $Atom\->GetExplicitHydrogens(); | |
509 .Ve | |
510 .Sp | |
511 Returns number of hydrogens explicity bonded to an \fIAtom\fR in a molecule. | |
512 .IP "\fBGetFormalCharge\fR" 4 | |
513 .IX Item "GetFormalCharge" | |
514 .Vb 1 | |
515 \& $FormalCharge = $Atom\->GetFormalCharge(); | |
516 .Ve | |
517 .Sp | |
518 Returns formal charge of an \fIAtom\fR in a molecule. | |
519 .IP "\fBGetFreeRadicalElectrons\fR" 4 | |
520 .IX Item "GetFreeRadicalElectrons" | |
521 .Vb 1 | |
522 \& $FreeRadicalElectrons = $Atom\->GetFreeRadicalElectrons(); | |
523 .Ve | |
524 .Sp | |
525 Returns number of free radical electrons corresponding to to one of these | |
526 three values: \fIFreeRadicalElectrons\fR property; \fISpinMultiplicity\fR property; value | |
527 of 0. | |
528 .Sp | |
529 For atoms with explicit assignment of \fISpinMultiplicity\fR atom property values, | |
530 .Sp | |
531 .Vb 5 | |
532 \& Singlet \- two unparied electrons corresponding to one spin state | |
533 \& Doublet \- free radical; an unpaired electron corresponding to two | |
534 \& spin states | |
535 \& Triplet \- two unparied electrons corresponding to three spin states | |
536 \& (divalent carbon atoms: carbenes) | |
537 .Ve | |
538 .Sp | |
539 \&\fBFreeRadicalElectrons\fR are calculated as follows: | |
540 .Sp | |
541 .Vb 3 | |
542 \& Doublet: 1 (one valence electron not available for bonding) | |
543 \& Singlet: 2 (two valence electrons not available for bonding) | |
544 \& Triplet: 2 (two valence electrons not available for bonding) | |
545 .Ve | |
546 .IP "\fBGetGroupNumber\fR" 4 | |
547 .IX Item "GetGroupNumber" | |
548 .Vb 1 | |
549 \& $GroupNumber = $Atom\->GetGroupNumber(); | |
550 .Ve | |
551 .Sp | |
552 Returns group number of an \fIAtom\fR in a molecule with a valid atomic number. | |
553 .IP "\fBGetHeavyAtomNeighbors\fR" 4 | |
554 .IX Item "GetHeavyAtomNeighbors" | |
555 .Vb 2 | |
556 \& $NumOfHeavyAtoms = $Atom\->GetHeavyAtomNeighbors(); | |
557 \& @HeavyAtoms = $Atom\->GetHeavyAtomNeighbors(); | |
558 .Ve | |
559 .Sp | |
560 Return number of heavy atoms or an array of \fBAtom\fR objects corresponding to heavy atoms | |
561 bonded to an \fIAtom\fR in a molecule. | |
562 .IP "\fBGetHeavyAtomNeighborsAtomInformation\fR" 4 | |
563 .IX Item "GetHeavyAtomNeighborsAtomInformation" | |
564 .Vb 3 | |
565 \& ($NumOfAtomNeighbors, $AtomNeighborsRef, | |
566 \& $NumOfAtomNeighborsType, $AtomNeighborsTypeMapRef) = $Atom\-> | |
567 \& GetHeavyAtomNeighborsAtomInformation(); | |
568 .Ve | |
569 .Sp | |
570 Returns atoms information for all non-hydrogen atoms attached to an \fIAtom\fR | |
571 in a molecule. | |
572 .Sp | |
573 The following values are returned: | |
574 .Sp | |
575 .Vb 6 | |
576 \& o Number of non\-hydrogen atom neighbors | |
577 \& o A reference to an array containing atom objects corresponding to | |
578 \& non\-hydrogen atom neighbors | |
579 \& o Number of different types of non\-hydrogen atom neighbors | |
580 \& o A reference to a hash containing atom symbol as key with value | |
581 \& corresponding to its count for non\-hydrogen atom neighbors | |
582 .Ve | |
583 .IP "\fBGetHeavyAtomNeighborsBondformation\fR" 4 | |
584 .IX Item "GetHeavyAtomNeighborsBondformation" | |
585 .Vb 4 | |
586 \& ($NumOfBonds, $BondTypeCountMapRef, | |
587 \& $AtomsBondTypesCountMapRef, | |
588 \& $AtomsBondTypeAtomsMap) = $Atom\-> | |
589 \& GetHeavyAtomNeighborsBondformation(); | |
590 .Ve | |
591 .Sp | |
592 Returns bonds information for all non-hydrogen atoms attached to an \fIAtom\fR | |
593 in a molecule. | |
594 .Sp | |
595 The following values are returned: | |
596 .Sp | |
597 .Vb 12 | |
598 \& o Number of bonds to non\-hydrogen atom neighbors | |
599 \& o A reference to an array containing bond objects corresponding to | |
600 \& non\-hydrogen atom neighbors | |
601 \& o A reference to a hash containing bond type as key with value | |
602 \& corresponding to its count for non\-hydrogen atom neighbors. Bond | |
603 \& types are: Single, Double or Triple | |
604 \& o A reference to a hash containing atom symbol as key pointing to bond | |
605 \& type as second key with values corresponding to count of bond types for atom | |
606 \& symbol for non\-hydrogen atom neighbors | |
607 \& o A reference to a hash containing atom symbol as key pointing to bond | |
608 \& type as second key with values corresponding to atom objects array involved | |
609 \& in corresponding bond type for atom symbol for non\-hydrogen atom neighbors | |
610 .Ve | |
611 .IP "\fBGetHighestCommonValence\fR" 4 | |
612 .IX Item "GetHighestCommonValence" | |
613 .Vb 1 | |
614 \& $HighestCommonValence = $Atom\->GetHighestCommonValence(); | |
615 .Ve | |
616 .Sp | |
617 Returns highest common valence of an \fIAtom\fR which corresponds to either explicity set | |
618 \&\fIHighestCommonValence\fR atom property or highest common valence of the corresponding | |
619 element in the periodic table available by \fBPerodicTable\fR module. | |
620 .IP "\fBGetHydrogens\fR" 4 | |
621 .IX Item "GetHydrogens" | |
622 .Vb 1 | |
623 \& $NumOfHydrogens = $Atom\->GetHydrogens(); | |
624 .Ve | |
625 .Sp | |
626 Returns total number of hydrogens for an \fIAtom\fR in a molecule including both hydrogen atom | |
627 neighbors and implicit hydrogens. | |
628 .IP "\fBGetHydrogenAtomNeighbors\fR" 4 | |
629 .IX Item "GetHydrogenAtomNeighbors" | |
630 .Vb 2 | |
631 \& $NumOfHydrogenAtomNeighbors = $Atom\->GetHydrogenAtomNeighbors(); | |
632 \& @HydrogenAtomNeighbors = $Atom\->GetHydrogenAtomNeighbors(); | |
633 .Ve | |
634 .Sp | |
635 Return number of hydrogen atoms or an array of \fIAtom\fR objects corresponding to hydrogen | |
636 atoms bonded to an \fIAtom\fR in a molecule. | |
637 .IP "\fBGetImplicitHydrogens\fR" 4 | |
638 .IX Item "GetImplicitHydrogens" | |
639 .Vb 1 | |
640 \& $NumOfImplicitHydrogens = $Atom\->GetImplicitHydrogens(); | |
641 .Ve | |
642 .Sp | |
643 Returns number of implicit hydrogens for an \fIAtom\fR in a molecule. This value either | |
644 corresponds to explicitly set \fIImplicitHydrogens\fR atom property or calculated as the | |
645 difference between the value of potential total valence and sum of bond orders to | |
646 both hydrogen and non-hydrogen atom neighbors. | |
647 .IP "\fBGetPotentialTotalCommonValence\fR" 4 | |
648 .IX Item "GetPotentialTotalCommonValence" | |
649 .Vb 1 | |
650 \& $PotentialTotalValence = $Atom\->GetPotentialTotalCommonValence(); | |
651 .Ve | |
652 .Sp | |
653 Returns potential total common valence of an \fIAtom\fR in a molecule corresponding | |
654 to a specific valence model set for the molecule using its \fBSetValenceModel\fR method | |
655 or default internal valence model. It is used during the calculation of missing or | |
656 implicit hydrogens. | |
657 .Sp | |
658 The current release of MayaChemTools supports three valence models: \fIMDLValenceModel, | |
659 DaylightValenceModel, InternalValenceModel or MayaChemToolsValenceModel\fR. | |
660 .Sp | |
661 For \fIMDLValenceModel\fR and \fIDaylightValenceModel\fR, the following data files, distributed | |
662 with the package, are used to calculate potential total valence: | |
663 .Sp | |
664 .Vb 2 | |
665 \& lib/data/MDLValenceModelData.csv | |
666 \& lib/data/DaylightValenceModelData.csv | |
667 .Ve | |
668 .Sp | |
669 The calculation of potential total common valence for these two models is performed as | |
670 follows: Calculate current effective total valence of the \fIAtom\fR by adding up the bond | |
671 order of its neighbors and number of free radical electrons; Find available common valence | |
672 for the \fIAtom\fR, corresponding to any specified formal charge, higher than the effective | |
673 total valence, and return it as \fIPotentialTotalValence\fR. | |
674 .Sp | |
675 The calculation of potential total common valence For \fIInternalValenceModel\fR or | |
676 \&\fIMayaChenToolsValenceModel\fR doesn't uses \fBPeriodicTable\fR module to retrieve values | |
677 for common valence, which in turn reads in PeriodicTableElements.csv file distributed with | |
678 the package. | |
679 .Sp | |
680 For elements with one one common valence, potential total common valence corresponds | |
681 to: | |
682 .Sp | |
683 .Vb 1 | |
684 \& CommonValence + FormalCharge \- FreeRadicalElectrons | |
685 .Ve | |
686 .Sp | |
687 For elements with multiple common valences, each common valence is used to | |
688 calculate total potential common valence as shown above, and the first total potential | |
689 common valence greater than the sum of bond orders to all neighbors is selected as | |
690 the final total common valence. | |
691 .Sp | |
692 FormalCharge sign is reversed for electropositive elements with positive formal charge | |
693 during common valence calculations. Electropositive elements, metals and transition elements, | |
694 have usually plus formal charge and it leads to decrease in common valence; the negative | |
695 formal charge should result in the decrease of common valence. | |
696 .Sp | |
697 The sign of formal charge is adjusted as follows. | |
698 .Sp | |
699 Group numbers > 14 \- Group numbers 15 (N), 16 (O), 17 (F), 18 (He): | |
700 .Sp | |
701 Formal charge sign is not adjusted. Positive and negative values result in the | |
702 increase and decrease of valence. | |
703 .Sp | |
704 Group 14 containing C, Si, Ge, Sn, Pb...: | |
705 .Sp | |
706 Formal charge sign is reversed for positive values. Both positive and negative | |
707 values result in the decrease of valence. | |
708 .Sp | |
709 Group 13 containing B, Al, Ga, In, Tl...: | |
710 .Sp | |
711 Formal charge sign is always reversed. Positive and negative values result in the | |
712 decrease and increase of valence. | |
713 .Sp | |
714 Groups 1 (H) through 12 (Zn)...: | |
715 .Sp | |
716 Formal charge sign is reversed for positive values. Both positive and negative | |
717 values result in the decrease of valence. | |
718 .Sp | |
719 Lanthanides and actinides: | |
720 .Sp | |
721 Formal charge sign is reversed for positive values. Both positive and negative | |
722 values result in the decrease of valence. | |
723 .IP "\fBGetLargestBondOrder\fR" 4 | |
724 .IX Item "GetLargestBondOrder" | |
725 .Vb 1 | |
726 \& $LargestBO =$Atom\->GetLargestBondOrder(); | |
727 .Ve | |
728 .Sp | |
729 Returns largest bond order for an \fIAtom\fR among the bonds to other atoms in a molecule. | |
730 .IP "\fBGetLargestBondOrderToHeavyAtoms\fR" 4 | |
731 .IX Item "GetLargestBondOrderToHeavyAtoms" | |
732 .Vb 1 | |
733 \& $LargestBO =$Atom\->GetLargestBondOrderToHeavyAtoms(); | |
734 .Ve | |
735 .Sp | |
736 Returns largest bond order for an \fIAtom\fR among the bonds to other heavy atoms in a molecule. | |
737 .IP "\fBGetLargestBondOrderToNonHydrogenAtoms\fR" 4 | |
738 .IX Item "GetLargestBondOrderToNonHydrogenAtoms" | |
739 .Vb 1 | |
740 \& $LargestBO =$Atom\->GetLargestBondOrderToNonHydrogenAtoms(); | |
741 .Ve | |
742 .Sp | |
743 Returns largest bond order for an \fIAtom\fR among the bonds to other non-hydrogen atoms | |
744 in a molecule. | |
745 .IP "\fBGetLargestRing\fR" 4 | |
746 .IX Item "GetLargestRing" | |
747 .Vb 1 | |
748 \& @RingAtoms = $Atom\->GetLargestRing(); | |
749 .Ve | |
750 .Sp | |
751 Returns an array of ring \fIAtom\fR objects corresponding to the largest ring containing \fIAtom\fR | |
752 in a molecule. | |
753 .IP "\fBGetLowestCommonValence\fR" 4 | |
754 .IX Item "GetLowestCommonValence" | |
755 .Vb 1 | |
756 \& $LowestCommonValence = $Atom\->GetLowestCommonValence(); | |
757 .Ve | |
758 .Sp | |
759 Returns lowest common valence of an \fIAtom\fR which corresponds to either explicity set | |
760 \&\fILowestCommonValence\fR atom property or highest common valence of the corresponding | |
761 element in the periodic table available by \fBPerodicTable\fR module. | |
762 .IP "\fBGetMassNumber\fR" 4 | |
763 .IX Item "GetMassNumber" | |
764 .Vb 1 | |
765 \& $MassNumber = $Aom\->GetMassNumber(); | |
766 .Ve | |
767 .Sp | |
768 Returns atomic weight of an \fBAtom\fR which corresponds to either explicity set \fIMassNumber\fR | |
769 atom property or mass number of the most abundant natural isotope of the corresponding element | |
770 in the periodic table available by \fBPeriodicTable\fR module. | |
771 .IP "\fBGetMissingHydrogens\fR" 4 | |
772 .IX Item "GetMissingHydrogens" | |
773 .Vb 1 | |
774 \& $NumOfMissingHydrogens = $Atom\->GetMissingHydrogens(); | |
775 .Ve | |
776 .Sp | |
777 Returns number of missing hydrogens for an \fIAtom\fR in a molecule. This value either | |
778 corresponds to explicitly set \fIImplicitHydrogens\fR atom property or calculated as the | |
779 difference between the value of potential total valence and sum of bond orders to | |
780 both hydrogen and non-hydrogen atom neighbors. | |
781 .IP "\fBGetNeighbors\fR" 4 | |
782 .IX Item "GetNeighbors" | |
783 .Vb 2 | |
784 \& $NumOfNeighbors = $Atom\->GetNeighbors(); | |
785 \& @Neighbors = $Atom\->GetNeighbors(); | |
786 .Ve | |
787 .Sp | |
788 Returns number of neighbor atoms or an array of \fIAtom\fR objects corresponding to all | |
789 atoms bonded to an \fIAtom\fR in a molecule. | |
790 .IP "\fBGetNeighborsUsingAtomSpecification\fR" 4 | |
791 .IX Item "GetNeighborsUsingAtomSpecification" | |
792 .Vb 2 | |
793 \& @AtomNeighbors = $Atom\->GetNeighborsUsingAtomSpecification($AtomSpec); | |
794 \& $NumOfNeighbors = $Atom\->GetNeighborsUsingAtomSpecification($AtomSpec); | |
795 \& | |
796 \& @AtomNeighbors = $Atom\->GetNeighborsUsingAtomSpecification($AtomSpec, | |
797 \& @ExcludeNeighbors); | |
798 .Ve | |
799 .Sp | |
800 Returns number of neighbor atoms or an array of \fIAtom\fR objects matching atom | |
801 specification corresponding to atom neighbors of an \fIAtom\fR in a molecule. Optionally, | |
802 \&\fIAtom\fR neighbors can be excluded from the neighbors list using \fIExcludeNeighbors\fR. | |
803 .Sp | |
804 Notes: | |
805 .Sp | |
806 .Vb 3 | |
807 \& o AtomSpecification correspond to any valid AtomicInvariant based atomic specifications | |
808 \& as supported by DoesAtomNeighborhoodMatch method | |
809 \& o Multiple atom specifications can be used in a string delimited by comma | |
810 .Ve | |
811 .IP "\fBGetNonHydrogenAtomNeighbors\fR" 4 | |
812 .IX Item "GetNonHydrogenAtomNeighbors" | |
813 .Vb 2 | |
814 \& $NumOfNeighbors = $Atom\->GetNonHydrogenAtomNeighbors(); | |
815 \& @Neighbors = $Atom\->GetNonHydrogenAtomNeighbors(); | |
816 .Ve | |
817 .Sp | |
818 Returns number of non-hydrogen atoms or an array of \fBAtom\fR objects corresponding to non-hydrogen | |
819 atoms bonded to an \fIAtom\fR in a molecule. | |
820 .IP "\fBGetNonHydrogenAtomNeighborsAtomInformation\fR" 4 | |
821 .IX Item "GetNonHydrogenAtomNeighborsAtomInformation" | |
822 .Vb 3 | |
823 \& ($NumOfAtomNeighbors, $AtomNeighborsRef, | |
824 \& $NumOfAtomNeighborsType, $AtomNeighborsTypeMapRef) = $Atom\-> | |
825 \& GetNonHydrogenAtomNeighborsAtomInformation(); | |
826 .Ve | |
827 .Sp | |
828 Returns atoms information for all non-hydrogen atoms attached to an \fIAtom\fR | |
829 in a molecule. | |
830 .Sp | |
831 The following values are returned: | |
832 .Sp | |
833 .Vb 6 | |
834 \& o Number of non\-hydrogen atom neighbors | |
835 \& o A reference to an array containing atom objects corresponding to | |
836 \& non\-hydrogen atom neighbors | |
837 \& o Number of different types of non\-hydrogen atom neighbors | |
838 \& o A reference to a hash containing atom symbol as key with value | |
839 \& corresponding to its count for non\-hydrogen atom neighbors | |
840 .Ve | |
841 .IP "\fBGetNonHydrogenAtomNeighborsBondInformation\fR" 4 | |
842 .IX Item "GetNonHydrogenAtomNeighborsBondInformation" | |
843 .Vb 4 | |
844 \& ($NumOfBonds, $BondTypeCountMapRef, | |
845 \& $AtomsBondTypesCountMapRef, | |
846 \& $AtomsBondTypeAtomsMap) = $Atom\-> | |
847 \& GetNonHydrogenAtomNeighborsBondInformation(); | |
848 .Ve | |
849 .Sp | |
850 Returns bonds information for all non-hydrogen atoms attached to an \fIAtom\fR | |
851 in a molecule. | |
852 .Sp | |
853 The following values are returned: | |
854 .Sp | |
855 .Vb 12 | |
856 \& o Number of bonds to non\-hydrogen atom neighbors | |
857 \& o A reference to an array containing bond objects corresponding to | |
858 \& non\-hydrogen atom neighbors | |
859 \& o A reference to a hash containing bond type as key with value | |
860 \& corresponding to its count for non\-hydrogen atom neighbors. Bond | |
861 \& types are: Single, Double or Triple | |
862 \& o A reference to a hash containing atom symbol as key pointing to bond | |
863 \& type as second key with values corresponding to count of bond types for atom | |
864 \& symbol for non\-hydrogen atom neighbors | |
865 \& o A reference to a hash containing atom symbol as key pointing to bond | |
866 \& type as second key with values corresponding to atom objects array involved | |
867 \& in corresponding bond type for atom symbol for non\-hydrogen atom neighbors | |
868 .Ve | |
869 .IP "\fBGetNonHydrogenNeighborOfHydrogenAtom\fR" 4 | |
870 .IX Item "GetNonHydrogenNeighborOfHydrogenAtom" | |
871 .Vb 1 | |
872 \& $Atom = $Atom\->GetNonHydrogenNeighborOfHydrogenAtom(); | |
873 .Ve | |
874 .Sp | |
875 Returns non-hydrogen or heavy atom neighbor of a hydrogen atom in a molecule.. | |
876 .IP "\fBGetNumOfAromaticBondsToHeavyAtoms\fR" 4 | |
877 .IX Item "GetNumOfAromaticBondsToHeavyAtoms" | |
878 .Vb 1 | |
879 \& $NumOfBonds = $Atom\->GetNumOfAromaticBondsToHeavyAtoms(); | |
880 .Ve | |
881 .Sp | |
882 Returns number of aromatic bonds from an \fIAtom\fR to other non-hydrogen or heavy atoms in | |
883 a molecule. | |
884 .IP "\fBGetNumOfAromaticBondsToNonHydrogenAtoms\fR" 4 | |
885 .IX Item "GetNumOfAromaticBondsToNonHydrogenAtoms" | |
886 .Vb 1 | |
887 \& $NumOfBonds = $Atom\->GetNumOfAromaticBondsToNonHydrogenAtoms(); | |
888 .Ve | |
889 .Sp | |
890 Returns number of aromatic bonds from an \fIAtom\fR to other non-hydrogen or heavy atoms in | |
891 a molecule. | |
892 .IP "\fBGetNumOfBonds\fR" 4 | |
893 .IX Item "GetNumOfBonds" | |
894 .Vb 1 | |
895 \& $NumOfBonds = $Atom\->GetNumOfBonds(); | |
896 .Ve | |
897 .Sp | |
898 Returns number of bonds from an \fIAtom\fR to other atoms in a molecule. | |
899 .IP "\fBGetNumOfBondsAvailableForHeavyAtoms\fR" 4 | |
900 .IX Item "GetNumOfBondsAvailableForHeavyAtoms" | |
901 .Vb 1 | |
902 \& $NumOfBonds = $Atom\->GetNumOfBondsAvailableForHeavyAtoms(); | |
903 .Ve | |
904 .Sp | |
905 Get number of bonds available to form additional bonds with heavy atoms, excluding | |
906 any implicit bonds to hydrogens set using \fIImplicitHydrogens\fR property. | |
907 .Sp | |
908 It's different from number of implicit or missing hydrogens, both of which are equivalent. | |
909 .Sp | |
910 For example, in a \s-1SMILES\s0 string, [nH] ring atom corresponds to an aromatic nitrogen. | |
911 Although the hydrogen specified for n is treated internally as implicit hydrogen and shows | |
912 up in missing hydrogen count, it's not available to participate in double bonds to additional | |
913 heavy atoms. | |
914 .IP "\fBGetNumOfBondsAvailableForNonHydrogenAtoms\fR" 4 | |
915 .IX Item "GetNumOfBondsAvailableForNonHydrogenAtoms" | |
916 .Vb 1 | |
917 \& $NumOfBonds = $Atom\->GetNumOfBondsAvailableForNonHydrogenAtoms(); | |
918 .Ve | |
919 .Sp | |
920 Get number of bonds available to form additional bonds with heavy atoms, excluding | |
921 any implicit bonds to hydrogens set using ImplicitHydrogens property. | |
922 .IP "\fBGetNumOfBondsToHeavyAtoms\fR" 4 | |
923 .IX Item "GetNumOfBondsToHeavyAtoms" | |
924 .Vb 1 | |
925 \& $NumOfBondsToHeavyAtoms = $Atom\->GetNumOfBondsToHeavyAtoms(); | |
926 .Ve | |
927 .Sp | |
928 Returns number of bonds from an \fIAtom\fR to other heavy atoms in a molecule. | |
929 .IP "\fBGetNumOfBondsToHydrogenAtoms\fR" 4 | |
930 .IX Item "GetNumOfBondsToHydrogenAtoms" | |
931 .Vb 1 | |
932 \& $NumOfBonds = $Atom\->GetNumOfBondsToHydrogenAtoms(); | |
933 .Ve | |
934 .Sp | |
935 Returns number of bonds from an \fIAtom\fR to other hydrogen atoms in a molecule. | |
936 .IP "\fBGetNumOfBondsToNonHydrogenAtoms\fR" 4 | |
937 .IX Item "GetNumOfBondsToNonHydrogenAtoms" | |
938 .Vb 1 | |
939 \& $NumOfBonds = $Atom\->GetNumOfBondsToNonHydrogenAtoms(); | |
940 .Ve | |
941 .Sp | |
942 Returns number of bonds from an \fIAtom\fR to other non-hydrogen atoms in a molecule. | |
943 .IP "\fBGetNumOfBondTypesToHeavyAtoms\fR" 4 | |
944 .IX Item "GetNumOfBondTypesToHeavyAtoms" | |
945 .Vb 3 | |
946 \& ($NumOfSingleBonds, $NumOfDoubleBonds, | |
947 \& $NumOfTripleBonds, $NumOfAromaticBonds) = $Atom\-> | |
948 \& GetNumOfBondTypesToHeavyAtoms($CountAromaticBonds); | |
949 .Ve | |
950 .Sp | |
951 Get number of single, double, triple, and aromatic bonds from an \fIAtom\fR to all other | |
952 non-hydrogen atoms in a molecule. | |
953 .Sp | |
954 Value of \fICountAtomaticBonds\fR parameter controls whether number of aromatic | |
955 bonds is returned; default is not to count aromatic bonds. During counting of | |
956 aromatic bonds, the bond marked aromatic is not included in the count | |
957 of other bond types. | |
958 .IP "\fBGetNumOfBondTypesToNonHydrogenAtoms\fR" 4 | |
959 .IX Item "GetNumOfBondTypesToNonHydrogenAtoms" | |
960 .Vb 3 | |
961 \& ($NumOfSingleBonds, $NumOfDoubleBonds, | |
962 \& $NumOfTripleBonds, $NumOfAromaticBonds) = $Atom\-> | |
963 \& GetNumOfBondTypesToNonHydrogenAtoms($CountAromaticBonds); | |
964 .Ve | |
965 .Sp | |
966 Get number of single, double, triple, and aromatic bonds from an \fIAtom\fR to all other | |
967 non-hydrogen atoms in a molecule. | |
968 .Sp | |
969 Value of \fICountAtomaticBonds\fR parameter controls whether number of aromatic | |
970 bonds is returned; default is not to count aromatic bonds. During counting of | |
971 aromatic bonds, the bond marked aromatic is not included in the count | |
972 of other bond types. | |
973 .IP "\fBGetNumOfDoubleBondsToHeavyAtoms\fR" 4 | |
974 .IX Item "GetNumOfDoubleBondsToHeavyAtoms" | |
975 .Vb 1 | |
976 \& $NumOfDoubleBonds = $Atom\->GetNumOfDoubleBondsToHeavyAtoms(); | |
977 .Ve | |
978 .Sp | |
979 Returns number of double bonds from an \fIAtom\fR to other heavy atoms or non-hydrogen | |
980 atoms in a molecule. | |
981 .IP "\fBGetNumOfDoubleBondsToNonHydrogenAtoms\fR" 4 | |
982 .IX Item "GetNumOfDoubleBondsToNonHydrogenAtoms" | |
983 .Vb 1 | |
984 \& $NumOfDoubleBonds =$Atom\->GetNumOfDoubleBondsToNonHydrogenAtoms(); | |
985 .Ve | |
986 .Sp | |
987 Returns number of double bonds from an \fIAtom\fR to other heavy atoms or non-hydrogen | |
988 atoms in a molecule. | |
989 .IP "\fBGetNumOfHeavyAtomNeighbors\fR" 4 | |
990 .IX Item "GetNumOfHeavyAtomNeighbors" | |
991 .Vb 1 | |
992 \& $NumOfNeighbors = $Atom\->GetNumOfHeavyAtomNeighbors(); | |
993 .Ve | |
994 .Sp | |
995 Returns number heavy atom neighbors for an \fIAtom\fR in a molecule. | |
996 .IP "\fBGetNumOfHydrogenAtomNeighbors\fR" 4 | |
997 .IX Item "GetNumOfHydrogenAtomNeighbors" | |
998 .Vb 1 | |
999 \& $NumOfNeighbors = $Atom\->GetNumOfHydrogenAtomNeighbors(); | |
1000 .Ve | |
1001 .Sp | |
1002 Returns number hydrogens atom neighbors for an \fIAtom\fR in a molecule. | |
1003 .IP "\fBGetNumOfMissingHydrogens\fR" 4 | |
1004 .IX Item "GetNumOfMissingHydrogens" | |
1005 .Vb 1 | |
1006 \& $NumOfMissingHydrogens = $Atom\->GetNumOfMissingHydrogens(); | |
1007 .Ve | |
1008 .Sp | |
1009 Returns number of implicit hydrogens for an \fIAtom\fR in a molecule. This value either | |
1010 corresponds to explicitly set \fIImplicitHydrogens\fR atom property or calculated as the | |
1011 difference between the value of potential total valence and sum of bond orders to | |
1012 both hydrogen and non-hydrogen atom neighbors. | |
1013 .IP "\fBGetNumOfExplicitHydrogens\fR" 4 | |
1014 .IX Item "GetNumOfExplicitHydrogens" | |
1015 .Vb 1 | |
1016 \& $NumOfExplicitHydrogens = $Atom\->GetNumOfExplicitHydrogens(); | |
1017 .Ve | |
1018 .Sp | |
1019 Returns number hydrogens atom neighbors for an \fIAtom\fR in a molecule. | |
1020 .IP "\fBGetNumOfHydrogens\fR" 4 | |
1021 .IX Item "GetNumOfHydrogens" | |
1022 .Vb 1 | |
1023 \& $NumOfHydrogens = $Atom\->GetNumOfHydrogens(); | |
1024 .Ve | |
1025 .Sp | |
1026 Returns total number of hydrogens for an \fIAtom\fR in a molecule including both hydrogen atom | |
1027 neighbors and implicit hydrogens. | |
1028 .IP "\fBGetNumOfImplicitHydrogens\fR" 4 | |
1029 .IX Item "GetNumOfImplicitHydrogens" | |
1030 .Vb 1 | |
1031 \& $NumOfImplicitHydrogens = $Atom\->GetNumOfImplicitHydrogens(); | |
1032 .Ve | |
1033 .Sp | |
1034 Returns number of implicit hydrogens for an \fIAtom\fR in a molecule. This value either | |
1035 corresponds to explicitly set \fIImplicitHydrogens\fR atom property or calculated as the | |
1036 difference between the value of potential total valence and sum of bond orders to | |
1037 both hydrogen and non-hydrogen atom neighbors. | |
1038 .IP "\fBGetNumOfNeighbors\fR" 4 | |
1039 .IX Item "GetNumOfNeighbors" | |
1040 .Vb 1 | |
1041 \& $NumOfNeighbors = $Atom\->GetNumOfNeighbors(); | |
1042 .Ve | |
1043 .Sp | |
1044 Returns number atom neighbors for an \fIAtom\fR in a molecule. | |
1045 .IP "\fBGetNumOfNonHydrogenAtomNeighbors\fR" 4 | |
1046 .IX Item "GetNumOfNonHydrogenAtomNeighbors" | |
1047 .Vb 1 | |
1048 \& $NumNeighbors = $This\->GetNumOfNonHydrogenAtomNeighbors(); | |
1049 .Ve | |
1050 .Sp | |
1051 Returns number non-hydrogens atom neighbors for an \fIAtom\fR in a molecule. | |
1052 .IP "\fBGetNumOfRings\fR" 4 | |
1053 .IX Item "GetNumOfRings" | |
1054 .Vb 1 | |
1055 \& $NumOfRings = $Atom\->GetNumOfRings(); | |
1056 .Ve | |
1057 .Sp | |
1058 Returns number of rings containing \fIAtom\fR in a molecule. | |
1059 .IP "\fBGetNumOfRingsWithEvenSize\fR" 4 | |
1060 .IX Item "GetNumOfRingsWithEvenSize" | |
1061 .Vb 1 | |
1062 \& $NumOfRings = $Atom\->GetNumOfRingsWithEvenSize(); | |
1063 .Ve | |
1064 .Sp | |
1065 Returns number of rings with even size containing \fIAtom\fR in a molecule. | |
1066 .IP "\fBGetNumOfRingsWithOddSize\fR" 4 | |
1067 .IX Item "GetNumOfRingsWithOddSize" | |
1068 .Vb 1 | |
1069 \& $NumOfRings = $Atom\->GetNumOfRingsWithOddSize(); | |
1070 .Ve | |
1071 .Sp | |
1072 Returns number of rings with odd size containing \fIAtom\fR in a molecule. | |
1073 .IP "\fBGetNumOfRingsWithSize\fR" 4 | |
1074 .IX Item "GetNumOfRingsWithSize" | |
1075 .Vb 1 | |
1076 \& $NumOfRings = $Atom\->GetNumOfRingsWithSize($RingSize); | |
1077 .Ve | |
1078 .Sp | |
1079 Returns number of rings with specific \fIRingSize\fR containing \fIAtom\fR in a molecule. | |
1080 .IP "\fBGetNumOfRingsWithSizeGreaterThan\fR" 4 | |
1081 .IX Item "GetNumOfRingsWithSizeGreaterThan" | |
1082 .Vb 1 | |
1083 \& $NumOfRings = $Atom\->GetNumOfRingsWithSizeGreaterThan($RingSize); | |
1084 .Ve | |
1085 .Sp | |
1086 Returns number of rings with size greater than specific \fIRingSize\fR containing \fIAtom\fR | |
1087 in a molecule. | |
1088 .IP "\fBGetNumOfRingsWithSizeLessThan\fR" 4 | |
1089 .IX Item "GetNumOfRingsWithSizeLessThan" | |
1090 .Vb 1 | |
1091 \& $NumOfRings = $Atom\->GetNumOfRingsWithSizeLessThan($RingSize); | |
1092 .Ve | |
1093 .Sp | |
1094 Returns number of rings with size less than specific \fIRingSize\fR containing \fIAtom\fR in a molecule. | |
1095 .IP "\fBGetNumOfSigmaAndPiBondsToHeavyAtoms\fR" 4 | |
1096 .IX Item "GetNumOfSigmaAndPiBondsToHeavyAtoms" | |
1097 .Vb 2 | |
1098 \& ($NumOfSigmaBonds, $NumOfPiBonds) = $Atom\-> | |
1099 \& GetNumOfSigmaAndPiBondsToHeavyAtoms(); | |
1100 .Ve | |
1101 .Sp | |
1102 Get number of sigma and pi bonds from an \fIAtom\fR to all other non-hydrogen | |
1103 atoms in a molecule. | |
1104 .Sp | |
1105 Sigma and pi bonds are counted using the following methodology: a single bond | |
1106 correspond to one sigma bond; a double bond contributes one to sigma bond count | |
1107 and one to pi bond count; a triple bond contributes one to sigma bond count and | |
1108 two to pi bond count. | |
1109 .IP "\fBGetNumOfSigmaAndPiBondsToNonHydrogenAtoms\fR" 4 | |
1110 .IX Item "GetNumOfSigmaAndPiBondsToNonHydrogenAtoms" | |
1111 .Vb 2 | |
1112 \& ($NumOfSigmaBonds, $NumOfPiBonds) = $Atom\-> | |
1113 \& GetNumOfSigmaAndPiBondsToNonHydrogenAtoms(); | |
1114 .Ve | |
1115 .Sp | |
1116 Get number of sigma and pi bonds from an \fIAtom\fR to all other non-hydrogen | |
1117 atoms in a molecule. | |
1118 .Sp | |
1119 Sigma and pi bonds are counted using the following methodology: a single bond | |
1120 correspond to one sigma bond; a double bond contributes one to sigma bond count | |
1121 and one to pi bond count; a triple bond contributes one to sigma bond count and | |
1122 two to pi bond count. | |
1123 .IP "\fBGetNumOfSingleBondsToNonHydrogenAtoms\fR" 4 | |
1124 .IX Item "GetNumOfSingleBondsToNonHydrogenAtoms" | |
1125 .Vb 1 | |
1126 \& $NumOfSingleBonds =$Atom\->GetNumOfSingleBondsToNonHydrogenAtoms(); | |
1127 .Ve | |
1128 .Sp | |
1129 Returns number of single bonds from an \fIAtom\fR to other heavy atoms or non-hydrogen | |
1130 atoms in a molecule. | |
1131 .IP "\fBGetNumOfSingleBondsToHeavyAtoms\fR" 4 | |
1132 .IX Item "GetNumOfSingleBondsToHeavyAtoms" | |
1133 .Vb 1 | |
1134 \& $NumOfSingleBonds = $Atom\->GetNumOfSingleBondsToHeavyAtoms(); | |
1135 .Ve | |
1136 .Sp | |
1137 Returns number of single bonds from an \fIAtom\fR to other heavy atoms or non-hydrogen | |
1138 atoms in a molecule. | |
1139 .IP "\fBGetNumOfTripleBondsToNonHydrogenAtoms\fR" 4 | |
1140 .IX Item "GetNumOfTripleBondsToNonHydrogenAtoms" | |
1141 .Vb 1 | |
1142 \& $NumOfTripleBonds =$Atom\->GetNumOfTripleBondsToNonHydrogenAtoms(); | |
1143 .Ve | |
1144 .Sp | |
1145 Returns number of triple bonds from an \fIAtom\fR to other heavy atoms or non-hydrogen | |
1146 atoms in a molecule. | |
1147 .IP "\fBGetNumOfTripleBondsToHeavyAtoms\fR" 4 | |
1148 .IX Item "GetNumOfTripleBondsToHeavyAtoms" | |
1149 .Vb 1 | |
1150 \& $NumOfTripleBonds = $Atom\->GetNumOfTripleBondsToHeavyAtoms(); | |
1151 .Ve | |
1152 .Sp | |
1153 Returns number of triple bonds from an \fIAtom\fR to other heavy atoms or non-hydrogen | |
1154 atoms in a molecule. | |
1155 .IP "\fBGetPeriodNumber\fR" 4 | |
1156 .IX Item "GetPeriodNumber" | |
1157 .Vb 1 | |
1158 \& $PeriodNumber = $Atom\->GetPeriodNumber(); | |
1159 .Ve | |
1160 .Sp | |
1161 Returns periodic table period number for an \fIAtom\fR in a molecule with a valid atomic number . | |
1162 .IP "\fBGetRings\fR" 4 | |
1163 .IX Item "GetRings" | |
1164 .Vb 1 | |
1165 \& @Rings = $Aotm\->GetRings(); | |
1166 .Ve | |
1167 .Sp | |
1168 Returns an array of references to arrays containing ring atoms corressponding to all rings containing | |
1169 \&\fIAtom\fR in a molecule. | |
1170 .IP "\fBGetRingsWithEvenSize\fR" 4 | |
1171 .IX Item "GetRingsWithEvenSize" | |
1172 .Vb 1 | |
1173 \& @Rings = $Aotm\->GetRingsWithEvenSize(); | |
1174 .Ve | |
1175 .Sp | |
1176 Returns an array of references to arrays containing ring atoms corressponding to all rings with even size | |
1177 containing \fIAtom\fR in a molecule. | |
1178 .IP "\fBGetRingsWithOddSize\fR" 4 | |
1179 .IX Item "GetRingsWithOddSize" | |
1180 .Vb 1 | |
1181 \& @Rings = $Aotm\->GetRingsWithOddSize(); | |
1182 .Ve | |
1183 .Sp | |
1184 Returns an array of references to arrays containing ring atoms corressponding to all rings with odd size | |
1185 containing \fIAtom\fR in a molecule. | |
1186 .IP "\fBGetRingsWithSize\fR" 4 | |
1187 .IX Item "GetRingsWithSize" | |
1188 .Vb 1 | |
1189 \& @Rings = $Aotm\->GetRingsWithSize($RingSize); | |
1190 .Ve | |
1191 .Sp | |
1192 Returns an array of references to arrays containing ring atoms corressponding to all rings with specific | |
1193 \&\fIRingSize \fRcontaining \fIAtom\fR in a molecule. | |
1194 .IP "\fBGetRingsWithSizeGreaterThan\fR" 4 | |
1195 .IX Item "GetRingsWithSizeGreaterThan" | |
1196 .Vb 1 | |
1197 \& @Rings = $Aotm\->GetRingsWithSizeGreaterThan($RingSize); | |
1198 .Ve | |
1199 .Sp | |
1200 Returns an array of references to arrays containing ring atoms corressponding to all rings with size | |
1201 greater than specific \fIRingSize \fRcontaining \fIAtom\fR in a molecule. | |
1202 .IP "\fBGetRingsWithSizeLessThan\fR" 4 | |
1203 .IX Item "GetRingsWithSizeLessThan" | |
1204 .Vb 1 | |
1205 \& @Rings = $Aotm\->GetRingsWithSizeLessThan($RingSize); | |
1206 .Ve | |
1207 .Sp | |
1208 Returns an array of references to arrays containing ring atoms corressponding to all rings with size | |
1209 less than specific \fIRingSize \fRcontaining \fIAtom\fR in a molecule. | |
1210 .IP "\fBGetSizeOfLargestRing\fR" 4 | |
1211 .IX Item "GetSizeOfLargestRing" | |
1212 .Vb 1 | |
1213 \& $Size = $Atom\->GetSizeOfLargestRing(); | |
1214 .Ve | |
1215 .Sp | |
1216 Returns size of the largest ring containing \fIAtom\fR in a molecule. | |
1217 .IP "\fBGetSizeOfSmallestRing\fR" 4 | |
1218 .IX Item "GetSizeOfSmallestRing" | |
1219 .Vb 1 | |
1220 \& $Size = $Atom\->GetSizeOfSmallestRing(); | |
1221 .Ve | |
1222 .Sp | |
1223 Returns size of the smallest ring containing \fIAtom\fR in a molecule. | |
1224 .IP "\fBGetSmallestRing\fR" 4 | |
1225 .IX Item "GetSmallestRing" | |
1226 .Vb 1 | |
1227 \& @RingAtoms = $Atom\->GetSmallestRing(); | |
1228 .Ve | |
1229 .Sp | |
1230 Returns an array of ring \fIAtom\fR objects corresponding to the largest ring containing \fIAtom\fR | |
1231 in a molecule. | |
1232 .IP "\fBGetSpinMultiplicity\fR" 4 | |
1233 .IX Item "GetSpinMultiplicity" | |
1234 .Vb 1 | |
1235 \& $SpinMultiplicity = $Atom\->GetSpinMultiplicity(); | |
1236 .Ve | |
1237 .Sp | |
1238 Returns spin multiplicity of an \fIAtom\fR corresponding to one of these three | |
1239 values: explicitly set \fBSpinMultiplicity\fR property value; calculated from | |
1240 \&\fBFreeRadicalElectrons\fR property; value of 0. | |
1241 .Sp | |
1242 The \fBSpinMultiplicity\fR is calculate from \fIFreeRadicalElectrons\fR property as | |
1243 follows: | |
1244 .Sp | |
1245 .Vb 3 | |
1246 \& FreeRadicalElectrons: 1; SpinMultiplicity: 2 | |
1247 \& FreeRadicalElectrons: 2; SpinMultiplicity: 1 | |
1248 \& FreeRadicalElectrons: other; SpinMultiplicity: 0 | |
1249 .Ve | |
1250 .IP "\fBGetSumOfBondOrders\fR" 4 | |
1251 .IX Item "GetSumOfBondOrders" | |
1252 .Vb 1 | |
1253 \& $SumBondOrders = $Atom\->GetSumOfBondOrders(); | |
1254 .Ve | |
1255 .Sp | |
1256 Returns sum of bond orders corresponding to all atoms bonded to an \fIAtom\fR in a molecule. | |
1257 .IP "\fBGetSumOfBondOrdersToHeavyAtoms\fR" 4 | |
1258 .IX Item "GetSumOfBondOrdersToHeavyAtoms" | |
1259 .Vb 1 | |
1260 \& $SumBondOrders = $Atom\->GetSumOfBondOrdersToHeavyAtoms(); | |
1261 .Ve | |
1262 .Sp | |
1263 Returns sum of bond orders corresponding to all heavy atoms bonded to an \fIAtom\fR in a molecule. | |
1264 .IP "\fBGetSumOfBondOrdersToHydrogenAtoms\fR" 4 | |
1265 .IX Item "GetSumOfBondOrdersToHydrogenAtoms" | |
1266 .Vb 1 | |
1267 \& $SumBondOrders = $Atom\->GetSumOfBondOrdersToHydrogenAtoms(); | |
1268 .Ve | |
1269 .Sp | |
1270 Returns sum of bond orders corresponding to all hydrogen atoms bonded to an \fIAtom\fR in a molecule. | |
1271 .IP "\fBGetSumOfBondOrdersToNonHydrogenAtoms\fR" 4 | |
1272 .IX Item "GetSumOfBondOrdersToNonHydrogenAtoms" | |
1273 .Vb 1 | |
1274 \& $SumBondOrders = $Atom\->GetSumOfBondOrdersToNonHydrogenAtoms(); | |
1275 .Ve | |
1276 .Sp | |
1277 Returns sum of bond orders corresponding to all non-hydrogen atoms bonded to an \fIAtom\fR | |
1278 in a molecule. | |
1279 .IP "\fBGetValence\fR" 4 | |
1280 .IX Item "GetValence" | |
1281 .Vb 1 | |
1282 \& $Valence = $Atom\->GetValence(); | |
1283 .Ve | |
1284 .Sp | |
1285 Returns valence of an \fIAtom\fR in a molecule. Valence corresponds to number of electrons used | |
1286 by an atom in bonding: | |
1287 .Sp | |
1288 .Vb 1 | |
1289 \& Valence = ValenceElectrons \- ValenceFreeElectrons = BondingElectrons | |
1290 .Ve | |
1291 .Sp | |
1292 Single, double and triple bonds with bond orders of 1, 2, and 3 correspond to | |
1293 contribution of 1, 2, and 3 bonding electrons. So: | |
1294 .Sp | |
1295 .Vb 1 | |
1296 \& Valence = SumOfBondOrders + NumOfMissingHydrogens + FormalCharge | |
1297 .Ve | |
1298 .Sp | |
1299 where positive and negative values of FormalCharge increase and decrease the number of bonding | |
1300 electrons, respectively. | |
1301 .Sp | |
1302 The current release of MayaChemTools supports the following three valence models, which | |
1303 are used during calculation of implicit hydrogens: MDLValenceModel, DaylightValenceModel, | |
1304 InternalValenceModel or MayaChemToolsValenceModel. | |
1305 .Sp | |
1306 Notes: | |
1307 .Sp | |
1308 .Vb 10 | |
1309 \& . Missing hydrogens are included in the valence. | |
1310 \& . For neutral molecules, valence and sum of bond orders are equal. | |
1311 \& . For molecules containing only single bonds, SumOfBondOrders and | |
1312 \& NumOfBonds are equal. | |
1313 \& . Free radical electrons lead to the decrease in valence. For atoms with | |
1314 \& explicit assignment of SpinMultiplicity property values corresponding to | |
1315 \& Singlet (two unparied electrons corresponding to one spin state), Doublet | |
1316 \& (free radical; an unpaired electron corresponding to two spin states), | |
1317 \& and Triplet (two unparied electrons corresponding to three spin states; | |
1318 \& divalent carbon atoms (carbenes)), FreeRadicalElectrons are calculated as follows: | |
1319 \& | |
1320 \& SpinMultiplicity: Doublet(2); FreeRadicalElectrons: 1 (one valence | |
1321 \& electron not available for bonding) | |
1322 \& SpinMultiplicity: Singlet(1)/Triplet(3); FreeRadicalElectrons: 2 (two | |
1323 \& valence electrons not available for bonding) | |
1324 .Ve | |
1325 .IP "\fBGetValenceElectrons\fR" 4 | |
1326 .IX Item "GetValenceElectrons" | |
1327 .Vb 1 | |
1328 \& $ValenceElectrons = $Atom\->GetValenceElectrons(); | |
1329 .Ve | |
1330 .Sp | |
1331 Returns valence electrons for an \fBAtom\fR which corresponds to either explicity set \fIValenceElectrons\fR | |
1332 atom property or valence electrons for the corresponding element in the periodic table available by | |
1333 \&\fBPeriodicTable\fR module. | |
1334 .IP "\fBGetValenceFreeElectrons\fR" 4 | |
1335 .IX Item "GetValenceFreeElectrons" | |
1336 .Vb 3 | |
1337 \& $ValenceFreeElectrons = $Atom\->GetValenceFreeElectrons(); | |
1338 \& $ValenceFreeElectrons = $Atom\->GetValenceFreeElectrons( | |
1339 \& $ExcludeFreeRadicalElectrons); | |
1340 .Ve | |
1341 .Sp | |
1342 Returns valence frees electrons for an \fBAtom\fR in a molecule. It corresponds to: | |
1343 .Sp | |
1344 .Vb 3 | |
1345 \& ValenceElectrons \- Valence | |
1346 \& or | |
1347 \& ValenceElectrons \- NumOfMissingHydrogens \- SumOfBondOrders \- FormalCharge | |
1348 .Ve | |
1349 .Sp | |
1350 Free radical electrons are included in the valence free electrons count by default. | |
1351 .Sp | |
1352 Examples: | |
1353 .Sp | |
1354 .Vb 6 | |
1355 \& NH3: ValenceFreeElectrons = 5 \- 3 = 5 \- 3 \- 0 \- 0 = 2 | |
1356 \& NH2: ValenceFreeElectrons = 5 \- 3 = 5 \- 2 \- 1 \- 0 = 2 | |
1357 \& NH4+; ValenceFreeElectrons = 5 \- 5 = 5 \- 4 \- 0 \- 1 = 0 | |
1358 \& NH3+; ValenceFreeElectrons = 5 \- 5 = 5 \- 3 \- 1 \- 1 = 0 | |
1359 \& C(=O)O\- : ValenceFreeElectrons on O\- = 6 \- 0 = 6 \- 1 \- 0 \- (\-1) = 6 | |
1360 \& C(=O)O\- : ValenceFreeElectrons on =O = 6 \- 2 = 6 \- 2 \- 0 \- 0 = 4 | |
1361 .Ve | |
1362 .IP "\fBGetX\fR" 4 | |
1363 .IX Item "GetX" | |
1364 .Vb 1 | |
1365 \& $X = $Atom\->GetX(); | |
1366 .Ve | |
1367 .Sp | |
1368 Returns value of X\-coordinate for an \fIAtom\fR. | |
1369 .IP "\fBGetXYZ\fR" 4 | |
1370 .IX Item "GetXYZ" | |
1371 .Vb 2 | |
1372 \& @XYZ = $Atom\->GetXYZ(); | |
1373 \& $XYZRef = $Atom\->GetXYZ(); | |
1374 .Ve | |
1375 .Sp | |
1376 Returns an array or a reference to an array containing values for \fIAtom\fR coordinates. | |
1377 .IP "\fBGetXYZVector\fR" 4 | |
1378 .IX Item "GetXYZVector" | |
1379 .Vb 1 | |
1380 \& $XYZVector = $Atom\->GetXYZVector(); | |
1381 .Ve | |
1382 .Sp | |
1383 Returns a \fIVector\fR object containing values for \fIAtom\fR coordinates | |
1384 .IP "\fBGetY\fR" 4 | |
1385 .IX Item "GetY" | |
1386 .Vb 1 | |
1387 \& $Y = $Atom\->GetY(); | |
1388 .Ve | |
1389 .Sp | |
1390 Returns value of Y\-coordinate for an \fIAtom\fR. | |
1391 .IP "\fBGetZ\fR" 4 | |
1392 .IX Item "GetZ" | |
1393 .Vb 1 | |
1394 \& $Z = $Atom\->GetZ(); | |
1395 .Ve | |
1396 .Sp | |
1397 Returns value of Z\-coordinate for an \fIAtom\fR. | |
1398 .IP "\fBIsAmideCarbon\fR" 4 | |
1399 .IX Item "IsAmideCarbon" | |
1400 .Vb 1 | |
1401 \& $Status = $Atom\->IsAmideCarbon(); | |
1402 .Ve | |
1403 .Sp | |
1404 Returns 1 or 0 based on whether it's amide carbon \fIAtom\fR. | |
1405 .Sp | |
1406 An amide group is defineds as: | |
1407 .Sp | |
1408 .Vb 1 | |
1409 \& R\-C(=O)\-N(\-R\*(Aq)\-R\*(Aq\*(Aq | |
1410 .Ve | |
1411 .Sp | |
1412 where: | |
1413 .Sp | |
1414 .Vb 5 | |
1415 \& o R = Hydrogen or groups of atoms attached through carbon | |
1416 \& o R\*(Aq = Hydrogens or groups of atoms attached through carbon or | |
1417 \& hetro atoms | |
1418 \& o R\*(Aq\*(Aq = Hydrogens or groups of atoms attached through carbon or | |
1419 \& hetro atoms | |
1420 .Ve | |
1421 .IP "\fBIsAmideNitrogen\fR" 4 | |
1422 .IX Item "IsAmideNitrogen" | |
1423 .Vb 1 | |
1424 \& $Status = $Atom\->IsAmideNitrogen(); | |
1425 .Ve | |
1426 .Sp | |
1427 Returns 1 or 0 based on whether it's amide nitrogen \fIAtom\fR. | |
1428 .IP "\fBIsAromatic\fR" 4 | |
1429 .IX Item "IsAromatic" | |
1430 .Vb 1 | |
1431 \& $Status = $Atom\->IsAromatic(); | |
1432 .Ve | |
1433 .Sp | |
1434 Returns 1 or 0 based on whether it's an aromatic \fIAtom\fR. | |
1435 .IP "\fBIsArsenic\fR" 4 | |
1436 .IX Item "IsArsenic" | |
1437 .Vb 1 | |
1438 \& $Status = $Atom\->IsArsenic(); | |
1439 .Ve | |
1440 .Sp | |
1441 Returns 1 or 0 based on whether it's an arsenic \fIAtom\fR. | |
1442 .IP "\fBIsBondedToAtom\fR" 4 | |
1443 .IX Item "IsBondedToAtom" | |
1444 .Vb 1 | |
1445 \& $Status = $Atom\->IsBondedToAtom($OtherAtom); | |
1446 .Ve | |
1447 .Sp | |
1448 Returns 1 or 0 based on whether \fIAtom\fR is bonded to \fIOtherAtom\fR. | |
1449 .IP "\fBIsBromine\fR" 4 | |
1450 .IX Item "IsBromine" | |
1451 .Vb 1 | |
1452 \& $Status = $Atom\->IsBromine(); | |
1453 .Ve | |
1454 .Sp | |
1455 Returns 1 or 0 based on whether it's a bromine \fIAtom\fR. | |
1456 .IP "\fBIsCarbon\fR" 4 | |
1457 .IX Item "IsCarbon" | |
1458 .Vb 1 | |
1459 \& $Status = $Atom\->IsCarbon(); | |
1460 .Ve | |
1461 .Sp | |
1462 Returns 1 or 0 based on whether it's a carbon \fIAtom\fR. | |
1463 .IP "\fBIsCarboxylCarbon\fR" 4 | |
1464 .IX Item "IsCarboxylCarbon" | |
1465 .Vb 1 | |
1466 \& $Status = $Atom\->IsCarboxylCarbon(); | |
1467 .Ve | |
1468 .Sp | |
1469 Returns 1 or 0 based on whether it's a carboxyl carbon atom in carboxyl group: | |
1470 R\-C(=O)\-OH. | |
1471 .IP "\fBIsCarboxylOxygen\fR" 4 | |
1472 .IX Item "IsCarboxylOxygen" | |
1473 .Vb 1 | |
1474 \& $Status = $Atom\->IsCarboxylOxygen(); | |
1475 .Ve | |
1476 .Sp | |
1477 Returns 1 or 0 based on whether it's a carboxyl oxygen atom in carboxyl group: | |
1478 R\-C(=O)\-OH. | |
1479 .IP "\fBIsCarboxylateCarbon\fR" 4 | |
1480 .IX Item "IsCarboxylateCarbon" | |
1481 .Vb 1 | |
1482 \& $Status = $Atom\->IsCarboxylateCarbon(); | |
1483 .Ve | |
1484 .Sp | |
1485 Returns 1 or 0 based on whether it's a carboxylate carbon atom in carboxyl group: | |
1486 R\-C(=O)\-O\-. | |
1487 .IP "\fBIsCarboxylateOxygen\fR" 4 | |
1488 .IX Item "IsCarboxylateOxygen" | |
1489 .Vb 1 | |
1490 \& $Status = $Atom\->IsCarboxylateOxygen(); | |
1491 .Ve | |
1492 .Sp | |
1493 Returns 1 or 0 based on whether it's a carboxylate oxygen atom in carboxyl group: | |
1494 R\-C(=O)\-O\-. | |
1495 .IP "\fBIsChlorine\fR" 4 | |
1496 .IX Item "IsChlorine" | |
1497 .Vb 1 | |
1498 \& $Status = $Atom\->IsChlorine(); | |
1499 .Ve | |
1500 .Sp | |
1501 Returns 1 or 0 based on whether it's a chlorine \fIAtom\fR. | |
1502 .IP "\fBIsFluorine\fR" 4 | |
1503 .IX Item "IsFluorine" | |
1504 .Vb 1 | |
1505 \& $Status = $Atom\->IsFluorine(); | |
1506 .Ve | |
1507 .Sp | |
1508 Returns 1 or 0 based on whether it's a fluorine \fIAtom\fR. | |
1509 .IP "\fBIsFunctionalClassType\fR" 4 | |
1510 .IX Item "IsFunctionalClassType" | |
1511 .Vb 1 | |
1512 \& $Status =$Atom\->IsFunctionalClassType($Type); | |
1513 .Ve | |
1514 .Sp | |
1515 Returns 1 or 0 based on whether it's a specified functional class \fIType\fR. | |
1516 .Sp | |
1517 The current release of MayaChemTools supports following abbreviations and descriptive | |
1518 names for \fIFunctionalClassType\fR: | |
1519 .Sp | |
1520 .Vb 9 | |
1521 \& HBD: HydrogenBondDonor | |
1522 \& HBA: HydrogenBondAcceptor | |
1523 \& PI : PositivelyIonizable | |
1524 \& NI : NegativelyIonizable | |
1525 \& Ar : Aromatic | |
1526 \& Hal : Halogen | |
1527 \& H : Hydrophobic | |
1528 \& RA : RingAtom | |
1529 \& CA : ChainAtom | |
1530 .Ve | |
1531 .Sp | |
1532 The following definitions are used to determine functional class types: [ Ref 60\-61, Ref 65\-66 ]: | |
1533 .Sp | |
1534 .Vb 4 | |
1535 \& HydrogenBondDonor: NH, NH2, OH | |
1536 \& HydrogenBondAcceptor: N[!H], O | |
1537 \& PositivelyIonizable: +, NH2 | |
1538 \& NegativelyIonizable: \-, C(=O)OH, S(=O)OH, P(=O)OH | |
1539 .Ve | |
1540 .IP "\fBIsGuadiniumCarbon\fR" 4 | |
1541 .IX Item "IsGuadiniumCarbon" | |
1542 .Vb 1 | |
1543 \& $Status = $Atom\->IsGuadiniumCarbon(); | |
1544 .Ve | |
1545 .Sp | |
1546 Returns 1 or 0 based on whether it's a guadinium carbon in guadinium group by | |
1547 checking its neighbors for a nitrogen in guadinium group. | |
1548 .IP "\fBIsGuadiniumNitrogen\fR" 4 | |
1549 .IX Item "IsGuadiniumNitrogen" | |
1550 .Vb 1 | |
1551 \& $Status = $Atom\->IsGuadiniumNitrogen(); | |
1552 .Ve | |
1553 .Sp | |
1554 Returns 1 or 0 based on whether it's a guadinium nitrogen in guadinium group. | |
1555 .Sp | |
1556 A guadinium group is defined as: | |
1557 .Sp | |
1558 .Vb 1 | |
1559 \& R2N\-C(=NR)\-(NR2) or R2N\-C(=NR2+)\-(NR2) | |
1560 .Ve | |
1561 .Sp | |
1562 where: | |
1563 .Sp | |
1564 .Vb 3 | |
1565 \& o R = Hydrogens or group of atoms attached through carbon | |
1566 \& o Only one of the three nitrogens has a double bond to carbon | |
1567 \& and has optional formal charge allowing it to be neutral or charged state | |
1568 .Ve | |
1569 .IP "\fBIsHBondAcceptor\fR" 4 | |
1570 .IX Item "IsHBondAcceptor" | |
1571 .Vb 2 | |
1572 \& $Status =$Atom\->IsHBondAcceptor(); | |
1573 \& $Status =$Atom\->IsHBondAcceptor($HydrogenBondsType); | |
1574 .Ve | |
1575 .Sp | |
1576 Returns 1 or 0 based on whether it's a hydrogen bond acceptor \fIAtom\fR. | |
1577 .IP "\fBIsHBondDonor\fR" 4 | |
1578 .IX Item "IsHBondDonor" | |
1579 .Vb 2 | |
1580 \& $Status =$Atom\->IsHBondDonor(); | |
1581 \& $Status =$Atom\->IsHBondDonor($HydrogenBondsType); | |
1582 .Ve | |
1583 .Sp | |
1584 Returns 1 or 0 based on whether it's a hydrogen bond donor \fIAtom\fR. | |
1585 .IP "\fBIsHydrogenBondAcceptor\fR" 4 | |
1586 .IX Item "IsHydrogenBondAcceptor" | |
1587 .Vb 2 | |
1588 \& $Status =$Atom\->IsHydrogenBondAcceptor(); | |
1589 \& $Status =$Atom\->IsHydrogenBondAcceptor($HydrogenBondsType); | |
1590 .Ve | |
1591 .Sp | |
1592 Returns 1 or 0 based on whether it's a hydrogen bond acceptor \fIAtom\fR. | |
1593 .IP "\fBIsHydrogenBondDonor\fR" 4 | |
1594 .IX Item "IsHydrogenBondDonor" | |
1595 .Vb 2 | |
1596 \& $Status =$Atom\->IsHydrogenBondDonor(); | |
1597 \& $Status =$Atom\->IsHydrogenBondDonor($HydrogenBondsType); | |
1598 .Ve | |
1599 .Sp | |
1600 Returns 1 or 0 based on whether it's a hydrogen bond donor \fIAtom\fR. | |
1601 .Sp | |
1602 The current release of MayaChemTools supports identification of two types of hydrogen bond | |
1603 donor and acceptor atoms with these names: | |
1604 .Sp | |
1605 .Vb 2 | |
1606 \& HBondsType1 or HydrogenBondsType1 | |
1607 \& HBondsType2 or HydrogenBondsType2 | |
1608 .Ve | |
1609 .Sp | |
1610 The names of these hydrogen bond types are rather arbitrary. However, their definitions have | |
1611 specific meaning and are as follows: | |
1612 .Sp | |
1613 .Vb 1 | |
1614 \& HydrogenBondsType1 [ Ref 60\-61, Ref 65\-66 ]: | |
1615 \& | |
1616 \& Donor: NH, NH2, OH \- Any N and O with available H | |
1617 \& Acceptor: N[!H], O \- Any N without available H and any O | |
1618 \& | |
1619 \& HydrogenBondsType2 [ Ref 91 ]: | |
1620 \& | |
1621 \& Donor: NH, NH2, OH \- N and O with available H | |
1622 \& Acceptor: N, O \- And N and O | |
1623 .Ve | |
1624 .Sp | |
1625 By default, \fIHydrogenBondsType1\fR is used to calculate number hydrogen bond donor | |
1626 and acceptor atoms. \fIHydrogenBondsType2\fR corresponds to \fBRuleOf5\fR definition | |
1627 of hydrogen bond donors and acceptors. | |
1628 .IP "\fBIsHalogen\fR" 4 | |
1629 .IX Item "IsHalogen" | |
1630 .Vb 1 | |
1631 \& $Status =$Atom\->IsHalogen(); | |
1632 .Ve | |
1633 .Sp | |
1634 Returns 1 or 0 based on whether it's a halogen \fIAtom\fR. | |
1635 .IP "\fBIsHeteroAtom\fR" 4 | |
1636 .IX Item "IsHeteroAtom" | |
1637 .Vb 1 | |
1638 \& $Status = $Atom\->IsHeteroAtom(); | |
1639 .Ve | |
1640 .Sp | |
1641 Returns 0 or 1 based on whether it's a hetro \fIAtom\fR. Following atoms are considered hetro atoms: | |
1642 \&\fBN, O, F, P, S, Cl, Br, I\fR. | |
1643 .IP "\fBIsHydrogen\fR" 4 | |
1644 .IX Item "IsHydrogen" | |
1645 .Vb 1 | |
1646 \& $Status = $Atom\->IsHydrogen(); | |
1647 .Ve | |
1648 .Sp | |
1649 Returns 1 or 0 based on whether it's a hydrogen \fIAtom\fR. | |
1650 .IP "\fBIsHydrophobic\fR" 4 | |
1651 .IX Item "IsHydrophobic" | |
1652 .Vb 1 | |
1653 \& $Status =$Atom\->IsHydrophobic(); | |
1654 .Ve | |
1655 .Sp | |
1656 Returns 1 or 0 based on whether it's a hydrophobic \fIAtom\fR. | |
1657 .IP "\fBIsInRing\fR" 4 | |
1658 .IX Item "IsInRing" | |
1659 .Vb 1 | |
1660 \& $Status = $Atom\->IsInRing(); | |
1661 .Ve | |
1662 .Sp | |
1663 Returns 1 or 0 based on whether \fIAtom\fR is present in a ring. | |
1664 .IP "\fBIsInRingOfSize\fR" 4 | |
1665 .IX Item "IsInRingOfSize" | |
1666 .Vb 1 | |
1667 \& $Status = $Atom\->IsInRingOfSize($Size); | |
1668 .Ve | |
1669 .Sp | |
1670 Returns 1 or 0 based on whether \fIAtom\fR is present in a ring of specific \fISize\fR. | |
1671 .IP "\fBIsIodine\fR" 4 | |
1672 .IX Item "IsIodine" | |
1673 .Vb 1 | |
1674 \& $Status = $Atom\->IsIodine(); | |
1675 .Ve | |
1676 .Sp | |
1677 Returns 1 or 0 based on whether it's an iodine \fIAtom\fR. | |
1678 .IP "\fBIsIsotope\fR" 4 | |
1679 .IX Item "IsIsotope" | |
1680 .Vb 1 | |
1681 \& $Status =$Atom\->IsIsotope(); | |
1682 .Ve | |
1683 .Sp | |
1684 Returns 1 or 0 based on whether it's an isotope \fIAtom\fR. | |
1685 .IP "\fBIsLipophilic\fR" 4 | |
1686 .IX Item "IsLipophilic" | |
1687 .Vb 1 | |
1688 \& $Status =$Atom\->IsLipophilic(); | |
1689 .Ve | |
1690 .Sp | |
1691 Returns 1 or 0 based on whether it's a lipophilic \fIAtom\fR. | |
1692 .IP "\fBIsMetallic\fR" 4 | |
1693 .IX Item "IsMetallic" | |
1694 .Vb 1 | |
1695 \& $Status = $Atom\->IsMetallic(); | |
1696 .Ve | |
1697 .Sp | |
1698 Returns 1 or 0 based on whether it's a metallic \fIAtom\fR. | |
1699 .IP "\fBIsNegativelyIonizable\fR" 4 | |
1700 .IX Item "IsNegativelyIonizable" | |
1701 .Vb 1 | |
1702 \& $Status =$Atom\->IsNegativelyIonizable(); | |
1703 .Ve | |
1704 .Sp | |
1705 Returns 1 or 0 based on whether it's a negatively ionizable atom \fIAtom\fR. | |
1706 .IP "\fBIsNitrogen\fR" 4 | |
1707 .IX Item "IsNitrogen" | |
1708 .Vb 1 | |
1709 \& $Status = $Atom\->IsNitrogen(); | |
1710 .Ve | |
1711 .Sp | |
1712 Returns 1 or 0 based on whether it's a nitrogen \fIAtom\fR. | |
1713 .IP "\fBIsNonCarbonOrHydrogen\fR" 4 | |
1714 .IX Item "IsNonCarbonOrHydrogen" | |
1715 .Vb 1 | |
1716 \& $Status =$Atom\->IsNonCarbonOrHydrogen(); | |
1717 .Ve | |
1718 .Sp | |
1719 Returns 1 or 0 based on whether it's not a carbon or hydrogen \fIAtom\fR. | |
1720 .IP "\fBIsNotInRing\fR" 4 | |
1721 .IX Item "IsNotInRing" | |
1722 .Vb 1 | |
1723 \& $Status = $Atom\->IsNotInRing(); | |
1724 .Ve | |
1725 .Sp | |
1726 Returns 1 or 0 based on whether \fIAtom\fR is not present in a ring. | |
1727 .IP "\fBIsOnlyInOneRing\fR" 4 | |
1728 .IX Item "IsOnlyInOneRing" | |
1729 .Vb 1 | |
1730 \& $Status = $Atom\->IsOnlyInOneRing(); | |
1731 .Ve | |
1732 .Sp | |
1733 Returns 1 or 0 based on whether \fIAtom\fR is only present in one ring. | |
1734 .IP "\fBIsOxygen\fR" 4 | |
1735 .IX Item "IsOxygen" | |
1736 .Vb 1 | |
1737 \& $Status = $Atom\->IsOxygen(); | |
1738 .Ve | |
1739 .Sp | |
1740 Returns 0 or 1 based on whether it's an oxygen \fIAtom\fR. | |
1741 .IP "\fBIsPhosphorus\fR" 4 | |
1742 .IX Item "IsPhosphorus" | |
1743 .Vb 1 | |
1744 \& $Status = $Atom\->IsPhosphorus(); | |
1745 .Ve | |
1746 .Sp | |
1747 Returns 0 or 1 based on whether it's a phosphorus \fIAtom\fR. | |
1748 .IP "\fBIsPhosphateOxygen\fR" 4 | |
1749 .IX Item "IsPhosphateOxygen" | |
1750 .Vb 1 | |
1751 \& $Status = $Atom\->IsPhosphateOxygen(); | |
1752 .Ve | |
1753 .Sp | |
1754 Returns 1 or 0 based on whether it's a phosphate oxygen in phosphate group. | |
1755 .Sp | |
1756 A phosphate group is defined as: | |
1757 .Sp | |
1758 .Vb 1 | |
1759 \& AO\-(O=)P(\-OA)\-OA | |
1760 .Ve | |
1761 .Sp | |
1762 Where: | |
1763 .Sp | |
1764 .Vb 1 | |
1765 \& A \- Any group of atoms including hydrogens | |
1766 .Ve | |
1767 .IP "\fBIsPhosphatePhosphorus\fR" 4 | |
1768 .IX Item "IsPhosphatePhosphorus" | |
1769 .Vb 1 | |
1770 \& $Status = $Atom\->IsPhosphatePhosphorus(); | |
1771 .Ve | |
1772 .Sp | |
1773 Returns 1 or 0 based on whether it's a phosphate phosphorus in phosphate group. | |
1774 .IP "\fBIsPolarAtom\fR" 4 | |
1775 .IX Item "IsPolarAtom" | |
1776 .Vb 1 | |
1777 \& $Status = $Atom\->IsPolarAtom(); | |
1778 .Ve | |
1779 .Sp | |
1780 Returns 0 or 1 based on whether it's a polar \fIAtom\fR. Following atoms are considered polar atoms: | |
1781 \&\fBN, O, P, S\fR. | |
1782 .IP "\fBIsPolarHydrogen\fR" 4 | |
1783 .IX Item "IsPolarHydrogen" | |
1784 .Vb 1 | |
1785 \& $Status = $Atom\->IsPolarHydrogen(); | |
1786 .Ve | |
1787 .Sp | |
1788 Returns 0 or 1 based on whether it's a hydrogen \fIAtom\fR bonded to a polar atom. | |
1789 .IP "\fBIsPositivelyIonizable\fR" 4 | |
1790 .IX Item "IsPositivelyIonizable" | |
1791 .Vb 1 | |
1792 \& $Status =$Atom\->IsPositivelyIonizable(); | |
1793 .Ve | |
1794 .Sp | |
1795 Returns 1 or 0 based on whether it's a positively ionizable \fIAtom\fR. | |
1796 .IP "\fBIsSaturated\fR" 4 | |
1797 .IX Item "IsSaturated" | |
1798 .Vb 1 | |
1799 \& $Status = $Atom\->IsSaturated(); | |
1800 .Ve | |
1801 .Sp | |
1802 Returns 1 or 0 based on whether it's a saturated \fIAtom\fR. An atom attached | |
1803 to other atoms with only single bonds is considered a saturated atom. | |
1804 .IP "\fBIsSelenium\fR" 4 | |
1805 .IX Item "IsSelenium" | |
1806 .Vb 1 | |
1807 \& $Status = $Atom\->IsSelenium(); | |
1808 .Ve | |
1809 .Sp | |
1810 Returns 0 or 1 based on whether it's a selenium \fIAtom\fR. | |
1811 .IP "\fBIsStereoCenter\fR" 4 | |
1812 .IX Item "IsStereoCenter" | |
1813 .Vb 1 | |
1814 \& $Status = $Atom\->IsStereoCenter(); | |
1815 .Ve | |
1816 .Sp | |
1817 Returns 0 or 1 based on whether it's marked as a stero center \fIAtom\fR by explicit setting | |
1818 of \fIStereoCenter\fR atom propert to value of \fI1\fR. | |
1819 .IP "\fBIsSilicon\fR" 4 | |
1820 .IX Item "IsSilicon" | |
1821 .Vb 1 | |
1822 \& $Status = $Atom\->IsSilicon(); | |
1823 .Ve | |
1824 .Sp | |
1825 Returns 0 or 1 based on whether it's a silicon \fIAtom\fR. | |
1826 .IP "\fBIsSulfur\fR" 4 | |
1827 .IX Item "IsSulfur" | |
1828 .Vb 1 | |
1829 \& $Status = $Atom\->IsSulfur(); | |
1830 .Ve | |
1831 .Sp | |
1832 Returns 0 or 1 based on whether it's a sulfur \fIAtom\fR. | |
1833 .IP "\fBIsSulphur\fR" 4 | |
1834 .IX Item "IsSulphur" | |
1835 .Vb 1 | |
1836 \& $Status = $Atom\->IsSulphur(); | |
1837 .Ve | |
1838 .Sp | |
1839 Returns 0 or 1 based on whether it's a sulfur \fIAtom\fR. | |
1840 .IP "\fBIsTellurium\fR" 4 | |
1841 .IX Item "IsTellurium" | |
1842 .Vb 1 | |
1843 \& $Status = $Atom\->IsTellurium(); | |
1844 .Ve | |
1845 .Sp | |
1846 Returns 0 or 1 based on whether it's a tellurium \fIAtom\fR. | |
1847 .IP "\fBIsTerminal\fR" 4 | |
1848 .IX Item "IsTerminal" | |
1849 .Vb 1 | |
1850 \& $Status = $Atom\->IsTerminal(); | |
1851 .Ve | |
1852 .Sp | |
1853 Returns 0 or 1 based on whether it's a terminal \fIAtom\fR attached to no | |
1854 more than one non-hydrogen atom. | |
1855 .IP "\fBIsUnsaturated\fR" 4 | |
1856 .IX Item "IsUnsaturated" | |
1857 .Vb 1 | |
1858 \& $Status = $Atom\->IsUnsaturated(); | |
1859 .Ve | |
1860 .Sp | |
1861 Returns 1 or 0 based on whether it's as unsaturated \fIAtom\fR. An atom attached | |
1862 to other atoms with at least one non-single bond is considered an unsaturated atom. | |
1863 .IP "\fBIsTopologicalPharmacophoreType\fR" 4 | |
1864 .IX Item "IsTopologicalPharmacophoreType" | |
1865 .Vb 1 | |
1866 \& $Status =$Atom\->IsTopologicalPharmacophoreType(); | |
1867 .Ve | |
1868 .Sp | |
1869 Returns 1 or 0 based on whether it's any of the supportyed topological pharmacophore | |
1870 \&\fIAtom\fR type. See \fIIsFunctionalClassType\fR for a list of supported types. | |
1871 .IP "\fBSetAtomSymbol\fR" 4 | |
1872 .IX Item "SetAtomSymbol" | |
1873 .Vb 1 | |
1874 \& $Atom\->SetAtomSymbol($AtomicSymbol); | |
1875 .Ve | |
1876 .Sp | |
1877 Sets atom symbol for \fIAtom\fR and returns \fIAtom\fR object. The appropriate atomic number is also | |
1878 set automatically. | |
1879 .IP "\fBSetAtomicNumber\fR" 4 | |
1880 .IX Item "SetAtomicNumber" | |
1881 .Vb 1 | |
1882 \& $Atom\->SetAtomicNumber($AtomicNumber); | |
1883 .Ve | |
1884 .Sp | |
1885 Sets atomic number for \fIAtom\fR and returns \fIAtom\fR object. The appropriate atom symbol is also | |
1886 set automatically. | |
1887 .IP "\fBSetMassNumber\fR" 4 | |
1888 .IX Item "SetMassNumber" | |
1889 .Vb 1 | |
1890 \& $Atom\->SetMassNumber($MassNumber); | |
1891 .Ve | |
1892 .Sp | |
1893 Sets mass number for \fIAtom\fR and returns \fIAtom\fR object. | |
1894 .IP "\fBSetStereoCenter\fR" 4 | |
1895 .IX Item "SetStereoCenter" | |
1896 .Vb 1 | |
1897 \& $Atom\->SetStereoCenter($StereoCenter); | |
1898 .Ve | |
1899 .Sp | |
1900 Sets stereo center for \fIAtom\fR and returns \fIAtom\fR object. | |
1901 .IP "\fBSetStereochemistry\fR" 4 | |
1902 .IX Item "SetStereochemistry" | |
1903 .Vb 1 | |
1904 \& $Atom\->SetStereochemistry($Stereochemistry); | |
1905 .Ve | |
1906 .Sp | |
1907 Sets stereo chemistry for \fIAtom\fR and returns \fIAtom\fR object. | |
1908 .IP "\fBSetX\fR" 4 | |
1909 .IX Item "SetX" | |
1910 .Vb 1 | |
1911 \& $Atom\->SetX($Value); | |
1912 .Ve | |
1913 .Sp | |
1914 Sets X\-coordinate value for \fIAtom\fR and returns \fIAtom\fR object. | |
1915 .IP "\fBSetXYZ\fR" 4 | |
1916 .IX Item "SetXYZ" | |
1917 .Vb 3 | |
1918 \& $Atom\->SetXYZ(@XYZValues); | |
1919 \& $Atom\->SetXYZ($XYZValuesRef); | |
1920 \& $Atom\->SetXYZ($XYZVector); | |
1921 .Ve | |
1922 .Sp | |
1923 Sets \fIAtom\fR coordinates using an array, reference to an array or a \fIVector\fR object and | |
1924 returns \fIAtom\fR object. | |
1925 .IP "\fBSetY\fR" 4 | |
1926 .IX Item "SetY" | |
1927 .Vb 1 | |
1928 \& $Atom\->SetY($Value); | |
1929 .Ve | |
1930 .Sp | |
1931 Sets Y\-coordinate value for \fIAtom\fR and returns \fIAtom\fR object. | |
1932 .IP "\fBSetZ\fR" 4 | |
1933 .IX Item "SetZ" | |
1934 .Vb 1 | |
1935 \& $Atom\->SetZ($Value); | |
1936 .Ve | |
1937 .Sp | |
1938 Sets Z\-coordinate value for \fIAtom\fR and returns \fIAtom\fR object. | |
1939 .IP "\fBStringifyAtom\fR" 4 | |
1940 .IX Item "StringifyAtom" | |
1941 .Vb 1 | |
1942 \& $AtomString = $Atom\->StringifyAtom(); | |
1943 .Ve | |
1944 .Sp | |
1945 Returns a string containing information about \fIAtom\fR object. | |
1946 .SH "AUTHOR" | |
1947 .IX Header "AUTHOR" | |
1948 Manish Sud <msud@san.rr.com> | |
1949 .SH "SEE ALSO" | |
1950 .IX Header "SEE ALSO" | |
1951 Bond.pm, Molecule.pm, MoleculeFileIO.pm | |
1952 .SH "COPYRIGHT" | |
1953 .IX Header "COPYRIGHT" | |
1954 Copyright (C) 2015 Manish Sud. All rights reserved. | |
1955 .PP | |
1956 This file is part of MayaChemTools. | |
1957 .PP | |
1958 MayaChemTools is free software; you can redistribute it and/or modify it under | |
1959 the terms of the \s-1GNU\s0 Lesser General Public License as published by the Free | |
1960 Software Foundation; either version 3 of the License, or (at your option) | |
1961 any later version. |