IMP Reference Guide  develop.840389f980,2022/05/22 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.
• 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_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 System.build() 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).

## Classes

class  PMIMoleculeHierarchy
Extends the functionality of IMP.atom.Molecule. More...

class  Sequences
A dictionary-like wrapper for reading and storing sequence data. More...