「view this page in B3 βῆτα server」

Revisions №60734

branch: master 「№60734」
Commited by: Rebecca Alford
GitHub commit link: 「62772282c971ed9d」 「№3367」
Difference from previous tested commit:  code diff
Commit date: 2019-05-09 10:27:02

Merge pull request #3367 from RosettaCommons/rfalford12/implicit_lipid_membrane Implicit Lipid Membrane Energy Function A new all-atom, physics-based energy function for membrane protein modeling and design. The energy function captures the anisotropic structure and dimensions of phospholipid bilayers through parameterization from biophysical data and multi-scale computational modeling. We use an implicit representation inspired by the original Lazaridis Implicit Membrane Model. The key improvements are (1) polarity gradients derived from thermodynamically-rigorous transfer energy measurements, (2) membrane thickness parameters derived for different lipid compositions and (3) a continuous, differentiable aqueous pore/channel representation. All of this work is documented in: Alford RF, Fleming PJ, Fleming KG, Gray JJ (2019) "Protein structure prediction and design in a biologically-realistic implicit membrane" bioRxiv Link: https://www.biorxiv.org/content/10.1101/630715v1 The energy function is called `franklin2019`, named after Rosalind Franklin to honor the achievements of women in science. The energy function will be the **default** for applications using the RosettaMPFramework. To revert to the previous behavior, use the flag `-restore_imm_lazaridis_behavior` Below is a summary of the code captured by this branch: ## Additions & Changes to the source code #### Database _Deleted_ - membrane.mp - embeddings.mp _Added_ - `database/membrane/implicit_lipid_parameters.txt`: Parameters describing different membrane lipid compositions derived from a combination of all-atom molecular dynamics simulations and X-Ray/Neutron scattering measurements of planar phospholipid bilayers - `database/membrane/memb_fa_params_2019.txt`: Per-atom water-to-lipid transfer energies derived from Moon & Fleming, 2011 #### Applications _Added_ - `apps/pilot/ralford/mp_seqrecov.cc`: Calculates sequence recovery statistics dependent on the fractional hydration of side chains relative to the membrane environment. In addition to total, buried, and exposed sequence recovery, we also compute statistics for lipid-facing, aqueous-facing, and interfacial side chains. - `apps/pilot/ralford/color_by_lipid_type`: Fills the b-factor column with xyz-dependent fractional hydration values. Can be used to visualize the hydration in PyMOL _Made compatible with the membrane framework_ - `apps/pilot/frank/min_test.cc` - `apps/public/design/fixbb.cc` - `apps/public/backrub.cc` _Removed redundant mpframework calls_ - `apps/public/membrane/mp_lipid_acc.cc` #### Objects - `numeric/linear_algebra/EllipseParameters.*`: A class defining the shape of a two-dimensional rotated ellipse - `core/conformation/membrane/AqueousPoreParameters.*`: A class defining the shape of an aqueous pore which varies in the x-, y-, and z-dimensions - `core/conformation/membrane/ImplicitLipidInfo.*`: A class to define the physical and chemical properties of the implicit membrane environment. Currently, it is mainly used by the energy function and stores (1) parameters of the hydration function (.e.g thickness, rate of transition, pore size), (2) lipid composition details, (3) hydration function smoothing parameters, and (4) structure-based lipid accessibility information - `protocols/membrane/scoring/MEnvAtomParams.*`: A container class for atomic water-to-bilayer transfer energy parameters #### Algorithms - `numeric/linear_algebra/minimum_bounding_ellipse`: An implementation of the Khachiyan minimum-bounding ellipse algorithm #### Movers - `AqueousPoreFinder`: Calculates the parameters of an elliptical aqueous pore with varying cross section - `MembraneEnergyLandscapeSampler`: Map the energies to all possible orientations of single transmembrane peptides as a function of tilt angle and depth relative to the membrane normal and center. - `PeptideOrientationMover`: Calculate the energy of a peptide at a specific tilt angle and depth #### Energy Terms - `fa_water_to_bilayer`: Calculates the water-to-bilayer transfer energy of an atomic group given its identity and fractional hydration. This energy term is defined within `FaWaterToBilayerEnergy` in `protocols/membrane/scoring` #### Adjustments to the RosettaMP Framework - `MembraneInfo` now stores an ImplicitLipidInfo object - The hydrogen bonding energy correction is no longer the default, since it is not currently used by franklin2019. The user must pass the flag `-mp:scoring:hbond`. This has been adjusted in the older MP Framework integration tests. - `AddMembraneMover` includes three new steps in the default setup: (1) initialize per-atom lipid accessibility data (2) initialize lipid-specific parameters, and (3) initialize the dimensions of the aqueous pore by default. The prior behavior can be obtained by passing the flag `-restore_imm_lazaridis_behavior` - `MPLipidAccessibility`: Adjusted to store data so it can be passed to other classes. Also added an additional critera for being an alpha_helical memrbane protein, and updated the thickness to use ImplicitLipidInfo where appropriate - Updated the sub-class `SymmetricAddMembraneMover` so it still adheres to the class definition #### Options - `-restore_lazaridis_imm_behavior`: Restore default membrane energy function behavior to Lazaridis IMM1 - `-mp:lipids:composition`: Type of lipids to use in implicit model representation, default is DLPC - `-mp:lipids:temperature`: Temperature at which the lipid composition parameters were measured, default = 37.0 - `-mp:lipids:has_pore`: Manual override to not use pore estimation ## Additions & Changes to the tests #### Unit Tests _Added_ - test/core/conformation/membrane/ImplicitLipidInfo.cxxtest.hh - numeric/linear_algebra/minimum_bounding_ellipse.cxxtest.hh _Extended_ - protocols/membrane/AddMembraneMover.cxxtest.hh - protocols/membrane/AqueousPoreFinderTest.cxxtest.hh - protocols/membrane/MPLipidAccessibility.cxxtest.hh - test/protocols/membrane/MembraneUtil.cxxtest.hh #### Integration tests _Added_ - mpil_load_implicit_lipids - mpil_find_pore_ahelical - mpil_find_pore_bbarrel _Adjusted for compatibility_ - homodimer_fnd_ref2015_memb - mp_dock - mp_dock_prepack - mp_dock_setup - mp_domain_assembly - mp_domain_assembly_FtsQ - mp_find_interface - mp_interface_statistics - mp_mutate_relax - mp_mutate_repack - mp_quick_relax_ref2015_memb - mp_range_relax - mp_relax - mp_span_ang_ref2016_memb - mp_symdock - mp_transform_optimize - mp_vis_emb - res_lipo_ref2015_memb #### Score Function Fingerprint Tests _Added_ - franklin2019 _Adjusted for compatibility_ - membrane_fa_pH - membrane_fa_scorefxn - menv_smooth_sfxn - ref2015_memb - ref2015_on_memb

Rocco Moretti 5 years
It looks like there's date and version info in the output structures for the franklin2019 score tests, which are causing persistent "failures" on the test server.
...