schrodinger.protein.pdbname module

Uses MacroModel substructure definitions to set PDB atom and residue names for a structure. Also re-numbers residues, and optionally adds bond orders.

Copyright Schrodinger, LLC. All rights reserved.

class schrodinger.protein.pdbname.Substructure(definition, restype, atom_types)

Bases: object

Holds the information about a substructure

__init__(definition, restype, atom_types)

Create a Substructure object

Parameters:
  • definition (str) – MacroModel-style substructure expression.
  • restype (str) – 4-letter residue type (“ALA “, “VAL “, etc).
  • data – PDB atom names separated by “;” for example: ” H ; N “. The order of the PDB names must match the order of the atoms in the substructure definition.
getMatches(struct)

Return a list of lists of atoms that match this substructure.

Return type:list
Returns:Each item of the returned list is a list of atom indexes that match this substructure.
extendToIncludeSideChainAtoms(st, match)

For the given UNK residue match, add all atoms bound to the beta carbon (side-chain) that are not part of the backbone (known substructure).

fixResName(struct, atoms)

Update the residue name of the matching atoms.

Parameters:
  • struct (schrodinger.structure.Structure) – The structure to operate on. This structure is modified in-place.
  • atoms (int) – List of atoms from this match
Return type:

list[int]

Returns:

Each item of the returned list is a list of atom indexes that match this substructure.

fixAtomNames(struct, atoms)

Update the matching atoms to the proper PDB atom names.

Parameters:
  • struct (list[schrodinger.structure.Structure]) – The structure to operate on. This structure is modified in-place.
  • atoms (list[int]) – List of atoms from this match
Return type:

list[int]

Returns:

Each item of the returned list is a list of atom indexes that match this substructure.

schrodinger.protein.pdbname.find_oxt_atom(atoms)

Given a list of atom objects, returns the OT atom (oxygen of the -COOH) bound to the C-termini atom of the group. If no such atom is found, None is returned.

TODO: Extend to include other termini atoms.

schrodinger.protein.pdbname.find_n1_atom(atoms)

Given a list of atoms, returns the N1 atom (N-terminus backbone nitrogen). If no such atom is found, None is returned.

Parameters:atoms (list[schrodinger.structure._StructureAtom]) – List of atoms in which to find N1
Returns:The N1 atom
Return type:schrodinger.structure._StructureAtom
schrodinger.protein.pdbname.assign_pdb_names(struct, res_names=True, atom_names=True, atoms=None)

Assign PDB residue and/or atom names to struct. This is based on substructure definitions for standard residues. Anything not in the substructure database is left untouched.

Parameters:
  • struct (schrodinger.structure.Structure) – The structure to operate on. This structure is modified in-place.
  • res_names (bool) – If True (default), rename matching residues, if False, do not.
  • atom_names (bool) – If True (default), rename matching atoms to the proper PDB atom type, if False, do not.
  • atoms (list(int)) – list of atoms defining the residues to operate on. Any residue that has at least one of its atoms in this list will be selected for modification. Otherwise this function operates on the entire structure.
schrodinger.protein.pdbname.renumber_residues(struct, chains)

Renumber all residues to have a unique residue number and have residue numbers that are contiguous.

Parameters:
  • struct (list[schrodinger.structure.Structure]) – The structure to operate on. This structure is modified in-place.
  • chains (list or 'all') – A list of chains to renumber, or the string ‘all’ if all chains should be fixed.
schrodinger.protein.pdbname.process_structure(struct, renumber_chains=None, assign_bond_orders=False)