Rosetta  2020.37
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Namespaces | Classes | Typedefs | Functions
protocols::membrane Namespace Reference

Namespaces

 benchmark
 
 geometry
 
 scoring
 
 symmetry
 
 visualize
 

Classes

class  AddMembraneMover
 Initialize the RosettaMP framework by adding representations of the membrane. More...
 
class  AddMembraneMoverCreator
 Mover Creator. More...
 
class  AddMembraneSpanConstraint
 
class  AddMembraneSpanConstraintCreator
 Mover Creator. More...
 
class  AddMembraneSpanTermZConstraint
 
class  AddMembraneSpanTermZConstraintCreator
 Mover Creator. More...
 
class  AddMPLigandMover
 Add Membrane protein ligand mover. More...
 
class  AddMPLigandMoverCreator
 Mover Creator. More...
 
class  AqueousPoreFinder
 Compute the center, major axis and minor axis of an ellipsoidal aqueous pore. More...
 
class  AqueousPoreFinderCreator
 
class  FlipMover
 Takes a pose and flips the downstream partner around the axis between the COMs of the partners, projected into the membrane plane. CAUTION: THIS MOVER ONLY WORKS FOR A FIXED MEMBRANE WHERE THE MEMBRANE VIRTUAL RESIDUE IS AT THE ROOT OF THE FOLDTREE!!! More...
 
class  FlipMoverCreator
 Mover Creator. More...
 
class  HelixFromSequence
 Generates a (transmembrane) helix from a fasta file containing the sequence. More...
 
class  HelixFromSequenceCreator
 
class  MembranePositionFromTopologyMover
 Compute the initial position of the membrane based upon sequence or structure. More...
 
class  MembranePositionFromTopologyMoverCreator
 Mover Creator. More...
 
class  MPLipidAccessibility
 Mover that computes which residues are lipid accessible and puts that information into the B-factors: 50 is lipid accessible, 0 is lipid INaccessible. More...
 
class  MPLipidAccessibilityCreator
 
class  MPMutateRelaxMover
 
class  MPMutateRelaxMoverCreator
 Mover Creator. More...
 
class  MPQuickRelaxMover
 
class  MPQuickRelaxMoverCreator
 Mover Creator. More...
 
class  OptimizeMembranePositionMover
 
class  OptimizeMembranePositionMoverCreator
 Mover Creator. More...
 
class  OptimizeProteinEmbeddingMover
 
class  OptimizeProteinEmbeddingMoverCreator
 Mover Creator. More...
 
class  RandomPositionRotationMover
 Random Position Rotation Move. More...
 
class  RandomPositionTranslationMover
 Random Position Translation Move. More...
 
class  RotationMover
 Rotates the pose such that a vector in the old orientation will be overlayed in the new orientation. Requires two vectors (old and new) and a point on the new vector around which the rotation takes place. The mover is a general mover but used mainly on membrane proteins. For membrane proteins, the two vectors will be the old and new normal and the point will be the new center. The default jump is going to be the membrane jump, but you can also specify your own. The rotation happens around the axis perpendicular to both vectors with an angle enclosed by both vectors. More...
 
class  RotationMoverCreator
 Mover Creator. More...
 
class  SetMembraneCenterMover
 Membrane Position Translation Move. More...
 
class  SetMembraneCenterMoverCreator
 Mover Creator for membrane translation mover. More...
 
class  SetMembraneNormalMover
 Membrane Position Rotation Move. More...
 
class  SetMembraneNormalMoverCreator
 Mover creator for membrane rotation mover. More...
 
class  SetMembranePositionMover
 Membrane Position Translation-Rotation Mover. More...
 
class  SetMembranePositionMoverCreator
 Mover Creator for composed RT mover. More...
 
struct  SpanInfo
 A utility class to store deferred parse span information. More...
 
class  SpinAroundPartnerMover
 
class  SpinAroundPartnerMoverCreator
 Mover Creator. More...
 
class  TiltMover
 Tilts the downstream partner along the axis between the COMs of the partners. More...
 
class  TiltMoverCreator
 Mover Creator. More...
 
class  TransformIntoMembraneMover
 Transform a pose into membrane coordinates based on the current embedding of the protein. More...
 
class  TransformIntoMembraneMoverCreator
 Mover Creator. More...
 
class  TranslationMover
 Translation vector can be defined in -mp:setup center flag to translate the new pose to. The mover is a general mover but used mainly on membrane proteins, that's why we use this flag here The default jump is going to be the membrane jump, but you can also specify your own. More...
 
class  TranslationMoverCreator
 Mover Creator. More...
 
class  TranslationRotationMover
 Translation and Rotation of a pose. The new position can be defined by the -mp:setup center and normal flags. The mover is a general mover, but used mainly on membrane proteins, that's why we use this flag here. The default jump is going to be the membrane jump, but you can also specify your own. See above for the TranslationMover and the RotationMover. More...
 
class  TranslationRotationMoverCreator
 Mover Creator. More...
 

Typedefs

typedef
utility::pointer::shared_ptr
< AddMembraneMover
AddMembraneMoverOP
 
typedef
utility::pointer::shared_ptr
< AddMembraneMover const > 
AddMembraneMoverCOP
 
typedef
utility::pointer::shared_ptr
< AddMembraneSpanConstraint
AddMembraneSpanConstraintOP
 
typedef
utility::pointer::shared_ptr
< AddMembraneSpanConstraint
const > 
AddMembraneSpanConstraintCOP
 
typedef
utility::pointer::shared_ptr
< AddMembraneSpanTermZConstraint
AddMembraneSpanTermZConstraintOP
 
typedef
utility::pointer::shared_ptr
< AddMembraneSpanTermZConstraint
const > 
AddMembraneSpanTermZConstraintCOP
 
typedef
utility::pointer::shared_ptr
< AddMPLigandMover
AddMPLigandMoverOP
 
typedef
utility::pointer::shared_ptr
< AddMPLigandMover const > 
AddMPLigandMoverCOP
 
typedef
utility::pointer::shared_ptr
< AqueousPoreFinder
AqueousPoreFinderOP
 
typedef
utility::pointer::shared_ptr
< AqueousPoreFinder const > 
AqueousPoreFinderCOP
 
typedef
utility::pointer::shared_ptr
< FlipMover
FlipMoverOP
 
typedef
utility::pointer::shared_ptr
< FlipMover const > 
FlipMoverCOP
 
typedef
utility::pointer::shared_ptr
< MembranePositionFromTopologyMover
MembranePositionFromTopologyMoverOP
 
typedef
utility::pointer::shared_ptr
< MembranePositionFromTopologyMover
const > 
MembranePositionFromTopologyMoverCOP
 
typedef
utility::pointer::shared_ptr
< MPLipidAccessibility
MPLipidAccessibilityOP
 
typedef
utility::pointer::shared_ptr
< MPLipidAccessibility const > 
MPLipidAccessibilityCOP
 
typedef
utility::pointer::shared_ptr
< MPQuickRelaxMover
MPQuickRelaxMoverOP
 
typedef
utility::pointer::shared_ptr
< MPQuickRelaxMover const > 
MPQuickRelaxMoverCOP
 
typedef
utility::pointer::shared_ptr
< OptimizeMembranePositionMover
OptimizeMembranePositionMoverOP
 
typedef
utility::pointer::shared_ptr
< OptimizeMembranePositionMover
const > 
OptimizeMembranePositionMoverCOP
 
typedef
utility::pointer::shared_ptr
< OptimizeProteinEmbeddingMover
OptimizeProteinEmbeddingMoverOP
 
typedef
utility::pointer::shared_ptr
< OptimizeProteinEmbeddingMover
const > 
OptimizeProteinEmbeddingMoverCOP
 
typedef
utility::pointer::shared_ptr
< RandomPositionRotationMover
RandomPositionRotationMoverOP
 
typedef
utility::pointer::shared_ptr
< RandomPositionRotationMover
const > 
RandomPositionRotationMoverCOP
 
typedef
utility::pointer::shared_ptr
< RandomPositionTranslationMover
RandomPositionTranslationMoverOP
 
typedef
utility::pointer::shared_ptr
< RandomPositionTranslationMover
const > 
RandomPositionTranslationMoverCOP
 
typedef
utility::pointer::shared_ptr
< SetMembranePositionMover
SetMembranePositionMoverOP
 
typedef
utility::pointer::shared_ptr
< SetMembranePositionMover
const > 
SetMembranePositionMoverCOP
 
typedef
utility::pointer::shared_ptr
< SetMembraneNormalMover
SetMembraneNormalMoverOP
 
typedef
utility::pointer::shared_ptr
< SetMembraneNormalMover const > 
SetMembraneNormalMoverCOP
 
typedef
utility::pointer::shared_ptr
< SetMembraneCenterMover
SetMembraneCenterMoverOP
 
typedef
utility::pointer::shared_ptr
< SetMembraneCenterMover const > 
SetMembraneCenterMoverCOP
 
typedef
utility::pointer::shared_ptr
< SpinAroundPartnerMover
SpinAroundPartnerMoverOP
 
typedef
utility::pointer::shared_ptr
< SpinAroundPartnerMover const > 
SpinAroundPartnerMoverCOP
 
typedef
utility::pointer::shared_ptr
< TiltMover
TiltMoverOP
 
typedef
utility::pointer::shared_ptr
< TiltMover const > 
TiltMoverCOP
 
typedef
utility::pointer::shared_ptr
< TransformIntoMembraneMover
TransformIntoMembraneMoverOP
 
typedef
utility::pointer::shared_ptr
< TransformIntoMembraneMover
const > 
TransformIntoMembraneMoverCOP
 
typedef
utility::pointer::shared_ptr
< TranslationMover
TranslationMoverOP
 
typedef
utility::pointer::shared_ptr
< TranslationMover const > 
TranslationMoverCOP
 
typedef
utility::pointer::shared_ptr
< RotationMover
RotationMoverOP
 
typedef
utility::pointer::shared_ptr
< RotationMover const > 
RotationMoverCOP
 
typedef
utility::pointer::shared_ptr
< TranslationRotationMover
TranslationRotationMoverOP
 
typedef
utility::pointer::shared_ptr
< TranslationRotationMover
const > 
TranslationRotationMoverCOP
 
typedef
utility::pointer::shared_ptr
< HelixFromSequence
HelixFromSequenceOP
 
typedef
utility::pointer::shared_ptr
< HelixFromSequence const > 
HelixFromSequenceCOP
 
typedef
utility::pointer::shared_ptr
< MPMutateRelaxMover
MPMutateRelaxMoverOP
 
typedef
utility::pointer::shared_ptr
< MPMutateRelaxMover const > 
MPMutateRelaxMoverCOP
 

Functions

std::ostream & operator<< (std::ostream &os, AqueousPoreFinder const &mover)
 
bool check_orientation (core::pose::Pose &pose, core::Size span_no)
 Check if the orientation of the TM span matches the orientation of the span in the pose. More...
 
core::Real mem_bb_rmsd_no_super (core::pose::Pose &native_pose, core::pose::Pose &pose)
 Compute backbone RMSD between TM regions - don't superimpose. More...
 
core::Real mem_all_atom_rmsd_no_super (core::pose::Pose &native_pose, core::pose::Pose &pose)
 Compute all-atom RMSD between TM regions - don't superimpose. More...
 
core::Real mem_bb_rmsd_with_super (core::pose::Pose &native_pose, core::pose::Pose &pose)
 Compute backbone RMSD between TM regions - do superimpose. More...
 
core::Real mem_all_atom_rmsd_with_super (core::pose::Pose &native_pose, core::pose::Pose &pose)
 Compute all-atom RMSD between TM regions - do superimpose. More...
 
core::Real calc_helix_tilt_angle (core::pose::Pose &pose, core::Size span_no)
 Calculate tilt of a TM span relative to the membrane normal. More...
 
core::Vector calc_helix_axis (core::pose::Pose &pose, core::Size span_no)
 Determine the axis used to define a single TM Helix. More...
 
core::Vector com (core::Vector a, core::Vector b, core::Vector c)
 Calculate center of mass between 3 xyz coords. More...
 
core::Real calc_angle_rmsd (core::Real measured_angle, core::Real ref_angle)
 Calculate the RMSD between a helix tilt angle & reference. More...
 
utility::vector1< core::Realpose_tilt_angle_and_center_distance (core::pose::Pose &pose)
 Calculate tilt angle and distance from membrane center. More...
 
bool is_membrane_fixed (core::pose::Pose &pose)
 Determine whether the membrane is modeled as fixed. More...
 
bool is_membrane_moveable_by_itself (core::pose::Pose &pose)
 Determine whether membrane can move on its own. More...
 
void reorder_membrane_foldtree (core::pose::Pose &pose)
 Set membrane residue to root of foldtree. More...
 
core::Size create_membrane_docking_foldtree_from_partners (core::pose::Pose &pose, std::string const &partners)
 Create a membrane foldtree with an interface. More...
 
core::Size create_membrane_foldtree_anchor_com (core::pose::Pose &pose)
 Create membrane foldtree from scratch. More...
 
core::Size create_membrane_foldtree_anchor_tmcom (core::pose::Pose &pose)
 Create membrane foldtree from scratch. More...
 
core::Size create_membrane_foldtree_anchor_pose_tmcom (core::pose::Pose &pose)
 Create membrane foldtree from scratch. More...
 
utility::vector1< core::Sizecreate_membrane_multi_partner_foldtree_anchor_tmcom (core::pose::Pose &pose, std::string partner)
 Create foldtree for multiple docking partners. More...
 
void create_membrane_foldtree_from_anchors (core::pose::Pose &pose, utility::vector1< core::Size > anchors)
 Helper function to create membrane foldtrees. More...
 
core::Size create_specific_membrane_foldtree (core::pose::Pose &pose, utility::vector1< core::Vector > anchors)
 Helper function to create a specific membrane foldtree. More...
 
utility::vector1< core::Sizeget_anchor_points_for_tmcom (core::pose::Pose &pose)
 Helper function to create membrane foldtrees. More...
 
core::Size setup_foldtree_pose_com (core::pose::Pose &pose)
 Setup foldtree from scratch. More...
 
void setup_foldtree_from_anchors (core::pose::Pose &pose, utility::vector1< core::Size > anchors)
 Helper function to setup foldtrees. More...
 
std::pair< utility::vector1
< core::Real >
, utility::vector1< core::Real > > 
get_chain_and_z (core::pose::Pose const &pose)
 Grab the z-coordinates and chainIDs from the entire pose. More...
 
utility::vector1< char > get_secstruct (core::pose::Pose &pose)
 Get dssp defined secondary structure from the pose. More...
 
void compute_structure_based_embedding (core::pose::Pose const &pose, core::conformation::membrane::SpanningTopology const &topology, core::Vector &center, core::Vector &normal)
 Compute Membrane Center/Normal from Membrane Spanning topology. More...
 
void compute_structure_based_embedding (core::pose::Pose const &pose, core::Vector &center, core::Vector &normal)
 Compute Membrane Center/Normal from Membrane Spanning topology, uses topology from MembraneInfo. More...
 
protocols::membrane::geometry::EmbeddingDefOP compute_structure_based_embedding (core::pose::Pose const &pose, core::conformation::membrane::SpanningTopology const &topo)
 Compute Membrane Center/Normal from Membrane Spanning topology. More...
 
protocols::membrane::geometry::EmbeddingDefOP compute_structure_based_embedding (core::pose::Pose const &pose)
 Compute Membrane Center/Normal from Membrane Spanning topology, uses topology from MembraneInfo. More...
 
protocols::membrane::geometry::EmbeddingOP compute_embeddings_by_chain (core::pose::Pose const &pose)
 Compute embedding by chain. More...
 
protocols::membrane::geometry::EmbeddingDefOP average_embeddings (utility::vector1< protocols::membrane::geometry::EmbeddingDefOP > const parts)
 Average EmbeddingDefs as they are without vector inversion accounting for topology. More...
 
protocols::membrane::geometry::EmbeddingDefOP average_antiparallel_embeddings (utility::vector1< protocols::membrane::geometry::EmbeddingDefOP > const parts)
 Average EmbeddingDefs after first inverting some vectors accounting for topology. More...
 
void update_partner_embeddings (core::pose::Pose const &pose, core::Size const jumpnum, protocols::membrane::geometry::EmbeddingDef &emb_up, protocols::membrane::geometry::EmbeddingDef &emb_down)
 Update embedding of the partners after a move. More...
 
core::Vector pose_tm_com (core::pose::Pose const &pose)
 Pose transmembrane center-of-mass. More...
 
core::Vector chain_com (core::pose::Pose const &pose, core::Size chainid)
 Chain center-of-mass. More...
 
core::Vector chain_tm_com (core::pose::Pose const &pose, core::Size chain)
 Chain center-of-mass of TM regions. More...
 
core::Size rsd_closest_to_pose_tm_com (core::pose::Pose const &pose)
 Residue closest to pose transmembrane center-of-mass. More...
 
core::Size rsd_closest_to_chain_com (core::pose::Pose const &pose, core::Size chainid)
 Residue closest to chain center-of-mass. More...
 
core::Size rsd_closest_to_chain_tm_com (core::pose::Pose const &pose, core::Size chainid)
 Residue closest to chain TM center-of-mass. More...
 
void check_vector (core::Vector const vector)
 Check reasonable range of vector. More...
 
void membrane_normal_to_length_15 (core::pose::Pose &pose)
 Normalize normal vector to length 15 for visualization. More...
 
core::Vector const membrane_axis (core::pose::Pose &pose, int jumpnum)
 Calculates translation axis lying in the membrane (= projection axis between embedding centers) More...
 
void split_topology_by_jump (core::pose::Pose const &pose, core::Size const jumpnum, core::conformation::membrane::SpanningTopology const &topo, core::pose::Pose &pose_up, core::pose::Pose &pose_down, core::conformation::membrane::SpanningTopology &topo_up, core::conformation::membrane::SpanningTopology &topo_down)
 Splits the SpanningTopology object into two objects, depending on given jump number. More...
 
void split_topology_by_jump_noshift (core::pose::Pose const &pose, core::Size const jumpnum, core::conformation::membrane::SpanningTopologyOP topo, core::conformation::membrane::SpanningTopologyOP topo_up, core::conformation::membrane::SpanningTopologyOP topo_down)
 Splits the SpanningTopology object into two objects, depending on given jump number. More...
 
utility::vector1
< core::conformation::membrane::SpanningTopologyOP
split_topology_by_chain_noshift (core::pose::Pose const &pose, core::conformation::membrane::SpanningTopologyOP const topo)
 Split topology by chain. More...
 
void read_center_normal_from_tag (core::Vector &center, core::Vector &normal, utility::tag::TagCOP tag)
 Read in a user provided center/normal pair from RosettaScripts. More...
 
void read_center_normal_from_cmd (core::Vector &center, core::Vector &normal)
 Read in a user provided center/normal pair from the commandline, safetly. More...
 
std::ostream & operator<< (std::ostream &os, HelixFromSequence const &mover)
 

Typedef Documentation

typedef utility::pointer::shared_ptr< AddMembraneMover const > protocols::membrane::AddMembraneMoverCOP
typedef utility::pointer::shared_ptr< AddMembraneMover > protocols::membrane::AddMembraneMoverOP
typedef utility::pointer::shared_ptr< AddMPLigandMover const > protocols::membrane::AddMPLigandMoverCOP
typedef utility::pointer::shared_ptr< AddMPLigandMover > protocols::membrane::AddMPLigandMoverOP
typedef utility::pointer::shared_ptr< AqueousPoreFinder const > protocols::membrane::AqueousPoreFinderCOP
typedef utility::pointer::shared_ptr< AqueousPoreFinder > protocols::membrane::AqueousPoreFinderOP
typedef utility::pointer::shared_ptr< FlipMover const > protocols::membrane::FlipMoverCOP
typedef utility::pointer::shared_ptr< FlipMover > protocols::membrane::FlipMoverOP
typedef utility::pointer::shared_ptr< HelixFromSequence const > protocols::membrane::HelixFromSequenceCOP
typedef utility::pointer::shared_ptr< HelixFromSequence > protocols::membrane::HelixFromSequenceOP
typedef utility::pointer::shared_ptr< MPLipidAccessibility const > protocols::membrane::MPLipidAccessibilityCOP
typedef utility::pointer::shared_ptr< MPLipidAccessibility > protocols::membrane::MPLipidAccessibilityOP
typedef utility::pointer::shared_ptr< MPMutateRelaxMover const > protocols::membrane::MPMutateRelaxMoverCOP
typedef utility::pointer::shared_ptr< MPMutateRelaxMover > protocols::membrane::MPMutateRelaxMoverOP
typedef utility::pointer::shared_ptr< MPQuickRelaxMover const > protocols::membrane::MPQuickRelaxMoverCOP
typedef utility::pointer::shared_ptr< MPQuickRelaxMover > protocols::membrane::MPQuickRelaxMoverOP
typedef utility::pointer::shared_ptr< RotationMover const > protocols::membrane::RotationMoverCOP
typedef utility::pointer::shared_ptr< RotationMover > protocols::membrane::RotationMoverOP
typedef utility::pointer::shared_ptr< SetMembraneCenterMover const > protocols::membrane::SetMembraneCenterMoverCOP
typedef utility::pointer::shared_ptr< SetMembraneNormalMover const > protocols::membrane::SetMembraneNormalMoverCOP
typedef utility::pointer::shared_ptr< SetMembranePositionMover const > protocols::membrane::SetMembranePositionMoverCOP
typedef utility::pointer::shared_ptr< SpinAroundPartnerMover const > protocols::membrane::SpinAroundPartnerMoverCOP
typedef utility::pointer::shared_ptr< TiltMover const > protocols::membrane::TiltMoverCOP
typedef utility::pointer::shared_ptr< TiltMover > protocols::membrane::TiltMoverOP
typedef utility::pointer::shared_ptr< TranslationMover const > protocols::membrane::TranslationMoverCOP
typedef utility::pointer::shared_ptr< TranslationMover > protocols::membrane::TranslationMoverOP
typedef utility::pointer::shared_ptr< TranslationRotationMover const > protocols::membrane::TranslationRotationMoverCOP

Function Documentation

protocols::membrane::geometry::EmbeddingDefOP protocols::membrane::average_antiparallel_embeddings ( utility::vector1< protocols::membrane::geometry::EmbeddingDefOP > const  parts)

Average EmbeddingDefs after first inverting some vectors accounting for topology.

Get average center and normal from a vector of EmbeddingDefs

References core::conformation::membrane::center, core::conformation::membrane::normal, and protocols::TR().

Referenced by protocols::membrane::geometry::Embedding::Embedding().

protocols::membrane::geometry::EmbeddingDefOP protocols::membrane::average_embeddings ( utility::vector1< protocols::membrane::geometry::EmbeddingDefOP > const  parts)

Average EmbeddingDefs as they are without vector inversion accounting for topology.

Average EmbeddingDefs as they are (without vector inversion accounting for topology)

Get average center and normal from a vector of EmbeddingDefs

References core::conformation::membrane::center, and core::conformation::membrane::normal.

Referenced by protocols::membrane::geometry::Embedding::add_span_embedding(), and protocols::membrane::geometry::Embedding::Embedding().

core::Real protocols::membrane::calc_angle_rmsd ( core::Real  measured_angle,
core::Real  ref_angle 
)

Calculate the RMSD between a helix tilt angle & reference.

Given a reference angle and measured angle, calculate the root mean square deviation between the two single values. Takes the measured tilt angle and reference angle (typically from experiment)

References core::scoring::rms.

core::Vector protocols::membrane::calc_helix_axis ( core::pose::Pose pose,
core::Size  span_no 
)

Determine the axis used to define a single TM Helix.

Using the COM of the helix start & end position, calculate a helix describing its geometry relative to the memrbane normal. Takes a pose & span number. Not a good approx for helices with kinks. TODO: CODE INSIDE SHOULD BE REPLACED WITH SPAN EMBEDDING CALCULATIONS! THAT'S WHAT THEY ARE THERE FOR! (JKLeman)

References com(), core::pose::Pose::membrane_info(), core::pose::Pose::residue(), core::pose::Pose::size(), and core::conformation::Residue::xyz().

Referenced by protocols::membrane::benchmark::SampleTiltAngles::apply(), calc_helix_tilt_angle(), and check_orientation().

core::Real protocols::membrane::calc_helix_tilt_angle ( core::pose::Pose pose,
core::Size  span_no 
)

Calculate tilt of a TM span relative to the membrane normal.

Given a transmembrane span #, calculate the angle between the axis through the helix and the membrane normal. Works for relatively straight helices but less accurate for kinks. Takes a pose & span number

Given a transmembrane span #, calculate the angle between the axis through the helix and the membrane normal. Works for relatively straight helices but less accurate for kinks. Takes a pose & span number.

References calc_helix_axis(), core::pose::Pose::conformation(), core::pose::Pose::membrane_info(), and core::conformation::membrane::normal.

Referenced by protocols::membrane::benchmark::SampleTiltAngles::apply().

core::Vector protocols::membrane::chain_com ( core::pose::Pose const &  pose,
core::Size  chainid 
)

Chain center-of-mass.

Gets the coordinates of the chain center-of-mass

References com(), core::pose::get_center_of_mass(), and core::pose::Pose::split_by_chain().

core::Vector protocols::membrane::chain_tm_com ( core::pose::Pose const &  pose,
core::Size  chain 
)

Chain center-of-mass of TM regions.

Gets the coordinates of the chain center-of-mass but only the TM regions BE AWARE THAT THE LAST CHAIN FOR MEMBRANE PROTEINS IS THE MEMBRANE RESIDUE!!!

Gets the coordinates of the chain center-of-mass but only the TM regions

References core::pose::Pose::chain(), com(), core::sequence::end, core::pose::get_center_of_mass(), core::pose::Pose::membrane_info(), protocols::magnesium::pdbslice(), core::pose::Pose::split_by_chain(), and split_topology_by_chain_noshift().

Referenced by rsd_closest_to_chain_tm_com().

bool protocols::membrane::check_orientation ( core::pose::Pose pose,
core::Size  span_no 
)
void protocols::membrane::check_vector ( core::Vector const  vector)

Check reasonable range of vector.

References protocols::TR().

Referenced by protocols::membrane::geometry::EmbeddingDef::check_range().

core::Vector protocols::membrane::com ( core::Vector  a,
core::Vector  b,
core::Vector  c 
)

Calculate center of mass between 3 xyz coords.

Given three xyz vectors, calculate the center of mass and return a vector. Helper method to calc_helix axis.

Referenced by protocols::rigid::RollMover::apply(), protocols::ligand_docking::ga_ligand_dock::GALigandDock::apply(), protocols::hbnet::HBNet::apply(), protocols::electron_density::DockIntoDensityMover::apply_multi(), protocols::simple_filters::ResidueDepthCalculator::bring_to_origin(), calc_helix_axis(), chain_com(), chain_tm_com(), protocols::constel::cnl_com(), protocols::forge::remodel::compute_center_of_mass(), protocols::membrane::MPLipidAccessibility::compute_slice_com(), protocols::cryst::MakeLayerMover::detect_connecting_subunits(), protocols::simple_filters::HelixHelixAngleFilter::find_helix_vector(), core::scoring::membrane::MPSpanAngleEnergy::find_helix_vector(), protocols::motif_grafting::movers::MotifMatch::get_homogeneous_transform_com_from_orig(), protocols::electron_density::DockIntoDensityMover::get_spectrum(), protocols::constraints_additional::BindingSiteConstraint::init(), protocols::constel::FilterByProxTerm::is_satisfied(), protocols::ligand_docking::ga_ligand_dock::LigandConformer::ligand_xyz(), protocols::simple_moves::PeriodicBoxMover::perturb_molecule_move(), protocols::cryst::MakeLayerMover::place_near_origin(), protocols::cryst::MakeLatticeMover::place_near_origin(), pose_tm_com(), protocols::constraints_additional::BindingSiteConstraint::pre_align(), protocols::simple_moves::PeriodicBoxMover::recenter_pose(), rsd_closest_to_chain_tm_com(), rsd_closest_to_pose_tm_com(), protocols::simple_moves::PeriodicBoxMover::setup_pose(), protocols::legacy_sewing::LegacyRepeatAssemblyMover::transform_segment_coords(), protocols::environment::CoMTrackerCM::update_com(), and protocols::ligand_docking::ga_ligand_dock::LigandConformer::update_conf().

protocols::membrane::geometry::EmbeddingOP protocols::membrane::compute_embeddings_by_chain ( core::pose::Pose const &  pose)

Compute embedding by chain.

Compute embeddings by chain.

The embeddings can be computed either from pose and topology or they can be optimized differently; the function correlates each EmbeddingDef object in embeddings with a span object in the pose's topology

The embeddings can be computed either from pose and topology or they can be optimized differently; the function correlates each EmbeddingDef object in embeddings with a span object in the pose's topology; The bool means whether embeddings in Embedding object are antiparallel or not

References compute_structure_based_embedding(), core::pose::Pose::membrane_info(), and split_topology_by_chain_noshift().

void protocols::membrane::compute_structure_based_embedding ( core::pose::Pose const &  pose,
core::conformation::membrane::SpanningTopology const &  topology,
core::Vector center,
core::Vector normal 
)
void protocols::membrane::compute_structure_based_embedding ( core::pose::Pose const &  pose,
core::Vector center,
core::Vector normal 
)

Compute Membrane Center/Normal from Membrane Spanning topology, uses topology from MembraneInfo.

References compute_structure_based_embedding(), and core::pose::Pose::membrane_info().

protocols::membrane::geometry::EmbeddingDefOP protocols::membrane::compute_structure_based_embedding ( core::pose::Pose const &  pose,
core::conformation::membrane::SpanningTopology const &  topo 
)

Compute Membrane Center/Normal from Membrane Spanning topology.

References core::conformation::membrane::SpanningTopology::nspans().

protocols::membrane::geometry::EmbeddingDefOP protocols::membrane::compute_structure_based_embedding ( core::pose::Pose const &  pose)

Compute Membrane Center/Normal from Membrane Spanning topology, uses topology from MembraneInfo.

References compute_structure_based_embedding(), and core::pose::Pose::membrane_info().

core::Size protocols::membrane::create_membrane_docking_foldtree_from_partners ( core::pose::Pose pose,
std::string const &  partners 
)

Create a membrane foldtree with an interface.

Currently only works for two-body-docking. Both partners can have multiple chains in any order, the anchoring happens at the TM COM of each chain

__________________________________________

|________________ _________________ | |________ iJ ||________ | | | | || | | | ----— ----— ----— ----— ----— M=root chain1 chain2 chain3 chain4 ...

iJ = interface jump, will be returned from the function

Currently only works for two-body-docking. Both partners can have multiple chains in any order, the anchoring happens at the TM COM of each chain

__________________________________________

|________________ _________________ | |________ iJ ||________ | | | | || | | | ----— ----— ----— ----— ----— M=root chain1 chain2 chain3 chain4 ...

^-----------—^ ^--------------------—^ partner 1 partner 2

iJ = interface jump, will be returned from the function

References core::pose::chain_end_res(), core::pose::Pose::fold_tree(), core::pose::get_chain_id_from_chain(), core::pose::Pose::membrane_info(), rsd_closest_to_chain_tm_com(), core::pose::Pose::size(), and protocols::TR().

Referenced by protocols::docking::DockingPrepackProtocol::finalize_setup(), and protocols::docking::membrane::MPFindInterfaceMover::finalize_setup().

core::Size protocols::membrane::create_membrane_foldtree_anchor_com ( core::pose::Pose pose)

Create membrane foldtree from scratch.

The foldtree is setup such that the membrane is at the root and anchored at the first chain COM residue with jumps from the first chain COM to each chain COM; requires the membrane to be present Returns the root anchoring point, i.e. rsd nearest chain COM of chain 1


|__________________________ | |_________________ | | |________ | | | | | | | | ----— ----— ----— ----— M=root chain1 chain2 chain3 chain4 ...

References core::pose::Pose::conformation(), create_membrane_foldtree_from_anchors(), core::pose::get_chains(), core::conformation::Conformation::is_membrane(), and rsd_closest_to_chain_com().

core::Size protocols::membrane::create_membrane_foldtree_anchor_pose_tmcom ( core::pose::Pose pose)

Create membrane foldtree from scratch.

The foldtree is setup such that the membrane is at the root and anchored at the residue closest to the pose TM COM with jumps from there to each chain TRANSMEMBRANE COM; requires the membrane to be present Returns the root anchoring point, i.e. rsd nearest pose TM COM that can be in any chain

         _______________________
        |_________________      |
        |________         |     |
________|        |        |     |

| | | | | ----— ----— ----— ----— M=root chain1 chain2 chain3 chain4 ...

The foldtree is setup such that the membrane is at the root and anchored at the residue closest to the pose TM COM with jumps from there to each chain TRANSMEMBRANE COM; requires the membrane to be present; Returns the root anchoring point, i.e. rsd nearest pose TM COM that can be in any chain

         _______________________
        |_________________      |
        |________         |     |
________|        |        |     |

| | | | | ----— ----— ----— ----— M=root chain1 chain2 chain3 chain4 ...

References core::pose::Pose::chain(), core::pose::Pose::conformation(), create_membrane_foldtree_from_anchors(), core::pose::get_chains(), core::conformation::Conformation::is_membrane(), rsd_closest_to_chain_tm_com(), and rsd_closest_to_pose_tm_com().

Referenced by protocols::membrane::OptimizeProteinEmbeddingMover::apply(), protocols::membrane::MembranePositionFromTopologyMover::apply(), protocols::relax::membrane::MPRangeRelaxMover::apply(), and protocols::membrane::OptimizeMembranePositionMover::apply().

core::Size protocols::membrane::create_membrane_foldtree_anchor_tmcom ( core::pose::Pose pose)

Create membrane foldtree from scratch.

The foldtree is setup such that the membrane is at the root and anchored at the first chain TRANSMEMBRANE COM residue with jumps from the first chain COM to each chain TRANSMEMBRANE COM; requires the membrane to be present Returns the root anchoring point, i.e. rsd nearest chain TM COM of chain 1

________________________________

|__________________________ | |_________________ | | |________ | | | | | | | | ----— ----— ----— ----— M=root chain1 chain2 chain3 chain4 ...

References core::pose::Pose::conformation(), create_membrane_foldtree_from_anchors(), get_anchor_points_for_tmcom(), and core::conformation::Conformation::is_membrane().

void protocols::membrane::create_membrane_foldtree_from_anchors ( core::pose::Pose pose,
utility::vector1< core::Size anchors 
)

Helper function to create membrane foldtrees.

The anchors vector is a vector of anchor residues in all chains, one per chain. This function assumes that the first entry in the vector is the root anchor point to which all other chains are connected;


|__________________________ | |_________________ | | |________ | | | | | | | | ----— ----— ----— ----— M=root chain1 chain2 chain3 chain4 ...

References core::pose::Pose::conformation(), core::pose::Pose::fold_tree(), core::conformation::Conformation::is_membrane(), core::pose::Pose::membrane_info(), core::pose::Pose::size(), core::pose::Pose::split_by_chain(), and protocols::TR().

Referenced by protocols::membrane::AddMembraneMover::apply(), create_membrane_foldtree_anchor_com(), create_membrane_foldtree_anchor_pose_tmcom(), and create_membrane_foldtree_anchor_tmcom().

utility::vector1< core::Size > protocols::membrane::create_membrane_multi_partner_foldtree_anchor_tmcom ( core::pose::Pose pose,
std::string  partner 
)

Create foldtree for multiple docking partners.

The foldtree is setup such that the membrane is at the root and anchored at the residue closest to the TM COM of the first chain. The partner setup defines how the foldtree will look like: partners are anchored at the first chain, and multiple chains in a partner are anchored to the first chain of that partner, example below. Returns all interface jump numbers. Example: A_BCD_E


|________________________________ | | _______________ | | |_______ |_______ | | | | | | | | | | ----— ----— ----— ----— ----— M=root chain1 chain2 chain3 chain4 chain5...

^--—^ ^--------------------—^ ^--—^ partner1 partner2 partner3

References core::pack::dunbrack::c, core::pose::chain_end_res(), create_specific_membrane_foldtree(), get_anchor_points_for_tmcom(), core::pose::get_chain_id_from_chain(), core::pose::get_chains(), core::pose::Pose::membrane_info(), and protocols::TR().

core::Size protocols::membrane::create_specific_membrane_foldtree ( core::pose::Pose pose,
utility::vector1< core::Vector anchors 
)

Helper function to create a specific membrane foldtree.

I am hijacking xyzVectors to hold the jumps that need to be created in the foldtree: xyz = ( rsd1, rsd2, cutpoint ) THE JUMP NUMBERS WILL BE CONSECUTIVE, ACCORDING TO THE VECTOR1

References core::pose::Pose::conformation(), core::pose::Pose::fold_tree(), core::conformation::Conformation::is_membrane(), core::pose::Pose::membrane_info(), core::pose::Pose::size(), and protocols::TR().

Referenced by protocols::membrane::AddMPLigandMover::apply(), and create_membrane_multi_partner_foldtree_anchor_tmcom().

utility::vector1< core::Size > protocols::membrane::get_anchor_points_for_tmcom ( core::pose::Pose pose)
std::pair< utility::vector1< core::Real >, utility::vector1< core::Real > > protocols::membrane::get_chain_and_z ( core::pose::Pose const &  pose)

Grab the z-coordinates and chainIDs from the entire pose.

From the pose, grab all of the z_coords of CA atoms and chain IDs, currently used for spanning topology construction. Returns a std::pair of two vectors: the first a vector1 of z coordinates and the second a vector1 of chainIDs for CA atoms

References core::conformation::Residue::atom(), core::pose::Pose::chain(), core::pose::Pose::residue(), core::pose::Pose::size(), protocols::TR(), and core::conformation::Atom::xyz().

Referenced by protocols::membrane::AddMembraneMover::apply().

utility::vector1< char > protocols::membrane::get_secstruct ( core::pose::Pose pose)

Get dssp defined secondary structure from the pose.

Given a pose, grab a vector of characters describing the secondary structure at each residue position in the pose, defined by DSSP

References core::pose::Pose::conformation(), protocols::simple_filters::dssp(), core::conformation::Conformation::secstruct(), core::pose::Pose::size(), and protocols::TR().

Referenced by protocols::membrane::AddMembraneMover::apply(), and protocols::membrane::MPLipidAccessibility::finalize_setup().

bool protocols::membrane::is_membrane_fixed ( core::pose::Pose pose)

Determine whether the membrane is modeled as fixed.

Based on the setup of the foldtree, determined whether the membrane is currently fixed, meaning it is setup as the root in the FoldTree and has no upstream children. Takes a pose.

References core::pose::Pose::conformation(), core::conformation::Conformation::fold_tree(), core::conformation::Conformation::is_membrane(), core::kinematics::FoldTree::is_root(), core::pose::Pose::membrane_info(), and core::kinematics::FoldTree::upstream_jump_residue().

Referenced by protocols::membrane_benchmark::MembraneEnergyLandscapeSampler::apply(), protocols::membrane_benchmark::PeptideOrientationMover::apply(), protocols::membrane::SetMembranePositionMover::apply(), protocols::membrane::OptimizeProteinEmbeddingMover::apply(), protocols::membrane::MembranePositionFromTopologyMover::apply(), protocols::membrane::MPMutateRelaxMover::apply(), protocols::docking::membrane::MPFindInterfaceMover::apply(), protocols::relax::membrane::MPRangeRelaxMover::apply(), protocols::membrane::OptimizeMembranePositionMover::apply(), protocols::membrane::MPQuickRelaxMover::apply(), protocols::docking::membrane::MPDockingSetupMover::apply(), protocols::membrane::FlipMover::apply(), protocols::membrane::TiltMover::apply(), protocols::membrane::TranslationMover::apply(), protocols::membrane::SpinAroundPartnerMover::apply(), protocols::membrane::TransformIntoMembraneMover::apply(), protocols::membrane::AddMembraneMover::apply(), protocols::docking::membrane::MPDockingMover::apply(), protocols::membrane::RotationMover::apply(), protocols::membrane::TranslationRotationMover::apply(), protocols::relax::RangeRelaxMover::finalize_setup(), and is_membrane_moveable_by_itself().

bool protocols::membrane::is_membrane_moveable_by_itself ( core::pose::Pose pose)

Determine whether membrane can move on its own.

Based on the setup of the FoldTree, determine whether the membrane is moveable, but when moved, won't cause anything in the protein to move (i.e. independently moveable). Takes a pose.

References core::pose::Pose::conformation(), core::conformation::Conformation::fold_tree(), core::conformation::Conformation::is_membrane(), is_membrane_fixed(), and core::pose::Pose::membrane_info().

Referenced by protocols::membrane::TransformIntoMembraneMover::apply().

core::Real protocols::membrane::mem_all_atom_rmsd_no_super ( core::pose::Pose native_pose,
core::pose::Pose pose 
)

Compute all-atom RMSD between TM regions - don't superimpose.

Calculate the rmsd between all atoms in the pose in the transmembrane regions, as defined by the spanning topology object. Do not superimpose the poses. Takes a native pose & current pose

References core::pose::Pose::conformation(), core::scoring::is_heavyatom(), core::conformation::Conformation::is_membrane(), core::pose::Pose::membrane_info(), core::scoring::rmsd_no_super_subset(), and core::pose::Pose::size().

core::Real protocols::membrane::mem_all_atom_rmsd_with_super ( core::pose::Pose native_pose,
core::pose::Pose pose 
)

Compute all-atom RMSD between TM regions - do superimpose.

Calculate the rmsd between all atoms in the pose in the transmembrane regions, as defined by the spanning topology object. Superimpose the poses. Takes a native pose & current pose

References core::pose::Pose::conformation(), core::scoring::is_heavyatom(), core::conformation::Conformation::is_membrane(), core::pose::Pose::membrane_info(), core::scoring::rmsd_with_super_subset(), and core::pose::Pose::size().

core::Real protocols::membrane::mem_bb_rmsd_no_super ( core::pose::Pose native_pose,
core::pose::Pose pose 
)

Compute backbone RMSD between TM regions - don't superimpose.

Calculate the rmsd between backbone atoms (N, CB, CA, O) in the transmembrane regions, as defined by the spanning topology object Do not superimpose the poses. Takes a native pose and current pose

References core::pose::Pose::conformation(), core::conformation::Conformation::is_membrane(), core::scoring::is_protein_backbone(), core::pose::Pose::membrane_info(), core::scoring::rmsd_no_super_subset(), and core::pose::Pose::size().

core::Real protocols::membrane::mem_bb_rmsd_with_super ( core::pose::Pose native_pose,
core::pose::Pose pose 
)

Compute backbone RMSD between TM regions - do superimpose.

Calculate the rmsd between backbone atoms (N, CB, CA, O) in the transmembrane regions, as defined by the spanning topology object Superimpose the poses. Takes a native pose and current pose

References core::pose::Pose::conformation(), core::conformation::Conformation::is_membrane(), core::scoring::is_protein_backbone(), core::pose::Pose::membrane_info(), core::scoring::rmsd_with_super_subset(), and core::pose::Pose::size().

core::Vector const protocols::membrane::membrane_axis ( core::pose::Pose pose,
int  jumpnum 
)
void protocols::membrane::membrane_normal_to_length_15 ( core::pose::Pose pose)
std::ostream & protocols::membrane::operator<< ( std::ostream &  os,
HelixFromSequence const &  mover 
)
std::ostream & protocols::membrane::operator<< ( std::ostream &  os,
AqueousPoreFinder const &  mover 
)
utility::vector1< core::Real > protocols::membrane::pose_tilt_angle_and_center_distance ( core::pose::Pose pose)

Calculate tilt angle and distance from membrane center.

Computes the tilt angle and distance from membrane center for the protein embedding center and normal

References compute_structure_based_embedding(), core::pose::Pose::conformation(), core::pose::Pose::membrane_info(), and protocols::TR().

Referenced by protocols::membrane::OptimizeProteinEmbeddingMover::apply(), and protocols::membrane::TransformIntoMembraneMover::apply().

core::Vector protocols::membrane::pose_tm_com ( core::pose::Pose const &  pose)

Pose transmembrane center-of-mass.

Gets the coordinates of the TM span center-of-mass This only looks at the span start and end residues for calculation of the TM span COM, this should be faster than the real thing though

References com(), core::pose::Pose::membrane_info(), core::pose::Pose::residue(), and protocols::kinmatch::xyz().

Referenced by protocols::membrane_benchmark::MembraneEnergyLandscapeSampler::apply(), protocols::membrane_benchmark::PeptideOrientationMover::apply(), protocols::relax::membrane::MPRangeRelaxMover::apply(), and rsd_closest_to_pose_tm_com().

void protocols::membrane::read_center_normal_from_cmd ( core::Vector center,
core::Vector normal 
)

Read in a user provided center/normal pair from the commandline, safetly.

Read the membrane setup center & normal options form the command line from mp:setup:center and mp:setup:normal. Intended to reduce IO code duplication in membrane framework movers.

References core::conformation::membrane::center, and core::conformation::membrane::normal.

Referenced by protocols::membrane::TransformIntoMembraneMover::init_from_cmd(), protocols::membrane::AddMembraneMover::init_from_cmd(), protocols::membrane::RotationMover::init_from_cmd(), and protocols::membrane::TranslationRotationMover::init_from_cmd().

void protocols::membrane::read_center_normal_from_tag ( core::Vector center,
core::Vector normal,
utility::tag::TagCOP  tag 
)

Read in a user provided center/normal pair from RosettaScripts.

Given an XML tag from a RosettaScript read in a center & normal option into two xyzVector objects. This method is intended to reduce duplication accross membrane framework movers that use the same tricks for vectors. Takes two Vector references and a Tag&

Referenced by protocols::membrane::SetMembranePositionMover::parse_my_tag(), protocols::membrane::TransformIntoMembraneMover::parse_my_tag(), protocols::membrane::AddMembraneMover::parse_my_tag(), protocols::membrane::SetMembraneNormalMover::parse_my_tag(), protocols::membrane::RotationMover::parse_my_tag(), protocols::membrane::SetMembraneCenterMover::parse_my_tag(), and protocols::membrane::TranslationRotationMover::parse_my_tag().

void protocols::membrane::reorder_membrane_foldtree ( core::pose::Pose pose)

Set membrane residue to root of foldtree.

Naively sets the root of the foldtree to be the membrane residue. Should perform checks before doing this!

References core::pose::Pose::fold_tree(), core::pose::Pose::membrane_info(), and core::kinematics::FoldTree::reorder().

Referenced by protocols::docking::membrane::MPDockingSetupMover::apply(), and protocols::docking::membrane::MPDockingSetupMover::transform_pose_into_membrane().

core::Size protocols::membrane::rsd_closest_to_chain_com ( core::pose::Pose const &  pose,
core::Size  chainid 
)
core::Size protocols::membrane::rsd_closest_to_chain_tm_com ( core::pose::Pose const &  pose,
core::Size  chainid 
)
core::Size protocols::membrane::rsd_closest_to_pose_tm_com ( core::pose::Pose const &  pose)

Residue closest to pose transmembrane center-of-mass.

Gets the coordinates of the residue closest to TM span center-of-mass This only looks at the span start and end residues for calculation of the TM span COM, this should be faster than the real thing though

References com(), core::pose::nres_protein(), pose_tm_com(), and core::pose::return_nearest_residue().

Referenced by create_membrane_foldtree_anchor_pose_tmcom(), and protocols::relax::RangeRelaxMover::finalize_setup().

void protocols::membrane::setup_foldtree_from_anchors ( core::pose::Pose pose,
utility::vector1< core::Size anchors 
)

Helper function to setup foldtrees.

The anchors vector is a vector of anchor residues in all chains, one per chain. This function assumes that the first entry in the vector is the root anchor point to which all other chains are connected;


|_________________ | |________ | | | | | |


chain1 chain2 chain3 chain4 ... ^ root anchor point

References core::pose::Pose::conformation(), core::pose::Pose::fold_tree(), core::conformation::Conformation::is_membrane(), core::pose::Pose::size(), core::pose::Pose::split_by_chain(), and protocols::TR().

Referenced by setup_foldtree_pose_com().

core::Size protocols::membrane::setup_foldtree_pose_com ( core::pose::Pose pose)

Setup foldtree from scratch.

The foldtree is setup such that the residue closest to the COM is at the root, with jumps from there to each chain COM; requires the membrane to be present; Returns the root anchoring point, i.e. rsd nearest pose COM that can be in any chain


|________ | ________| | | | | | |


chain1 chain2 chain3 chain4 ... ^ root anchor point

References core::pose::Pose::chain(), core::pose::Pose::conformation(), core::pose::get_chains(), core::conformation::Conformation::is_membrane(), core::pose::residue_center_of_mass(), rsd_closest_to_chain_com(), setup_foldtree_from_anchors(), and core::pose::Pose::size().

Referenced by protocols::relax::RangeRelaxMover::finalize_setup().

utility::vector1< core::conformation::membrane::SpanningTopologyOP > protocols::membrane::split_topology_by_chain_noshift ( core::pose::Pose const &  pose,
core::conformation::membrane::SpanningTopologyOP const  topo 
)

Split topology by chain.

Split topology by chain and give vector of topology objects

References core::pack::dunbrack::c, core::pose::Pose::chain(), core::sequence::end, core::pose::nres_protein(), and protocols::loops::start.

Referenced by chain_tm_com(), and compute_embeddings_by_chain().

void protocols::membrane::split_topology_by_jump ( core::pose::Pose const &  pose,
core::Size const  jumpnum,
core::conformation::membrane::SpanningTopology const &  topo,
core::pose::Pose pose_up,
core::pose::Pose pose_down,
core::conformation::membrane::SpanningTopology topo_up,
core::conformation::membrane::SpanningTopology topo_down 
)

Splits the SpanningTopology object into two objects, depending on given jump number.

This is useful for calculating an embedding for parts of the structure: this can now easily be accomplished by creating two empty topology objects, call this function, and then use both topology objects and subposes to call compute_structure_based_membrane_embedding BEWARE: this does not work for splitting topology by spans! It only works chainwise

References core::conformation::membrane::SpanningTopology::add_span(), core::sequence::end, core::pose::Pose::membrane_info(), core::pose::nres_protein(), core::conformation::membrane::SpanningTopology::nspans(), core::pose::partition_pose_by_jump(), core::conformation::membrane::SpanningTopology::show(), core::pose::Pose::size(), core::conformation::membrane::SpanningTopology::span(), protocols::loops::start, and protocols::TR().

Referenced by protocols::membrane::FlipMover::apply().

void protocols::membrane::split_topology_by_jump_noshift ( core::pose::Pose const &  pose,
core::Size const  jumpnum,
core::conformation::membrane::SpanningTopologyOP  topo,
core::conformation::membrane::SpanningTopologyOP  topo_up,
core::conformation::membrane::SpanningTopologyOP  topo_down 
)

Splits the SpanningTopology object into two objects, depending on given jump number.

This doesn't shift the topology to start at 1 for each partner, it remains exactly the same as it would be for the complete pose, just split BEWARE: this does not work for splitting topology by spans! It only works chainwise

References core::pose::Pose::chain(), core::kinematics::FoldTree::downstream_jump_residue(), core::sequence::end, core::pose::Pose::fold_tree(), core::pose::Pose::membrane_info(), and protocols::loops::start.

Referenced by protocols::membrane::TiltMover::apply(), protocols::membrane::SpinAroundPartnerMover::apply(), protocols::docking::membrane::QuickRelaxPartnersSeparately::finalize_setup(), protocols::docking::membrane::MPFindInterfaceMover::finalize_setup(), and update_partner_embeddings().

void protocols::membrane::update_partner_embeddings ( core::pose::Pose const &  pose,
core::Size const  jumpnum,
protocols::membrane::geometry::EmbeddingDef emb_up,
protocols::membrane::geometry::EmbeddingDef emb_down 
)

Update embedding of the partners after a move.

Requires the jump number between the partners, the topology will be taken from MembraneInfo and will be split accordingly; up and down means upstream and downstream

References compute_structure_based_embedding(), core::pose::Pose::membrane_info(), and split_topology_by_jump_noshift().

Referenced by protocols::docking::membrane::MPFindInterfaceMover::apply(), protocols::docking::DockingSlideIntoContact::apply(), membrane_axis(), protocols::docking::move_apart(), and protocols::docking::move_together().