Package schrodinger :: Package structutils :: Module assignbondorders :: Class AssignBondOrders
[hide private]
[frames] | no frames]

Class AssignBondOrders

Instance Methods [hide private]
 
__init__(self, st, atoms, neutralize)
 
assign(self)
 
assignTemplatedSubstructures(self)
Force assignment of known functional groups by SMARTS
 
isOnlySingleBonded(self, atom)
Returns False if atom has double or triple bonds.
 
getNeighbors(self, atom)
Returns a list of atoms that <atomnum> is bound to.
 
getNeighborsObj(self, atom)
Returns a list of atoms that <atomnum> is bound to.
 
getNumNeighbors(self, atom)
Returns a the number of atoms that <atom> is bound to.
 
getNumBondOrders(self, atom)
 
getElement(self, atomnum)
 
fixFormalCharge(self, atom)
Adjusts the formal charge so that it is valid for number of bonds and bond orders.
 
setFormalCharge(self, atom, charge)
 
setBondOrder(self, atom1, atom2, bond_order)
Sets the bond order between atom1 and atom2 to bond_order.
 
getAtomsRings(self, atom)
Return a list of rings that this atom is part of.
 
isAtomInRing(self, atom)
 
isAtomInSmallRing(self, atom_num)
Returns 1 if atom_num is a ring with 3, 4, or 5 members.
 
getExtracyclicAtom(self, ring, a)
Given an atom of a ring, return the extra-cyclic atom that is bound to this atom.
 
forEdgeInRing(self, ring)
Iterates over (atom1, atom2) in the given ring
 
calcBondScore(self, a1, a2, distance_weight=1.0, ring_angle_weight=0.0)
Calculates the probability that the two atoms are double bonded to each other.
 
getBestDoubleBond(self, a1, a2, a3)
Returns a list of two atoms that are the best candidates.
 
sortFirstThreeOfGroup(self, atom_group)
This function sorts the atoms in the group so that the 3 (or 4) atoms that need to be worked on the first will be listed first.
 
splitTriangularGroup(self, atoms)
breaks the group into 2 groups, breaking the weakest bond of the triangular arrangement.
 
assignGroupDoubleBonds(self, atom_set)
Assigns double bonds where appropriate for the atoms in the supplied group.
 
identifyGroups(self)
Identifies groups and sets bond orders appropriately.
 
findRings(self)
Returns a list of all rings in the st within the atoms range.
 
isRingAaromatic(self, ringatoms)
Returns a boolean - whether the specified ring is aromatic or not.
 
findAromaticRings(self)
Returns a list of aromatic rings in st within all_rings.
 
isAtomAromatic(self, atom)
Returns True if the given atom is part of an aromatic ring
 
areAtomsOrtho(self, ring, atom1, atom2)
 
isBondRingEdge(self, a1, a2, rings=None)
 
isAtomBetweenTwoRings(self, atom)
Returns True if this atom is bound to two rings, but is not part of a ring itself.
 
isAtomBoundToAromaticRing(self, atom)
Returns True if at least one of atoms bound to it is a member of an aromatic ring.
 
assignAromaticBonders(self, ring, bonders)
Assigns bond orders for the supplied 5 or 6-membered aromatic ring.
 
determineAromaticAtomType(self, ring, a, ring_group_atoms)
Determines the type of the atom in the aromatic ring.
 
areCOsPara(self, ring, c1, c2)
 
determineAromaticAtomTypes(self, ring, ring_group_atoms)
Goes through every atom in the supplied aromatic ring, and determines what type of atom it is, then adds the atom to that category.
 
assignGroupTripleBonds(self, atom_group)
Assigns triple bonds as appripriateley to the atoms in the supplied group.
 
assignAromaticRing(self, ring, ring_group_atoms)
Returns ASSIGNED_AROMATIC if everything is okay.
 
findAromaticBonders(self, ring, ringatomtypes_dict)
Returns a list of suggested bonding atoms in the specified aromatic ring.
 
groupAromaticRings(self)
 
getNeighboringRings(self, ring, rings)
Return a list of rings that share atoms with the specified ring.
 
isKetoneCarbon(self, atom)
 
assignAromaticRingGroup(self, group)
Assigns bond orders of aromatic rings (5 & 6 membered) which are arranged in a group (multi-cyclic systems).
 
assignAromaticRingOrders(self)
Assign all aromatic rings
 
fixKetones(self)
This function adds double bonds to ketones and aldehydes when necesary.
 
fix_N4s(self)
Sets the macromodel atom type of Positively Charged Nitrognes to N4(31/sp2) or N5(32/sp3).
 
sortBondableAtomsByGroups(self, potential_double_bond_atoms)
Takes the list of input atoms, and puts them into groups, and returns a list of those groups.
 
assignTripleBonds(self)
 
assignChainOrders(self)
 
findPotentialTripleBondAtoms(self)
Returns a list of atoms that can potentially triple-bond.
 
getPotentialDoubleBondAtoms(self)
Returns a list of atoms that can potentially double bond.
Method Details [hide private]

getNumNeighbors(self, atom)

 

Returns a the number of atoms that <atom> is bound to. EXCLUDING zero-order bonds

getBestDoubleBond(self, a1, a2, a3)

 

Returns a list of two atoms that are the best candidates. Returns [] if neither bond is potential double bond.

isRingAaromatic(self, ringatoms)

 

Returns a boolean - whether the specified ring is aromatic or not. Aromatic ring is defined in this context as a 5 or 6 membered ring that is likely, based on bond lengths and angles, etc. to be an aromatic ring.

isAtomBetweenTwoRings(self, atom)

 

Returns True if this atom is bound to two rings, but is not part of a ring itself. Like this: Ring-X-Ring. Such an atom may get a double bond to one of the rings if needed.

assignAromaticBonders(self, ring, bonders)

 

Assigns bond orders for the supplied 5 or 6-membered aromatic ring. Returns True if successful, False if not.

<bonders> is a list of atoms that MUST get double-bonded.

determineAromaticAtomTypes(self, ring, ring_group_atoms)

 

Goes through every atom in the supplied aromatic ring, and determines what type of atom it is, then adds the atom to that category. It returns a dictionary (list) of atoms in different groups.

assignGroupTripleBonds(self, atom_group)

 

Assigns triple bonds as appripriateley to the atoms in the supplied group. Returns a list of atoms which now have assigned bond orders.

assignAromaticRing(self, ring, ring_group_atoms)

 

Returns ASSIGNED_AROMATIC if everything is okay. Returns NOT_AROMATIC if the ring is not aromatic. Returns NOT_ASSIGNED if this ring should be considered later.

findAromaticBonders(self, ring, ringatomtypes_dict)

 

Returns a list of suggested bonding atoms in the specified aromatic ring. Returns [] if no bonds should be made.

If "required_only" is set, return only the REQUIRED BONDERS and REQUIRED NON-BONDERS

Raises RuntimeError("Not aromatic") if the ring is not aromatic. Raises RuntimeError("Not assigned") if the ring could not be assigned.

fixKetones(self)

 

This function adds double bonds to ketones and aldehydes when necesary. It should be run only after ALL other bond orders have been assigned.

sortBondableAtomsByGroups(self, potential_double_bond_atoms)

 

Takes the list of input atoms, and puts them into groups, and returns a list of those groups. Atoms are considerred in the same group if they are bonded together (in the same chain).

getPotentialDoubleBondAtoms(self)

 

Returns a list of atoms that can potentially double bond. Only bond angles are considered.