IMP logo
IMP Reference Guide  develop.cb469e0f11,2024/05/28
The Integrative Modeling Platform
IMP.pmi1.topology Namespace Reference

Set of python classes to create a multi-state, multi-resolution IMP hierarchy. More...

Detailed Description

Set of python classes to create a multi-state, multi-resolution IMP hierarchy.

  • Start by creating a System with model = IMP.Model(); s = IMP.pmi1.topology.System(model). The System will store all the states.
  • Then call System.create_state(). You can easily create a multistate system by calling this function multiples times.
  • For each State, call State.create_molecule() to add a Molecule (a uniquely named polymer). This function returns the Molecule object which can be passed to various PMI functions.
  • Some useful functions to help you set up your Molecules:
    • Access the sequence residues with slicing (Molecule[a:b]) or functions like Molecule.get_atomic_residues() and Molecule.get_non_atomic_residues(). These functions all return python sets for easy set arithmetic using & (and), | (or), - (difference)
    • Molecule.add_structure() to add structural information from a PDB file.
    • Molecule.add_representation() to create a representation unit - here you can choose bead resolutions as well as alternate representations like densities or ideal helices.
    • Molecule.create_clone() lets you set up a molecule with identical representations, just a different chain ID. Use Molecule.create_copy() if you want a molecule with the same sequence but that allows custom representations.
  • Once data has been added and representations chosen, call to create a canonical IMP hierarchy.
  • Following hierarchy construction, setup rigid bodies, flexible beads, etc in IMP::pmi1::dof.
  • Check your representation with a nice printout: IMP::atom::show_with_representation() See a comprehensive example for using these classes.

Alternatively one can construct the entire topology and degrees of freedom via formatted text file with TopologyReader and IMP::pmi1::macros::BuildSystem(). This is used in the PMI tutorial. Note that this only allows a limited set of the full options available to PMI users (rigid bodies only, fixed resolutions).


class  PMIMoleculeHierarchy
 Extends the functionality of IMP.atom.Molecule. More...
class  Sequences
 A dictionary-like wrapper for reading and storing sequence data. More...
class  TopologyReader
 Automatically setup System and Degrees of Freedom with a formatted text file. More...