IMP Reference Guide
2.8.0
The Integrative Modeling Platform
|
Python classes to represent, score, sample and analyze models. More...
Python classes to represent, score, sample and analyze models.
![Build Status](https://travis-ci.org/salilab/pmi.svg?branch=develop) ![codecov](https://codecov.io/gh/salilab/pmi/branch/develop/graph/badge.svg) ![Codacy Badge](https://api.codacy.com/project/badge/Grade/bcced071b3f541449d723a774ea09026)
This module contains a variety of high-level Python classes to simplify the construction of a modeling protocol in IMP. One recent use of PMI is the modeling of the Nup84 subcomplex of the nuclear pore complex. Several other applications can be seen at the IMP systems page.
This module is still under heavy development, and should be considered experimental.
See also the PMI changelog.
The objective of PMI is to make it as easy as possible to use the powerful representation, scoring, and sampling tools within IMP (and to add some cool analysis functionality) for common modeling problems. Most PMI classes wrap multiple IMP classes and functions that are commonly combined. While this greatly improves usability, it can reduce flexibility. Let us know if you want to do something not currently supported.
The typical flow of a PMI modeling script is as follows:
Here are some examples to get you started
One can create multiple simultaneous representations in PMI. Here is a brief overview:
See a longer discussion of resolutions here.
Check out some examples or systems that use PMI.
Author(s): Riccardo Pellarin, Charles Greenberg, Daniel Saltzberg, Peter Cimermancic, Ben Webb, Daniel Russel, Elina Tjioe, Seung Joong Kim, Max Bonomi, Yannick Spill
Maintainers: Riccardo Pellarin, Charles Greenberg, Daniel Saltzberg
License: LGPL This library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.
Publications:
Namespaces | |
analysis | |
Tools for clustering and cluster analysis. | |
dof | |
Create movers and setup constraints for PMI objects. | |
io | |
Utility classes and functions for reading and storing PMI files. | |
macros | |
Protocols for sampling structures and analyzing them. | |
metadata | |
Classes for attaching metadata to PMI objects. | |
mmcif | |
Support for the mmCIF file format. | |
nonmaintained | |
Nonmaintained code. | |
output | |
Classes for writing output files and processing them. | |
representation | |
Representation of the system. | |
restraints | |
Classes to handle different kinds of restraints. | |
samplers | |
Sampling of the system. | |
tools | |
Miscellaneous utilities. | |
topology | |
Set of python classes to create a multi-state, multi-resolution IMP hierarchy. | |
Classes | |
class | CompositeRestraint |
A restraint for ambiguous cross-linking MS data and multiple state approach. More... | |
class | InternalCoordinatesConstraint |
An example singleton modifier. More... | |
class | MembraneRestraint |
Membrane Restraint. More... | |
class | Resolution |
Add resolution to a particle. More... | |
class | SigmoidRestraintSphere |
Simple sigmoidal score calculated between sphere surfaces. More... | |
class | Symmetric |
Add symmetric attribute to a particle. More... | |
class | TransformMover |
Modify the transformation of a rigid body. More... | |
class | Uncertainty |
Add uncertainty to a particle. More... | |
Functions | |
RestraintSet * | create_elastic_network (const Particles &ps, Float dist_cutoff, Float strength) |
Create an elastic network restraint set. More... | |
Float | get_bipartite_minimum_sphere_distance (const IMP::core::XYZRs &m1, const IMP::core::XYZRs &m2) |
Float | get_dihedral_angle (const atom::Atom &p1, const atom::Atom &p2, const atom::Atom &p3, const atom::Atom &p4) |
bool | get_is_canonical (atom::Hierarchy h) |
Walk up a PMI2 hierarchy/representations and check if the root is named System. More... | |
Floats | get_list_of_bipartite_minimum_sphere_distance (const ParticlesTemps &pss) |
std::string | get_molecule_name_and_copy (atom::Hierarchy h) |
Walk up a PMI2 hierarchy/representations and get the "molname.copynum". More... | |
Standard module functions | |
All | |
std::string | get_module_version () |
std::string | get_module_name () |
std::string | get_data_path (std::string file_name) |
Return the full path to one of this module's data files. More... | |
std::string | get_example_path (std::string file_name) |
Return the full path to one of this module's example files. More... | |
RestraintSet* IMP::pmi::create_elastic_network | ( | const Particles & | ps, |
Float | dist_cutoff, | ||
Float | strength | ||
) |
Create an elastic network restraint set.
Definition at line 26 of file utilities.h.
std::string IMP::pmi::get_data_path | ( | std::string | file_name | ) |
Return the full path to one of this module's data files.
To read the data file "data_library" that was placed in the data
directory of this module, do something like
This will ensure that the code works both when IMP is installed or if used via the setup_environment.sh
script.
std::string IMP::pmi::get_example_path | ( | std::string | file_name | ) |
Return the full path to one of this module's example files.
To read the example file "example_protein.pdb" that was placed in the examples
directory of this module, do something like
This will ensure that the code works both when IMP is installed or if used via the setup_environment.sh
script.
bool IMP::pmi::get_is_canonical | ( | atom::Hierarchy | h | ) |
Walk up a PMI2 hierarchy/representations and check if the root is named System.
Definition at line 91 of file utilities.h.
std::string IMP::pmi::get_molecule_name_and_copy | ( | atom::Hierarchy | h | ) |
Walk up a PMI2 hierarchy/representations and get the "molname.copynum".
Definition at line 85 of file utilities.h.