Merge pull request #121 from RosettaCommons/rfalford12/rosetta_membrane3
Rosetta Membrane Framework Updates (October 2014)
--------------------------------------------------------
This merge includes a series of bug fixes, updates, and new Rosetta membrane framework applications.
Summary of Changes:
(1) Loading in Membrane Models: Add capability to load in a membrane PDB. This could be a PDB output by another framework application or something created manually. Two ways to do this:
(a) Search the PDB for a membrane definition (pass -in:membrane)
(b) Specify the position of the membrane residue on the command line
(2) Membrane residues:
(a) Adding residue property MEMBRANE for EMB and MEM residue types.
(b) Similar to (a): adding back Is_membrane() methods in residue type
(c) Updated membrane and embedding residue param files (defaults) in fa_standard and centroid
(3) Library reorganization: Moved io (resource manager) and geometry (utilities) code to the protocols level (protocols/membrane).
(4) Changed default membrane fold tree behavior: Adds membrane residue by jump to the center of mass residue of the protein instead of just appending to the end.
(5) PyMOL Viewer: Fixing a ton of bugs, making the implementation more generalizable
(a) Removed old membrane planes class (not needed)
(b) Computing plane positions on the python side (more lightweight, flexible with other Rosetta protocols)
(c) When the membrane position changes, pymol will now dynamically redraw the planes.
(d) Removed the extra -view_in_pymol flag. If the framework is on and pymol viewer is on, membrane planes will automatically be drawn during visualization.
(6) Updating score_jd2: Score_jd2 compatibility with the membrane framework. Can score a new membrane protein or rescore a pdb output from another framework application
(7) Rosetta scripts hooks for all membrane movers.
(a) AddMembraneMover
(b) MembranePositionFromTopology
(c) SetMembranePositionMover
(d) VisualizeMembranePlanesMover
(e) SetupForMembraneSymmetry
(8) Membrane Relax Protocol: Application for refinement of membrane protein structures using membrane min cycles. Still in pilot apps.
(9) Symmetric Membrane Protein-Protein Docking Protocol: Application for symmetric protein-protien docking with the membrane framework. Includes a generic SetupForMembraneSymmetry mover. Still in pilot apps.
(10) Integration tests for load time, symmetric membrane protein-protein docking, and membrane relax
(11) Support for demos (in Rosetta/demos directory) for all 5 membrane framework applications
Test Status
-------------------
Mac build: All Pass
Unit Tests: All pass
Score Regression: Expected changes due to PDB info for MEM residue updates (no numerical changes, just PDB differences)
Integration Tests:
- mpframework integration tests - changed due to add
- membrane_relax - changed due to deprecation message in old membrane energy methods
- assemble_domains_jd2, broker, metalloprotein_broker, others - fixing rms print in scorefile with Luki's patch
- score_jd2 - change due to adding membrane functionality in this application
The linux tests have not yet completed on the test server - seems backed up quite a few commits. If there are any concerns or issue I will be sure to watch out for them and address as they come up. Please let me know if you have any concerns.