schrodinger.protein.biounit module

Expand structure into biological units

A structure generated from crystal data (typically .pdb or .cif) may represent/include multiple “Biological Units” (or biomolecules).

A biological unit is a (putatively) biologically active structure that is not explicitely encoded in the file. It may include fewer chains than the file, or it may include symmetry adjusted copies of one or more chains.

Example usage:

st = structure.Structure.read(‘1wpl.pdb’) biomolecules = biounits_from_structure(st) for biomolecule_transformation in biomolecules:

biomolecule_st, _ = apply_biounit(st, biomolecule_transformation)
exception schrodinger.protein.biounit.BiounitOverrunError

Bases: Exception

__init__

Initialize self. See help(type(self)) for accurate signature.

args
with_traceback()

Exception.with_traceback(tb) – set self.__traceback__ to tb and return self.

schrodinger.protein.biounit.biounits_from_structure(st)

Find the biomolecules (aka biounits) stored in the properties of a Structure

Each biomolecule is represented as a dictionary. The keys are groups of chains, and the values are the transformations to be applied to those chains.

Parameters:st (schrodinger.structure.Structure) – Structure from which to glean biounits
Return type:list[dict(frozenset, list[_Transformation])]
Returns:Mapping between chain ID sets and a list of _Transformation containing the rotation and translation matrices for those chains
schrodinger.protein.biounit.apply_biounit(original_st, biounit)

Apply biounit transformations to the given structure

Parameters:
  • original_st (schrodinger.structure.Structure) – Structure to transform
  • biounit (dict(frozenset, list[_Transformation])) – Biounit data (produced by biounits_from_structure) mapping between chain ID sets and a list of _Transformation containing the rotation and translation matrices
Returns:

A new Structure for the biounit applied to the original_st

Return type:

schrodinger.structure.Structure