molsysmt.build.make_bioassembly#

molsysmt.build.make_bioassembly(molecular_system, bioassembly=None, structure_indices=0, to_form=None, skip_digestion=False)[source]#

Construct the biological assembly of a molecular system from its asymmetric unit.

Many structures deposited in the PDB represent only the asymmetric unit, while the biologically relevant form (the bioassembly) is obtained by applying a set of rotation and translation operations to replicate the chains. This function reads the bioassembly transformation matrices stored in the molecular system, applies them, and returns the fully assembled system.

Parameters:
  • molecular_system (molecular system) – Molecular system in any of the supported forms. Must contain bioassembly metadata (rotations, translations, and chain indices) accessible via get(molecular_system, bioassembly=True).

  • bioassembly (str or None, default None) – Name/key of the bioassembly to construct. If None, the first available bioassembly is used. If a string, the corresponding entry from the bioassembly metadata dictionary is selected.

  • structure_indices (int or list of int, default 0) – Index or indices of the structure frames from which the asymmetric unit is extracted before applying bioassembly transformations.

  • to_form (str or None, default None) – Target form for the output molecular system. If None, the form of the input molecular_system is used.

  • skip_digestion (bool, default False) – If True, argument digestion is skipped (intended for internal use).

Returns:

The biological assembly as a merged molecular system in the form specified by to_form (or in the same form as the input if to_form is None).

Return type:

molecular system

Raises:

NotImplementedError – Raised when the bioassembly specifies different chain sets for different transformation operators (heterogeneous assemblies), which is not yet supported.

Notes

Each transformation in the bioassembly consists of a rotation matrix and a translation vector. The function extracts the relevant chains, applies each rotation and translation in sequence, and merges all transformed copies into a single molecular system.

Added in version 1.0.0.