Skip to main content

Shows protein backbone structures in compact graphical form using Ramachandran numbers

Project description

This tool provides easily readable "pictures" of protein conformations, ensembles, and trajectories saved as either a combined protein databank (PDB) structure file, or a directory of such files, and produces graphs.


pip install backmap


pip install -I backmap


Module Usage

import backmap
print backmap.R(phi=0,psi=0)

See the manuscript for more information regarding uses.

Stand-alone Usage

python -m backmap.__init__ -pdb ./pdbs/ProteinDatabankStructureFilename.pdb
python -m backmap.__init__ -pdb /directory/containing/pdbs/

The .__init__ is needed because the main file we are referencing is backmap/

Expected output to the stand alone mode

Three graphs (in both png/raster and pdf/vector format)

./pdbs/reports/filename.rcode.pdf/png      (y-axis: residue #; color: R number based on "-signed" and <rcode_cmap>)
./pdbs/reports/filename.rcode.his.pdf/png  (y-axis: Ramachandran number (R); color: frequency of R in model)
./pdbs/reports/filename.rcode.rmsf.pdf/png (y-axis: residue #; color: RMSF in R from the previous model)
./pdbs/reports/filename.rcode.rmsd.pdf/png (y-axis: residue #; color: RMSD in R from the previous model)

(the last two files may not be created if only one model exists in the PDB file.)

Additional tags

-h       -     Prints a help file
-signed  -     Use the signed version of the ramachandran number

Example output I: a structurally stable protein (1XQQ)

The histogram below shows within the protein the presence of both helices (at R ~ 0.34) and sheets (at R ~ 0.52). The panel next to the histogram plot describes the various conformations within the ensemble.


Additionally, the per-residue plots below (colored by two different metrics or CMAPs), show that most of the protein backbone remains relatively stable (e.g., few fluctuations are evident over the frame #)

The following plots describe a) the extent towards which a single residue's state has deviated from the first frame (left), and b) the extent towards which a single residues state has deviated from the state in the previous frame (right). Both these graphs, as expected from the graphs above, show that this protein is relatively conformationally stable.

Example output II: an intrinsically disordered protein (2FFT)

As compared to the conformationally stable protein above, an intrinsically disordered protein 2FFT is much more flexible. This is especially evident in the fact that each frame within the histogram graph displays a diverse range of R.

Interestingly, the graphs below show that while the conformational state of almost every residue dramatically fluctuates, except residues 15 through 25, which is the only stable region of the protein. This trend would be hard to recognize by simply looking at the structure.

The stable region (residues 15 through 25) is also evident when looking at fluctuations.


The Ramachandran number concept is discussed in the following manuscripts (this tool is discussed in the first reference):

  1. Mannige (2018) "The Backmap Python Module: How a Simpler Ramachandran Number Can Simplify the Life of a Protein Simulator" Manuscript Prepared. Preprint available the manuscript/manuscript subdirectory of this repo.
  2. Mannige, Kundu, Whitelam (2016) "The Ramachandran Number: An Order Parameter for Protein Geometry" PLoS ONE 11(8): e0160023. Full Text:

Project details

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

backmap-0.0.2.post0.dev1.tar.gz (22.5 MB view hashes)

Uploaded Source

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page