Package schrodinger :: Package application :: Package matsci :: Module zmutils :: Class ZMatrix
[hide private]
[frames] | no frames]

Class ZMatrix

object --+
         |
        ZMatrix

Contains the z-matrix for a structure

Instance Methods [hide private]
 
__init__(self, struct)
Create a ZMatrix instance
 
bumpIndexes(self, bump)
Bump all atom indexes for this z-matrix
 
constrainAll(self)
Constrain all internal coordinates
 
freeAtom(self, index)
Free all the internal coordinates for a single atom
 
freeAtomBond(self, index)
Free all the bond internal coordinate for a single atom
 
freeAtomAngle(self, index)
Free all the angle internal coordinate for a single atom
 
freeAtomDihedral(self, index)
Free all the angle internal coordinate for a single atom
int, float or None, None
findNonlinearAngle(self, struct, atom_a, atom_b, do_not_use, index_less_than, linear)
Find an angle between atom_a, atom_b and some other atom that is smaller than linear
 
merge(self, child_zmat, struct, glue_index)
Combine the atom lists from this (parent) z-matrix and another (child) z-matrix.

Inherited from object: __delattr__, __format__, __getattribute__, __hash__, __new__, __reduce__, __reduce_ex__, __repr__, __setattr__, __sizeof__, __str__, __subclasshook__

Properties [hide private]

Inherited from object: __class__

Method Details [hide private]

__init__(self, struct)
(Constructor)

 

Create a ZMatrix instance

Parameters:
Overrides: object.__init__

bumpIndexes(self, bump)

 

Bump all atom indexes for this z-matrix

Parameters:
  • bump (int) - The amount to modify each index

freeAtom(self, index)

 

Free all the internal coordinates for a single atom

Parameters:
  • index (int) - The atom index (1-based) of the atom to free

freeAtomBond(self, index)

 

Free all the bond internal coordinate for a single atom

Parameters:
  • index (int) - The atom index (1-based) of the atom to free

freeAtomAngle(self, index)

 

Free all the angle internal coordinate for a single atom

Parameters:
  • index (int) - The atom index (1-based) of the atom to free

freeAtomDihedral(self, index)

 

Free all the angle internal coordinate for a single atom

Parameters:
  • index (int) - The atom index (1-based) of the atom to free

findNonlinearAngle(self, struct, atom_a, atom_b, do_not_use, index_less_than, linear)

 

Find an angle between atom_a, atom_b and some other atom that is smaller than linear

Parameters:
  • struct (schrodinger.structure.Structure) - The struct to use
  • atom_a (int) - The 1-indexed index of atom A for the A-B-C angle
  • atom_b (int) - The 1-indexed index of atom B for the A-B-C angle
  • do_not_use (set) - An set of atom indexes that should not be used for the C atom for the A-B-C angle
  • index_less_than (int) - Only look for indexes less than this number
  • linear (float) - The threshold where any angle greater than this is considered linear
Returns: int, float or None, None
The index of an atom that forms an angle with atom_a and atom_b that is less than linear degrees, and the angle it forms. None, None is returned if none of the indexes in choose_from gave a non-linear angle.

merge(self, child_zmat, struct, glue_index)

 

Combine the atom lists from this (parent) z-matrix and another (child) z-matrix. This involves not just combining the lists, but also defining the following new internal coordinates:

child_atom_1: bond, angle, dihedral child_atom_2: angle, dihedral child_atom_3: dihedral

All new internal coordinates will reference an atom from the parent structure. These six new internal coordinates fully specify the parent-child orientation.

Parameters:
  • child_zmat (ZMatrix) - The child z-matrix to merge with this one
  • struct (schrodinger.structure.Structure) - The structure that results from merging these two z-matrices. This is needed to compute the new bonds, angles and dihedrals.
  • glue_index (int) - The index of the atom in the parent structure that should be bonded to the first atom of the child structure. This index should be 1-based (i.e. structure.atom indexed, not list indexed)