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