mmtbx.disorder package

Submodules

mmtbx.disorder.analyze_model module

class mmtbx.disorder.analyze_model.atom_group_proxy(atom_group)

Bases: slots_getstate_setstate

Pickle-able stand-in for iotbx.pdb.hierarchy.atom_group.

altloc
atoms()
resname
class mmtbx.disorder.analyze_model.atoms_proxy(atoms)

Bases: slots_getstate_setstate

Pickle-able stand-in for af::shared<atom> array, using the atom_with_labels objects as elements.

extract_b()
extract_occ()
mmtbx.disorder.analyze_model.carbonyl_oxygen_angle(residue_group)

Calculate angles between carbonyl oxygen (C=O) bonds in each pair of atom groups, and return the maximum value (or None if fewer than two such bonds are found).

class mmtbx.disorder.analyze_model.disordered_segment(residue_group)

Bases: object

A group of one or more adjacent residues presumed to form continuous alternate conformations.

append_residue_group(rg)
detect_sequence_disorder()

Find any residue groups with heterogeneous chemical identity.

extract_validation_results(multi_criterion)

Find the matching validation result objects from the multi-criterion object (see mmtbx/validation/molprobity/__init__.py).

find_peptide_flips(angle_cutoff=150)
get_all_conformer_distances(backbone=None)
get_conformer_distances(conformer_indices=<libtbx.AutoType object>, backbone=None)

Calculate the distances between atoms in the specified pair of conformers (must be present for all residue groups).

get_previous_conformer(index=0)
is_part_of_segment(other, ignore_inconsistent_occupancy=False, ignore_inconsistent_n_conformers=False, max_peptide_bond_distance_within_conformer=2.0)

Determine whether a residue_group object is part of the same continuous disordered segment. The precise meaning of this can be adjusted depending on user preferences; by default a continuous segment must have the same number of conformers for each residue, and occupancies must be constrained for each conformation. The latter assumption will probably be violated most often.

max_distance_between_conformers(backbone=None)
max_rmsd_between_conformers(backbone=None)
minimum_atom_group_occupancy()
n_cbeta_outliers()
n_confs()

Count the number of alternate conformations. Sometimes this may not be the same for all residue groups, in which case a list is returned.

n_confs_max()
n_outliers_of_type(analysis_type)
n_partial_splits(join_at_calpha=False)

Count the number of residues where not all atoms have alternates.

n_residues()
n_rotamer_changes(resname=None)
show(prefix='', out=<_io.TextIOWrapper name='<stdout>' mode='w' encoding='utf-8'>)
mmtbx.disorder.analyze_model.get_nconfs(pdb_hierarchy)

Count the number of conformers in a structure.

mmtbx.disorder.analyze_model.is_joined_at_calpha(residue_group)
mmtbx.disorder.analyze_model.only_amide_hydrogen_split(residue_group)

Detect cases where the only alternate conformation is for the amide hydrogen, presumably because the previous residue was split and Reduce was used to add hydrogens. These residues are ignored in our analyses.

class mmtbx.disorder.analyze_model.process_pdb_hierarchy(pdb_hierarchy, validation, ignore_inconsistent_occupancy=False, log=<_io.TextIOWrapper name='<stdout>' mode='w' encoding='utf-8'>)

Bases: object

max_distance_between_conformers(backbone=None)
max_rmsd_between_conformers(backbone=None)
property segments
show(out=<_io.TextIOWrapper name='<stdout>' mode='w' encoding='utf-8'>, verbose=True)
class mmtbx.disorder.analyze_model.process_residue_groups(chain, multi_criterion_validation=None, ignore_inconsistent_occupancy=False, log=<_io.TextIOWrapper name='<stdout>' mode='w' encoding='utf-8'>)

Bases: object

show(prefix='', out=<_io.TextIOWrapper name='<stdout>' mode='w' encoding='utf-8'>)
class mmtbx.disorder.analyze_model.residue_group_proxy(residue_group)

Bases: slots_getstate_setstate

Pickle-able stand-in for iotbx.pdb.hierarchy.residue_group.

atom_groups()
icode
id_str()
resseq

mmtbx.disorder.backbone module

Tools for analyzing backbone motion in ensembles and statically disordered structures.

mmtbx.disorder.backbone.alternate_conformations_as_multiple_models(pdb_hierarchy)
class mmtbx.disorder.backbone.backrub_residue(calpha, i_mod, j_mod, rmsd, backrub_angle)

Bases: slots_getstate_setstate

backrub_angle
i_mod
id_str
j_mod
rmsd
show(out=<_io.TextIOWrapper name='<stdout>' mode='w' encoding='utf-8'>, prefix='')
xyz
mmtbx.disorder.backbone.circ_len(t, deg=True)
mmtbx.disorder.backbone.circ_mean(t, deg=True)
mmtbx.disorder.backbone.circ_stddev(t, deg=True)
mmtbx.disorder.backbone.evaluate_backrub_pair_impl(calphas_A, calphas_B, labels=(), max_calpha_sep=5.0, rmsd_limit=0.1, backrub_angle_limit=10.0)
mmtbx.disorder.backbone.extract_backrub_residue_groups(residue_group, as_ensemble=True)
mmtbx.disorder.backbone.find_backrubs(pdb_hierarchy=None, residue_group=None, max_calpha_sep=5.0, rmsd_limit=0.1, backrub_angle_limit=10.0)
mmtbx.disorder.backbone.find_ensemble_backrubs(pdb_hierarchy=None, residue_group=None, max_calpha_sep=5.0, rmsd_limit=0.1, backrub_angle_limit=10.0)
mmtbx.disorder.backbone.get_calphas(pdb_hierarchy)
mmtbx.disorder.backbone.get_cbetas(pdb_hierarchy)

Module contents

Tools for analyzing disorder (or heterogeneity in general) in ensembles and and other multi-conformer models or collections of conformations. For building and refinement of such models, see mmtbx.building.alternate_conformations or mmtbx.refinement.ensemble_refinement.

mmtbx.disorder.set_ensemble_b_factors_to_xyz_displacement(pdb_hierarchy, include_hydrogens=False, include_waters=False, use_c_alpha_values=False, method='rmsf', selection=None, substitute_b_value=-1.0, logarithmic=False, log=None)

Given an ensemble (multi-MODEL PDB hierarchy), calculate the deviation between copies of each atom (defined here as either the root-mean-square fluctuation, or the radius of the minimum covering sphere) and set the isotropic B-factors to this value.