Contact Map Explorer
This package provides tools for analyzing and exploring contacts (residue-residue and atom-atom) from a trajectory generated by molecular dynamics. It builds on the excellent tools provided by MDTraj.
Contacts can be an important tool for defining (meta)stable states in processes involving biomolecules. For example, an analysis of contacts can be particularly useful when defining bound states during a binding processes between proteins, DNA, and small molecules (such as potential drugs).
The contacts analyzed by Contact Map Explorer can be either intermolecular or intramolecular, and can be analyzed on a residue-residue basis or an atom-atom basis.
This package makes it very easy to answer questions like:
- What contacts are present in a trajectory?
- Which contacts are most common in a trajectory?
- What is the difference between the frequency of contacts in one trajectory and another? (Or with a specific frame, such as a PDB entry.)
- For a particular residue-residue contact pair of interest, which atoms are most frequently in contact?
It also facilitates visualization of the contact matrix, with colors representing the fraction of trajectory time that the contact was present.
Full documentation is at http://contact-map.readthedocs.io/.
The easiest way to install is with
conda. Conda is a powerful package and
environment management system. If you do not already have a highly
customized Python environment, we recommend starting by installing
either in the full anaconda
distribution or the smaller-footprint
miniconda. This package is distributed
through the conda-forge channel; install it with:
conda install -c conda-forge contact_map
If you don't want to use
conda, you can also use
pip (via a more
complicated process) or do a developer install. See the installation
Support and development
Contact Map Explorer is an open source project, released under the GNU LGPL, version 2.1 or (at your option) any later version. Development takes place in public at https://github.com/dwhswenson/contact_map; your contributions would be welcome!
If you have suggestions or bug reports, please raise an issue on our GitHub issue page.