Mercurial > repos > deepakjadmin > mayatool3_test2
comparison docs/modules/man3/Atom.3 @ 0:4816e4a8ae95 draft default tip
Uploaded
| author | deepakjadmin |
|---|---|
| date | Wed, 20 Jan 2016 09:23:18 -0500 |
| parents | |
| children |
comparison
equal
deleted
inserted
replaced
| -1:000000000000 | 0:4816e4a8ae95 |
|---|---|
| 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. |
