Package schrodinger :: Package structutils :: Module build
[hide private]
[frames] | no frames]

Module build

Functions for modifying chemical structures.

Copyright Schrodinger, LLC. All rights reserved.

Functions [hide private]
 
_find_bonded_atom_with_name(atom, name)
Find an atom with PDB name <name> attached to the atom <atom>.
 
_map_to_dict(renumber_map)
Converts a renumbering map to a dictionary and deletes it; returns the newly created dictionary.
 
connect(st, atomlist1, atomlist2)
Perform a connect between the atoms in the CT "st" based on the heavy atoms in atomlist1 and those in atomlist2.
 
attach_fragment(st, fromatom, toatom, fraggroup, fragname, direction=None)
Attach fragment <fragname> of group <fraggroup> to <fromatom> in place of atom <toatom>.
 
grow_mult(st, mmfrag_handle, grow_atoms1, grow_atoms2)
Grow for fragments with multiple connections, such as two-stranded DNA & RNA.
 
attach_structure(st, st_atom_from, st_atom_to, frag_st, frag_atom_from, frag_atom_to)
Similar to attach_fragment(), but takes a fragment CT instead of name.
dict
mutate(st, atom_in_res, res_type)
Mutate the residue containing atom number 'atom_in_res' in Structure object 'st' to be of residue type 'res_type'.
 
add_hydrogens(st, treatment='All-atom with No-Lp', atom_list=None)
Adds hydrogens to the Structure 'st'.
 
delete_hydrogens(st)
Deletes hydrogens from the Structure 'st'.
 
reorder_atoms(st, new_order)
Create a new structure from the provided one, with atoms reordered as specified in the new_order list.
structure.Structure
reorder_protein_atoms_by_sequence(st)
Renumbers structure.Structure atoms by Residue order and returns a new structure object.
 
desalt_structure(st)
Returns a desalted copy of a specified structure
 
neutralize_structure(st)
Returns a neutralized copy of a specified structure.
Variables [hide private]
  _initializer = mminit.Initializer([mm.mmbuild_initialize, mm.m...
  __package__ = 'schrodinger.structutils'
Function Details [hide private]

_find_bonded_atom_with_name(atom, name)

 

Find an atom with PDB name <name> attached to the atom <atom>. An atom object for the first matching atom is returned. If no such atom is found, ValueError is raised.

connect(st, atomlist1, atomlist2)

 

Perform a connect between the atoms in the CT "st" based on the heavy atoms in atomlist1 and those in atomlist2. Usually each list will contain one atom each, from different molecules. Hydrogens bound to the specified atoms are removed as necessary, and the molecule of atomlist2 will be rotated and translated such that the newly formed bond(s) are proper length, and bond angles are valid.

Returns a dictionary of atom renumbering. Keys are old atom numbers, values are new atom numbers (or None if the atom was deleted, i.e. a hydrogen).

attach_fragment(st, fromatom, toatom, fraggroup, fragname, direction=None)

 

Attach fragment <fragname> of group <fraggroup> to <fromatom> in place of atom <toatom>. Will use growbond atom labels in the incoming fragment.

Optionally specify a <direction> string. Usually one of the following: 'forward', 'backward', 'forward(N-to-C)', 'backward(C-to-N)'.

Returns a dictionary of atom renumbering. Keys are old atom numbers, values are new atom numbers (or None if the atom was deleted, i.e. a hydrogen).

grow_mult(st, mmfrag_handle, grow_atoms1, grow_atoms2)

 

Grow for fragments with multiple connections, such as two-stranded DNA & RNA.

The st is the structure to which to add the fragment. The frag handle is an mmfrag instance of the fragment to grow.

Returns a tuple of (new-grow-atom-1, new-grow-atom-2, renumber-map). The new-grow-atom-1 and new-grow-atom-2 are lists that match the renumbered atoms corresponding to grow_atoms1 and grow_atoms2. The reunumber map is a dictionary of atom renumbering. Keys are old atom numbers, values are new atom numbers (or None if the atom was deleted, i.e. a hydrogen).

attach_structure(st, st_atom_from, st_atom_to, frag_st, frag_atom_from, frag_atom_to)

 

Similar to attach_fragment(), but takes a fragment CT instead of name. From and to atoms in the fragment must also be specified.

Returns a dictionary of renumbered atoms. Keys are old atom numbers, values are new atom numbers or None if the atom was deleted.

mutate(st, atom_in_res, res_type)

 

Mutate the residue containing atom number 'atom_in_res' in Structure object 'st' to be of residue type 'res_type'. The residue type may be one of the 20 amino acids (including the HIS/HIP/HIE variants), a D-amino acids, or other non-standard residues. For a list of alternate residues, see the $MMSHARE/data/res/nonstandard_peptide.bld.

There is no error if the residue is already of the type requested.

Parameters:
  • st (Structure object) - Structure object which should be mutated.
  • atom_in_res (int) - Mutate the residue that this atom is in.
  • res_type (str) - Desired residue type (e.g. "ALA").
Returns: dict
A dictionary of renumbered atoms. Keys are old atom numbers, values are new atom numbers or None if the atom was deleted.

add_hydrogens(st, treatment='All-atom with No-Lp', atom_list=None)

 

Adds hydrogens to the Structure 'st'.

Default treatment is suitable for nearly all purposes. Hydrogens are
added in standard geometry and no attempt is made to optimize the
treatment in order to maximize hydrogen bonds, etc.

Parameters

atom_list
    A list of atom indices (or _StructureAtom objects) to add hydrogens to
    (default all atoms).

reorder_atoms(st, new_order)

 

Create a new structure from the provided one, with atoms reordered as specified in the new_order list.

Parameters:
  • new_order (list of ints) - The new_order list must be the same size as the number atoms in the provided structure, and atom indices begin at one.

reorder_protein_atoms_by_sequence(st)

 

Renumbers structure.Structure atoms by Residue order and returns a new structure object. New structure has atom numbering in sequence order via connectivity (not residue numbering) and allows behavior matching a properly ordered pdb structure.

Parameters:
  • st (structure.Structure) - structure object to reorder
Returns: structure.Structure
copy of input structure with atoms reordered

desalt_structure(st)

 

Returns a desalted copy of a specified structure

Parameters:
  • st (schrodinger.structure.Structure) - Structure to be desalted
Returns:
Desalted copy of the structure

neutralize_structure(st)

 

Returns a neutralized copy of a specified structure. This structure should have already had hydrogen atoms added to it.

Parameters:
  • st (schrodinger.structure.Structure) - Structure to be neutralized
Returns:
Neutralized copy of the structure

Variables Details [hide private]

_initializer

Value:
mminit.Initializer([mm.mmbuild_initialize, mm.mmfrag_initialize], [mm.\
mmbuild_terminate, mm.mmfrag_terminate])