Does the world really need another protein viewer? The answer is, well, yes.
The Ramachandran Plot Explorer is designed to make it easy to examine the conformation of a polypeptide - through the interactive Ramachandran plot (φ-ψ angles) and χ-angle tool. Simply click on a residue, then drag the marker on the Ramachandran plot.
To see how conformational changes might affect the energetics, I've included real-time calculation of H-bonds, weak H-bonds and steric clashes. This makes it easy to see why (i) certain regions of the Ramachandran plot (what is this?) are forbidden, and (ii) certain sidechain chi angles are favoured, (iii) the core is packed so tightly.
You can also edit (cut/paste/insert) protein sequences and mutate residues, with a simple click of the mouse.
I've worked hard to make an intuitive interface with lots of visual cues and feedback, and I've included what, I think, is a necessary set of navigating tools (sequence-bar, z-slab-bar, snake-measure tool). The program uses native widgets (standard file open/save dialogs!) and you can resize the window to your heart's content.
There is a 3-point-clamp function, that (i) explores discrete solutions of a loop with fixed anchors and 3 hinge-residues, and (ii) allows the exploration of the phi/psi angles of residues inside the clamp without disturbing the rest of the protein.
Limited to a single chain.
Version 1.0 release 9/13/06
Now available for Linux, Windows and MacOSX:
Send me bug reports or improvements.
New features
- native widgets
- resizable windows
- undo (thanks Design Patterns)
- slab control bar (thanks Yu-Chen)
- depth coloring (thanks Yu-Chen)
- complex cut-and-paste (thanks Scott)
- usable clamp controls
- instant steric-clashes (everybody wanted this)
- menu items to turn off interactions and depth-coloring (thanks Scott)
- numerical entry to set phi/psi (thanks Scott)
Older versions (for ha-ha value)
Downloads include executable, allegro library, source and a few pdb files for you to play with:
- 0.9: rama-0.9-win.zip and rama-0.9-linux.tar.gz.
- 0.7: combined rama-0.7.zip .
- 0.6: rama-0.6-linux.tar.gz and rama-0.6-win.zip.
- 0.1: rama-0.1-win.tar.gz
Exploration Loop Conformations with a Mouse
In Version 0.9, I added a great feature, namely, the tri-peptide loop closure based on the Coutsias-Seok-Jacobsen-Dill algorithm.
What does that mean in English?
It means that you can put a clamp on a loop, and explore the conformations of the loop without disturbing the rest of the protein. How do you do this? It's easy:
- start the Ramachandran Plot Explorer
- click on "pick anchor"
- select the 2 anchor residues that define the loop
- select 1 pivot residue that is in between the 2 anchor residues
- choose the (up to 16) discrete solutions of the loop where only the phi/psi angles of the 2 anchor residues and the pivot residues are changed.
- click on "pick res"
- choose a residue in the loop apart from the anchors and pivot residues.
- drive the loop conformation by changing the phi/psi angles of the chosen residue.
Coupling the Proline Ring to the Protein Backbone
New in version 0.7 is an algorithm that generates the coupling of the flexible proline ring conformations to the protein backbone (thanks Vageli Coutsias!). To explore the proline ring:
- start the Ramachandran Plot Explorer
- go to the sequence in the top left hand corner
- select proline (P) by clicking on P in the sequence
- center on P by clicking on the little square below P
- drag with left mouse button to rotate; drag with right mouse button to zoom
- go to the Ramachandran plot in the lower-left hand corner
- drag the phi/psi torsions to change the proline ring conformation
- click on UP and DOWN to switch the pucker
Programming Details
- written in C++, using the STL
- in v1.0, I switched to the wxWidgets library, a cross-platform gui with native widgets.
- v0.65, v0.7, 0.9 uses the allegro games engine.
- GPL license
Lessons in installing wxWidgets
For mac and unix, first unzip the wxWidgets src into a wxWidgets directory
- goto the wxWidgets directory
- create a build directory under the wxWidgets directory, which will hold the compiled libraries: "mkdir osx-build", or "mkdir gtk-build"
- Then, go there: "chdir osx-build", or "chdir gtk-build" and create the makefile with the correct settings on your machine: "../configure --disable-shared". Disabling shared libraries is important as we want everything in wxWidgets to be compiled in one binary, for you to distribute to your users, of course.
- "make" to compile the source into the sub-directories of the build directories
- Now goto the demos directory in the build directory, choose one of the demos, say "demos/bombs"
- Goto the "demos/bombs" directory and compile, but catch the actual shell commands "make > output.log"
- Use the output.log to get the parameters for linking the wxWidgets library to your program during your compile