Mercurial > repos > deepakjadmin > mayatool3_test2
view docs/modules/txt/Bond.txt @ 0:4816e4a8ae95 draft default tip
Uploaded
author | deepakjadmin |
---|---|
date | Wed, 20 Jan 2016 09:23:18 -0500 |
parents | |
children |
line wrap: on
line source
NAME Bond SYNOPSIS use Bond; use Bond qw(:all); DESCRIPTION Bond class provides the following methods: new, Copy, DeleteBond, GetAtoms, GetBondBeginAtom, GetBondEndAtom, GetBondFromAtom, GetBondToAtom, GetBondedAtom, GetCommonAtom, GetLargestRing, GetNumOfRings, GetNumOfRingsWithEvenSize, GetNumOfRingsWithOddSize, GetNumOfRingsWithSize, GetNumOfRingsWithSizeGreaterThan, GetNumOfRingsWithSizeLessThan, GetRings, GetRingsWithEvenSize, GetRingsWithOddSize, GetRingsWithSize, GetRingsWithSizeGreaterThan, GetRingsWithSizeLessThan, GetSizeOfLargestRing, GetSizeOfSmallestRing, GetSmallestRing, IsAromatic, IsBondStereochemistrySpecified, IsBondTypeSpecified, IsCis, IsCisOrTrans, IsCoordinate, IsDative, IsDouble, IsDown, IsDownward, IsHash, IsInRing, IsInRingOfSize, IsIonic, IsNotInRing, IsOnlyInOneRing, IsQuadruple, IsQuintuple, IsSextuple, IsSingle, IsTautomeric, IsTrans, IsTriple, IsUp, IsUpOrDown, IsUpward, IsWedge, IsWedgeOrHash, SetAtoms, SetBondOrder, SetBondStereochemistry, SetBondType, StringifyBond, SwitchBondFromAndToAtoms Bond class is derived from ObjectProperty base class which provides methods not explicitly defined in Atom or ObjectProperty class using Perl's AUTOLOAD functionality. These methods are generated on-the-fly for a specified object property: Set<PropertyName>(<PropertyValue>); $PropertyValue = Get<PropertyName>(); Delete<PropertyName>(); METHODS new $NewBond = new Bond([%PropertyNameAndValues]); Using specified *Bond* property names and values hash, new method creates a new object and returns a reference to newly created Bond object. By default, following properties are initialized: ID = SequentialObjectID @Atoms = (); BondType = "" BondOrder = "" Except for *ID* property, all other default properties and other additional properties can be set during invocation of this method. Examples: $Bond = new Bond(); $DoubleBond = new Bond('Atoms' => [$Atom2, $Atom1], 'BondOrder' => 2); Copy $BondCopy = $Bond->Copy(); Copy *Bond* and its associated data using Storable::dclone and return a new Bond object. DeleteBond $Bond->DeleteBond(); Delete *Bond* between atoms in from a molecule. GetAtoms @BondedAtoms = $Bond->GetAtoms(); Returns an array containing *Atoms* invoved in *Bond*. GetBondedAtom $BondedAtom = $Bond->GetBondedAtom($Atom); Returns BondedAtom bonded to *Atom* in *Bond*. GetBondBeginAtom $BeginAtom = $Bond->GetBondBeginAtom(); Returns BeginAtom corresponding to bond starting atom in *Bond*. GetBondEndAtom $EndAtom = $Bond->GetBondEndAtom(); Returns EndAtom corresponding to bond ending atom in *Bond*. GetBondFromAtom $FromAtom = $Bond->GetBondFromAtom(); Returns FromAtom corresponding to bond starting atom in *Bond*. GetBondToAtom $ToAotm = $Bond->GetBondToAtom(); Returns ToAtom corresponding to bond ending atom in *Bond*. GetCommonAtom $CommonAtom = $Bond->GetCommonAtom($OtherBond); Returns Atom common to both *Bond* and *$OtherBond*. GetLargestRing @RingAtoms = $Bond->GetLargestRing(); Returns an array of ring *Atoms* corresponding to the largest ring containing *Bond*. in a molecule GetNumOfRings $NumOfRings = $Bond->GetNumOfRings(); Returns number of rings containing *Bond* in a molecule. GetNumOfRingsWithEvenSize $NumOfRings = $Bond->GetNumOfRingsWithEvenSize(); Returns number of rings with even size containing *Bond* in a molecule. GetNumOfRingsWithOddSize $NumOfRings = $Bond->GetNumOfRingsWithOddSize(); Returns number of rings with odd size containing *Bond* in a molecule. GetNumOfRingsWithSize $NumOfRings = $Bond->GetNumOfRingsWithSize($RingSize); Returns number of rings with specific *RingSize* containing *Bond* in a molecule. GetNumOfRingsWithSizeGreaterThan $NumOfRings = $Bond->GetNumOfRingsWithSizeGreaterThan($RingSize); Returns number of rings with size greater than specific *RingSize* containing *Bond* in a molecule. GetNumOfRingsWithSizeLessThan $NumOfRings = $Bond->GetNumOfRingsWithSizeLessThan($RingSize); Returns number of rings with size less than specific *RingSize* containing *Bond* in a molecule. GetRings @Rings = $Bond->GetRings(); Returns an array of references to arrays containing ring atoms corressponding to all rings containing *Bond* in a molecule. GetRingsWithEvenSize @Rings = $Bond->GetRingsWithEvenSize(); Returns an array of references to arrays containing ring atoms corressponding to all rings with even size containing *Bond* in a molecule. GetRingsWithOddSize @Rings = $Bond->GetRingsWithOddSize(); Returns an array of references to arrays containing ring atoms corressponding to all rings with odd size containing *Bond* in a molecule. GetRingsWithSize @Rings = $Bond->GetRingsWithSize($RingSize); Returns an array of references to arrays containing ring atoms corressponding to all rings with specific *RingSize *containing *Bond* in a molecule. GetRingsWithSizeGreaterThan @Rings = $Bond->GetRingsWithSizeGreaterThan($RingSize); Returns an array of references to arrays containing ring atoms corressponding to all rings with size greater than specific *RingSize *containing *Bond* in a molecule. GetRingsWithSizeLessThan @Rings = $Bond->GetRingsWithSizeLessThan($RingSize); Returns an array of references to arrays containing ring atoms corressponding to all rings with size less than specific *RingSize *containing *Bond* in a molecule. GetSizeOfLargestRing $Size = $Bond->GetSizeOfLargestRing(); Returns size of the largest ring containing *Bond* in a molecule. GetSizeOfSmallestRing $Size = $Bond->GetSizeOfSmallestRing(); Returns size of the smallest ring containing *Bond* in a molecule. GetSmallestRing @RingAtoms = $Bond->GetSmallestRing(); Returns an array of ring *Atoms* corresponding to the largest ring containing *Bond* in a molecule. IsAromatic $Status = $Bond->IsAromatic(); Returns 1 or 0 based on whether it's an aromatic *Bond*. IsBondStereochemistrySpecified $Status = $Bond->IsBondStereochemistrySpecified(); Returns 1 or 0 based on whether *Bond*'s sterochemistry is specified. IsBondTypeSpecified $Status = $Bond->IsBondTypeSpecified(); Returns 1 or 0 based on whether *Bond*'s type is specified. IsCis $Status = $Bond->IsCis(); Returns 1 or 0 based on whether it's a cis *Bond*. IsCisOrTrans $Status = $Bond->IsCisOrTrans(); Returns 1 or 0 based on whether it's a cis or trans *Bond*. IsCoordinate $Status = $Bond->IsCoordinate(); Returns 1 or 0 based on whether it's a coordinate or dative *Bond*. IsDative $Status = $Bond->IsDative(); Returns 1 or 0 based on whether it's a coordinate or dative *Bond*. IsDouble $Status =$Bond->IsDouble(); Returns 1 or 0 based on whether it's a double *Bond*. IsDown $Status = $Bond->IsDown(); Returns 1 or 0 based on whether it's a hash or down single *Bond*. IsDownward $Return = $Bond->IsDownward(); Returns 1 or 0 based on whether it's a downward *Bond*. IsHash $Status = $Bond->IsHash(); Returns 1 or 0 based on whether it's a hash or down single *Bond*. IsInRing $Status = $Bond->IsInRing(); Returns 1 or 0 based on whether *Bond* is present in a ring. IsInRingOfSize $Status = $Bond->IsInRingOfSize($Size); Returns 1 or 0 based on whether *Bond* is present in a ring of specific *Size*. IsIonic $Status = $Bond->IsIonic(); Returns 1 or 0 based on whether it's an ionic *Bond*. IsNotInRing $Status = $Bond->IsNotInRing(); Returns 1 or 0 based on whether *Bond* is not present in a ring. IsOnlyInOneRing $Status = $Bond->IsOnlyInOneRing(); Returns 1 or 0 based on whether *Bond* is only present in one ring. IsQuadruple $Status = $Bond->IsQuadruple(); Returns 1 or 0 based on whether it's a quadruple *Bond*. IsQuintuple $Status = $Bond->IsQuintuple(); Returns 1 or 0 based on whether it's a quintuple *Bond*. IsSextuple $Status = $Bond->IsSextuple(); Returns 1 or 0 based on whether it's a sextuple *Bond*. IsSingle $Status =$Bond->IsSingle(); Returns 1 or 0 based on whether it's a single *Bond*. IsTriple $Status =$Bond->IsTriple(); Returns 1 or 0 based on whether it's a triple *Bond*. IsTautomeric $Status = $Bond->IsTautomeric(); Returns 1 or 0 based on whether it's a *Bond*. IsTrans $Status = $Bond->IsTrans(); Returns 1 or 0 based on whether it's a trans *Bond*. IsUp $Status = $Bond->IsUp(); Returns 1 or 0 based on whether it's a up *Bond*. IsUpOrDown $Status = $Bond->IsUpOrDown(); Returns 1 or 0 based on whether it's an up or down *Bond*. IsUpward $Status = $Bond->IsUpward(); Returns 1 or 0 based on whether it's an upward *Bond*. IsWedge $Status = $Bond->IsWedge(); Returns 1 or 0 based on whether it's a wedge *Bond*. IsWedgeOrHash $Status = $Bond->IsWedgeOrHash(); Returns 1 or 0 based on whether it's a wedge or hash *Bond*. SetAtoms $Bond->SetAtoms($AtomsRef); $Bond->SetAtoms(@Atoms); Set atoms of *Bond* to atoms in *Atoms* array or in a reference to an array of atoms and return *Bond*. SetBondOrder $Bond->SetBondOrder($BondOrder); Sets bond order of *Bond* to specified *BondOrder* and returns *Bond*. Possible bond order values: 1 = Single, 1.5 = Aromatic, 2 = Double, 3 = Triple, 4 = Quadruple, 5 = Quintuple, 6 = Sextuple, 7 = Septuple Notes: . BondType property is automatically assigned using default BondType values for specified BondOrder. . BondType values can also be explicit set. . To make bonds aromatic in a ring, explicitly set "Aromatic" property for bond/atoms and make sure appropriate BondOrder values are assigned. . Dative or coordinate bond types are treated as single bond types with explicit formal charge of + and - on first and second bond atoms. SetBondType $Bond->SetBondType($BondType); Sets bond type for *Bond* to specified *BondType* and returns *Bond*. Possible bond type values for different bond orders are: 0: None, Ionic, Unspecified 1 : Single, Dative, Coordinate, SingleOrDouble, SingleOrAromatic, Tautomeric 2 : Double, SingleOrDouble, DoubleOrAromatic, Tautomeric 3 : Triple 4 : Quadruple 5 : Quintuple 6 : Sextuple 7 : Septuple 1.5 : Aromatic, Resonance, SingleOrAromatic, DoubleOrAromatic Notes: o BondType Any is valid for all BondOrders. o BondOrder property is automatically assigned using default BondOrder values for specified BondType. Possible bond stereochemistry values for different bond orders are: 0 : None, Unspecified 1 : Wedge, Up, Hash, Down, Wavy, WedgeOrHash, UpOrDown, Upward, Downward, None, Unspecified 2 : Cis, Trans, Z, E, DoubleCross, CisOrTrans, None, Unspecified SetBondStereochemistry $Bond = $Bond->SetBondStereochemistry($BondStereochemistry); Sets bond stereochemistry of *Bond* to specified *BondStereochemistry* and returns *Bond*. Possible *BondStereoChemistry* values for different bond orders are: BondOrder: 1 None, Unspecified: Not a stereo bond or unspecified Wedge, Up : Wedge end pointing up Hash, Down: Wedge end pointing down Wavy, WedgeOrHash, UpOrDown: Wedge end up or down Upward: Single bond around cis/trans double bonds pointing upward Downward: Single bond around cis/trans double bonds pointing upward Notes: o Wedge starts at begin atom of a bond making wedge pointed end always at this atom. o Upward/downward bonds start at atoms involved in cis/trans double bonds. BondOrder: 2 None, Unspecified: Not a stereo bond or unspecified Z, cis: Similar groups on same side of double bond E, trans: Similar groups on different side of double bond CisOrTrans, DoubleCross: cis or trans StringifyBond $BondString = $Bond->StringifyBond(); Returns a string containing information about *bond* object. SwitchBondFromAndToAtoms $Bond = $Bond->SwitchBondFromAndToAtoms(); Swaps bond from and to atoms in *Bond* and returns *Bond*. AUTHOR Manish Sud <msud@san.rr.com> SEE ALSO Atom.pm, Molecule.pm COPYRIGHT Copyright (C) 2015 Manish Sud. All rights reserved. This file is part of MayaChemTools. MayaChemTools is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version.