Rosetta
Public Member Functions | Static Public Member Functions | Protected Attributes | List of all members
protocols::motif_grafting::movers::MotifGraftMover Class Reference

#include <MotifGraftMover.hh>

Inheritance diagram for protocols::motif_grafting::movers::MotifGraftMover:
Inheritance graph
[legend]

Public Member Functions

 MotifGraftMover ()
 MotifGraftMover Creator. More...
 
void init_parameters (std::string const &s_contextStructure, std::string const &s_motif, core::Real const &r_RMSD_tolerance, core::Real const &r_NC_points_RMSD_tolerance, core::Real const &gp_r_clash_atom_scale, core::Size const &i_clash_score_cutoff, core::Size const &i_min_fragment_size, std::string const &s_combinatory_fragment_size_delta, std::string const &s_max_fragment_replacement_size_delta, std::string const &s_clash_test_residue, std::string const &s_hotspots, bool &b_full_motif_bb_alignment, bool const &b_allow_independent_alignment_per_fragment, bool const &b_graft_only_hotspots_by_sidechain_replacement, bool const &b_only_allow_if_N_point_match_aa_identity, bool const &b_only_allow_if_C_point_match_aa_identity, bool const &b_revert_graft_to_native_sequence, bool const &b_allow_repeat_same_graft_output, bool const &b_reinit_every_apply, core::Real const &r_output_cluster_tolerance, filters::FilterCOP const &f_output_filter)
 MotifGraftMover parameters and options initializer. More...
 
 ~MotifGraftMover () override
 MotifGraftMover Destructor. More...
 
void apply (Pose &) override
 Apply mover function. More...
 
core::pose::PoseOP get_additional_output () override
 Iterate over the results to get additional matches in the queue. More...
 
protocols::moves::MoverOP clone () const override
 Function used by roseta to create clones of movers. More...
 
bool get_next_output (core::pose::Pose &work_pose)
 Header only mover get_name. More...
 
bool get_next_nonredundant_motifmatch (MotifMatch &match, numeric::HomogeneousTransform< core::Real > &match_xform)
 Used during output to discard redundant results. More...
 
void permutate_n_vv_of_pairs (utility::vector1< utility::vector1< std::pair< core::Size, core::Size > > > const &vv_of_pairs, utility::vector1< std::pair< core::Size, core::Size > > &buff_combVec, core::Size start_index, utility::vector1< utility::vector1< std::pair< core::Size, core::Size > > > &vv_resulting_permutations)
 As the name suggests in generates all the permutations of a vector of vectors of pairs (Alex: we should templatize this! Maybe alrready there?) More...
 
void generate_combinations_of_motif_fragments_by_delta_variation (core::pose::PoseOP const &p_motif_, utility::vector1< std::pair< long int, long int > > const &combinatory_fragment_size_delta, core::Size min_fragment_size, utility::vector1< utility::vector1< std::pair< core::Size, core::Size > > > &vv_resulting_permutations)
 Generate all the combination of different legths of the motif fragment as requested in combinatory_fragment_size_delta Uses permutate_n_vv_of_pairs to generate the permutations. More...
 
void parse_my_tag (utility::tag::TagCOP tag, basic::datacache::DataMap &) override
 Fuction to parse RosettaScripts XML options. More...
 
std::priority_queue< MotifMatchgenerate_scaffold_matches (core::pose::Pose &target_scaffold, core::pose::PoseOP &target_motif_, core::pose::PoseOP &target_contextStructure_)
 Identify all potential matches for the given target scaffold (this is where the motif grafting code is called) More...
 
void generate_match_pose (core::pose::Pose &target_pose, core::pose::Pose const &contextStructure, bool b_revert_graft_to_native_sequence, MotifMatch motif_match)
 Generate pose corresponding to the given match. More...
 
void get_matching_fragments (core::pose::Pose const &target_scaffold, core::pose::PoseOP const &target_motif_, core::pose::PoseOP const &target_contextStructure_, core::Real const &RMSD_tol, core::Real const &NC_points_RMSD_tol, core::Real const &clash_atom_scale, core::Size const &clash_cutoff, core::Size const &min_fragment_size, std::string const &clash_test_residue, utility::vector1< std::pair< long int, long int > > const &max_fragment_replacement_size_delta_, utility::vector1< std::pair< core::Size, core::Size > > const &combinatory_fragment_size_delta, utility::vector1< utility::vector1< core::Size > > const &vvr_hotspots, bool const &b_full_motif_bb_alignment, bool const &b_allow_independent_alignment_per_fragment, bool const &b_graft_only_hotspots_by_sidechain_replacement, bool const &b_only_allow_if_N_point_match_aa_identity, bool const &b_only_allow_if_C_point_match_aa_identity, std::priority_queue< MotifMatch > &pq)
 Return a priority queue with the sucessful epigrafts. More...
 
void test_epigraft_and_contextStructure_clashes (core::pose::Pose const &p_scaffold, core::pose::Pose const &p_motif_, core::pose::Pose const &p_contextStructure_, core::Size const &clash_cutoff, utility::vector1< motif2scaffold_data > &v_m2s_data, numeric::geometry::hashing::MinimalClashHash const &context_clash_hash, core::Real clash_atom_scale)
 Functions that takes the scaffold, motif, contextStructure and superposition transform data. Deletes from the supperposition data those transformations that can't pass the clash score. More...
 
core::Size count_clashes_between_two_poses (core::pose::Pose const &p_A, core::pose::Pose const &p_B, core::Size clash_cutoff, core::Real clash_atom_scale)
 Count the Number of Clashes between two poses. More...
 
core::pose::Pose get_rotated_and_translated_pose (core::pose::Pose const &p_scaffold, numeric::xyzMatrix< core::Real > const &RotM, numeric::xyzVector< core::Real > const &TvecA, numeric::xyzVector< core::Real > const &TvecB)
 Function that returns by reference a rotated copy of the pose. More...
 
core::pose::Pose join_two_poses_by_jump (core::pose::Pose const &p_A, core::pose::Pose const &p_B)
 returns a pose with two input poses merged (with a jump in-between) and with the PDB info corrected More...
 
core::Real get_clash_score_from_pose (core::pose::Pose &p_input, core::scoring::ScoreFunctionOP const &scorefxn_)
 Helper function to stich (epigraft) two poses given a set of indices in pose A and B stored in a motif2scaffold_data structure. More...
 
core::pose::Pose stich_motif_in_scaffold_by_indexes_rotation_and_translation (core::pose::Pose const &p_scaffold, core::pose::Pose const &p_motif_, motif2scaffold_data &m2s_dat, bool const &skip_motif_extremes)
 Helper function to stich (epigraft) two poses given a set of indices in pose A and B stored in a motif2scaffold_data structure. More...
 
core::Real get_bb_alignment_and_transformation (core::pose::Pose const &poseA, utility::vector1< core::Size > const &positions_to_alignA, core::pose::Pose const &poseB, utility::vector1< core::Size > const &positions_to_alignB, numeric::xyzMatrix< core::Real > &RotM, numeric::xyzVector< core::Real > &TvecA, numeric::xyzVector< core::Real > &TvecB)
 Performs alignment of the protein BB on the selected aminoacids. Returns the RMSD, Returns by reference the rotation Matrix and Translation Vector, Will fail if both poses are not protein <-This can be fixed by adding a list of the atoms to align to the function, but I am not doing it now. Will fail if the number of residues to align is not the same in the two poses. More...
 
core::Real get_bb_alignment_and_transformation_wTipsExtraInfo (utility::vector1< bool > const &v_isNorC, core::pose::Pose const &poseA, utility::vector1< core::Size > const &positions_to_alignA, core::pose::Pose const &poseB, utility::vector1< core::Size > const &positions_to_alignB, numeric::xyzMatrix< core::Real > &RotM, numeric::xyzVector< core::Real > &TvecA, numeric::xyzVector< core::Real > &TvecB, utility::vector1< core::Real > &RMSD_tip_elements)
 Performs alignment of the protein BB on the selected aminoacids. Returns the RMSD, Returns by reference the rotation Matrix and Translation Vector, Will fail if both poses are not protein <-This can be fixed by adding a list of the atoms to align to the function, but I am not doing it now. Will fail if the number of residues to align is not the same in the two poses. More...
 
core::Real get_bb_distance (core::pose::Pose const &poseA, utility::vector1< core::Size > const &positions_to_alignA, core::pose::Pose const &poseB, utility::vector1< core::Size > const &positions_to_alignB)
 Returns the BB distance of two poses respect to indexes. More...
 
void superposition_transform (core::Size natoms, ObjexxFCL::FArray1_double const &weights, ObjexxFCL::FArray2_double &ref_coords, ObjexxFCL::FArray2_double &coords, numeric::xyzMatrix< core::Real > &RotM, numeric::xyzVector< core::Real > &TvecA, numeric::xyzVector< core::Real > &TvecB)
 Helper Fortran wrapper to get the aligment of two matrixes as well as the corresponding transform. More...
 
void get_motif_scaffold_superposition_and_RMSD (core::pose::Pose const &p_scaffold, core::pose::PoseOP const &p_motif_, core::Real const &RMSD_tol, core::Real const &tip_RMSD_tol, utility::vector1< utility::vector1< core::Size > > const &vvr_hotspots, bool const &b_full_motif_bb_alignment, bool const &b_allow_independent_alignment_per_fragment, bool const &b_graft_only_hotspots_by_sidechain_replacement, utility::vector1< motif2scaffold_data > &v_m2s_data)
 performs soperposition based on the motif and returns fragments within the RMSD_tol and also returns the Rotation and translation superposition information in the first [1] vector of each fragment More...
 
core::pose::Pose get_mono_aa_pose_copy (core::pose::Pose const &p_input, std::string const &aminoacid_code)
 returns a copy of the pose that replaces all the aminoacids for a single selected aminoacid More...
 
bool get_fragments_by_CA_distances_and_NCpoints_restrains (core::pose::Pose const &p_scaffold, core::pose::PoseOP const &p_motif_, utility::vector1< utility::vector1< std::pair< core::Size, core::Size > > > &vv_scaffold_fragments_indexes, utility::vector1< std::pair< core::Size, core::Size > > &v_motif_fragments_indexes, core::Real const &RMSD_tol, utility::vector1< std::pair< long int, long int > > const &max_fragment_replacement_size_delta, utility::vector1< std::pair< core::Size, core::Size > > const &v_motif_fragments_permutation, bool const &b_only_allow_if_N_point_match_aa_identity, bool const &b_only_allow_if_C_point_match_aa_identity, bool const &b_N_point_can_replace_proline, bool const &b_C_point_can_replace_proline)
 returns by reference two vectors of indexes (vv_scaffold_fragments_indexes, v_motif_fragments_indexes) that hold the lower and upper bounds of the fragments. Indeed the corresponding to the scaffold one is a vector of vectors, since each pose_scaffold can have many matches More...
 
void fragments_permutation_test_by_CA_distances (core::pose::Pose const &p_scaffold, core::pose::PoseOP const &p_motif_, utility::vector1< utility::vector1< std::pair< core::Size, core::Size > > > const &vv_scaffold_fragments_indexes, utility::vector1< std::pair< core::Size, core::Size > > const &v_motif_fragments_indexes, core::Real const &RMSD_tol, core::Size const &start_motif_num, utility::vector1< std::pair< core::Size, core::Size > > &buff_combVec, utility::vector1< motif2scaffold_data > &v_m2s_data)
 Generates all the discontinuous fragments combinations that are within the tol restriction. Reduce the combinations by matching intra chains distances by pairs. The method is/can be exahustive but fast (i.e. iteratively it test the restrains (tree unfolding) and skips to the next combination once one fails (branch removal) ). CAUTION, Uses self recursion, so use it wisely. More...
 
void parse_my_string_arguments_and_cast_to_globalPrivateSpaceVariables (std::string const &s_contextStructure, std::string const &s_motif, core::Real const &r_RMSD_tolerance, core::Real const &r_NC_points_RMSD_tolerance, core::Real const &r_clash_atom_scale, core::Size const &i_clash_score_cutoff, core::Size const &i_min_fragment_size, std::string const &s_combinatory_fragment_size_delta, std::string const &s_max_fragment_replacement_size_delta, std::string const &s_clash_test_residue, std::string const &s_hotspots, bool &b_full_motif_bb_alignment, bool const &b_allow_independent_alignment_per_fragment, bool const &b_graft_only_hotspots_by_sidechain_replacement, bool const &b_only_allow_if_N_point_match_aa_identity, bool const &b_only_allow_if_C_point_match_aa_identity, bool const &b_revert_graft_to_native_sequence, bool const &b_allow_repeat_same_graft_output, bool const &b_reinit_every_apply, core::Real const &r_output_cluster_tolerance, filters::FilterCOP const &f_output_filter)
 Fuction to parse the class options and populate their corresponding variables to the global private space. More...
 
std::string get_name () const override
 Each derived class must specify its name. The class name. More...
 
- Public Member Functions inherited from protocols::moves::Mover
 Mover ()
 
virtual MoverOP create ()
 
MoverCOP get_self_ptr () const
 
MoverOP get_self_ptr ()
 
MoverCAP get_self_weak_ptr () const
 
MoverAP get_self_weak_ptr ()
 
 Mover (std::string const &type_name)
 sets the type for a mover; name_ has been removed (2010/05/14) More...
 
virtual void test_move (Pose &pose)
 : Unit test support function. Apply one move to a given pose. Allows extra test specific functions to be called before applying More...
 
virtual bool reinitialize_for_each_job () const
 Inform the Job Distributor (August '08 vintage) whether this object needs to be freshly regenerated on each use. More...
 
virtual bool reinitialize_for_new_input () const
 Inform the Job Distributor (August '08 vintage) whether this object needs to be regenerated when the input pose is about to change, (for example, if the Mover has special code on the first apply() that is only valid for that one input pose). More...
 
virtual MoverOP fresh_instance () const
 Generates a new Mover object freshly created with the default ctor. More...
 
MoverStatus get_last_move_status () const
 end parser interface, start Job Distributor interface///////////// More...
 
void reset_status ()
 resets status to SUCCESS, meant to be used before an apply(). The job distributor (august 08 vintage) uses this to ensure non-accumulation of status across apply()s. More...
 
void set_type (std::string const &setting)
 Set the 'type' string. More...
 
std::string get_type () const
 
void type (const std::string &type_in)
 Set the 'type' string. More...
 
std::string const & type () const
 Get the set 'type' string. More...
 
virtual void set_input_pose (PoseCOP pose)
 setter for poses contained for rms More...
 
virtual void set_native_pose (PoseCOP pose)
 setter for native poses contained for rms -— we should get rid of this method? it is widely used, but a bit unsafe More...
 
PoseCOP get_input_pose () const
 
PoseCOP get_native_pose () const
 
void set_current_job (protocols::jobdist::BasicJobCOP job)
 
jobdist::BasicJobCOP get_current_job () const
 
virtual void set_current_tag (std::string const &new_tag)
 
std::string get_current_tag () const
 A tag is a unique identifier used to identify structures produced by this Mover. get_current_tag() returns the tag, and set_current_tag( std::string tag ) sets the tag. This functionality is not intended for use with the 2008 job distributor. More...
 
virtual void show (std::ostream &output=std::cout) const
 Outputs details about the Mover, including current settings. More...
 
virtual core::Real last_proposal_density_ratio ()
 
virtual void clear_info ()
 Strings container can be used to return miscellaneous info (as std::string) from a mover, such as notes about the results of apply(). The job distributor (Apr 09 vintage) will check this function to see if your protocol wants to add string info to the Job that ran this mover. One way this can be useful is that later, a JobOutputter may include/append this info to an output file. More...
 
virtual Stringsinfo ()
 non-const accessor More...
 
virtual Strings const & info () const
 const accessor More...
 
virtual void provide_citation_info (basic::citation_manager::CitationCollectionList &) const
 Provide citations to the passed CitationCollectionList Subclasses should add the info for themselves and any other classes they use. More...
 

Static Public Member Functions

static std::string mover_name ()
 
static void provide_xml_schema (utility::tag::XMLSchemaDefinition &xsd)
 
- Static Public Member Functions inherited from protocols::moves::Mover
static std::string name ()
 
static void register_options ()
 Overload this static method if you access options within the mover. More...
 

Protected Attributes

core::pose::PoseOP gp_p_contextStructure_
 
core::pose::PoseOP gp_p_motif_
 
core::Real gp_r_RMSD_tolerance_
 
core::Real gp_r_NC_points_RMSD_tolerance_
 
core::Real gp_r_clash_atom_scale_
 
core::Size gp_i_clash_score_cutoff_
 
core::Size gp_i_min_fragment_size_
 
utility::vector1< std::pair< core::Size, core::Size > > gp_vp_combinatory_fragment_size_delta_
 
utility::vector1< std::pair< long int, long int > > gp_vp_max_fragment_replacement_size_delta_
 
std::string gp_s_clash_test_residue_
 
utility::vector1< utility::vector1< core::Size > > gp_vvr_hotspots_
 
bool gp_b_full_motif_bb_alignment_
 
bool gp_b_allow_independent_alignment_per_fragment_
 
bool gp_b_allow_repeat_same_graft_output_
 
bool gp_b_reinit_every_apply_
 
bool gp_b_is_first_run_
 
bool gp_b_graft_only_hotspots_by_sidechain_replacement_
 
bool gp_b_only_allow_if_N_point_match_aa_identity_
 
bool gp_b_only_allow_if_C_point_match_aa_identity_
 
bool gp_b_revert_graft_to_native_sequence_
 
core::pose::PoseOP gp_p_target_pose_
 
std::priority_queue< MotifMatchmotif_match_results_
 
core::Real gp_r_output_cluster_tolerance_
 
utility::vector1< numeric::HomogeneousTransform< core::Real > > output_transforms_
 
filters::FilterCOP gp_f_output_filter_
 
numeric::geometry::hashing::MinimalClashHashOP context_clash_hash_
 

Additional Inherited Members

- Public Types inherited from protocols::moves::Mover
typedef utility::tag::TagCOP TagCOP
 
typedef core::pose::Pose Pose
 
typedef core::pose::PoseCOP PoseCOP
 
typedef std::list< std::string > Strings
 
- Protected Member Functions inherited from protocols::moves::Mover
void set_last_move_status (MoverStatus status)
 nonvirtual setter for MoverStatus last_status_. Protected means that only the mover itself will be able to change its own status. The job distributor (august 08 vintage) is aware of status set with this function and will do what the MoverStatus says. More...
 

Constructor & Destructor Documentation

◆ MotifGraftMover()

protocols::motif_grafting::movers::MotifGraftMover::MotifGraftMover ( )

MotifGraftMover Creator.

References gp_b_is_first_run_.

◆ ~MotifGraftMover()

protocols::motif_grafting::movers::MotifGraftMover::~MotifGraftMover ( )
overridedefault

MotifGraftMover Destructor.

Member Function Documentation

◆ apply()

void protocols::motif_grafting::movers::MotifGraftMover::apply ( Pose pose)
overridevirtual

◆ clone()

protocols::moves::MoverOP protocols::motif_grafting::movers::MotifGraftMover::clone ( ) const
overridevirtual

Function used by roseta to create clones of movers.

Reimplemented from protocols::moves::Mover.

◆ count_clashes_between_two_poses()

core::Size protocols::motif_grafting::movers::MotifGraftMover::count_clashes_between_two_poses ( core::pose::Pose const &  p_A,
core::pose::Pose const &  p_B,
core::Size  clash_cutoff,
core::Real  clash_atom_scale 
)

◆ fragments_permutation_test_by_CA_distances()

void protocols::motif_grafting::movers::MotifGraftMover::fragments_permutation_test_by_CA_distances ( core::pose::Pose const &  p_scaffold,
core::pose::PoseOP const &  p_motif_,
utility::vector1< utility::vector1< std::pair< core::Size, core::Size > > > const &  vv_scaffold_fragments_indexes,
utility::vector1< std::pair< core::Size, core::Size > > const &  v_motif_fragments_indexes,
core::Real const &  RMSD_tol,
core::Size const &  start_motif_num,
utility::vector1< std::pair< core::Size, core::Size > > &  buff_combVec,
utility::vector1< motif2scaffold_data > &  v_m2s_data 
)

Generates all the discontinuous fragments combinations that are within the tol restriction. Reduce the combinations by matching intra chains distances by pairs. The method is/can be exahustive but fast (i.e. iteratively it test the restrains (tree unfolding) and skips to the next combination once one fails (branch removal) ). CAUTION, Uses self recursion, so use it wisely.

Generates all the discontinuous fragments combinations that are within the RMSD_tol restriction. Reduce the combinations by matching intra chains distances by pairs. The method is/can be exahustive but fast (i.e. iteratively it test the restrains (tree unfolding) and skips to the next combination once one fails (branch removal) ). CAUTION, Uses self recursion, so use it wisely.

References protocols::motif_grafting::movers::motif2scaffold_indexes::motifHigh, protocols::motif_grafting::movers::motif2scaffold_indexes::motifLow, core::pose::Pose::residue(), protocols::motif_grafting::movers::motif2scaffold_indexes::scaffoldHigh, protocols::motif_grafting::movers::motif2scaffold_indexes::scaffoldLow, protocols::motif_grafting::movers::TR(), protocols::motif_grafting::movers::motif2scaffold_data::v_indexes, and core::conformation::Residue::xyz().

Referenced by get_matching_fragments().

◆ generate_combinations_of_motif_fragments_by_delta_variation()

void protocols::motif_grafting::movers::MotifGraftMover::generate_combinations_of_motif_fragments_by_delta_variation ( core::pose::PoseOP const &  p_motif_,
utility::vector1< std::pair< long int, long int > > const &  combinatory_fragment_size_delta,
core::Size  min_fragment_size,
utility::vector1< utility::vector1< std::pair< core::Size, core::Size > > > &  vv_resulting_permutations 
)

Generate all the combination of different legths of the motif fragment as requested in combinatory_fragment_size_delta Uses permutate_n_vv_of_pairs to generate the permutations.

Generate all the combination of different legths of the motif fragment as requested in combinatory_fragment_size_delta.

References permutate_n_vv_of_pairs(), and protocols::motif_grafting::movers::TR().

Referenced by get_matching_fragments().

◆ generate_match_pose()

void protocols::motif_grafting::movers::MotifGraftMover::generate_match_pose ( core::pose::Pose target_pose,
core::pose::Pose const &  contextStructure,
bool  b_revert_graft_to_native_sequence,
MotifMatch  motif_match 
)

◆ generate_scaffold_matches()

std::priority_queue< MotifMatch > protocols::motif_grafting::movers::MotifGraftMover::generate_scaffold_matches ( core::pose::Pose target_scaffold,
core::pose::PoseOP target_motif_,
core::pose::PoseOP target_contextStructure_ 
)

◆ get_additional_output()

core::pose::PoseOP protocols::motif_grafting::movers::MotifGraftMover::get_additional_output ( )
overridevirtual

◆ get_bb_alignment_and_transformation()

core::Real protocols::motif_grafting::movers::MotifGraftMover::get_bb_alignment_and_transformation ( core::pose::Pose const &  poseA,
utility::vector1< core::Size > const &  positions_to_alignA,
core::pose::Pose const &  poseB,
utility::vector1< core::Size > const &  positions_to_alignB,
numeric::xyzMatrix< core::Real > &  RotM,
numeric::xyzVector< core::Real > &  TvecA,
numeric::xyzVector< core::Real > &  TvecB 
)

Performs alignment of the protein BB on the selected aminoacids. Returns the RMSD, Returns by reference the rotation Matrix and Translation Vector, Will fail if both poses are not protein <-This can be fixed by adding a list of the atoms to align to the function, but I am not doing it now. Will fail if the number of residues to align is not the same in the two poses.

Function that performs alignment of the protein BB on the selected aminoacids. Returns the RMSD, Returns by reference the rotation Matrix and Translation Vector, Will fail if both poses are not protein <-This can be fixed by adding a list of the atoms to align to the function, but I am not doing it now. Will fail if the number of residues to align is not the same in the two poses.

References core::pose::Pose::residue(), protocols::cluster::calibur::RMSD(), superposition_transform(), and core::conformation::Residue::xyz().

Referenced by stich_motif_in_scaffold_by_indexes_rotation_and_translation().

◆ get_bb_alignment_and_transformation_wTipsExtraInfo()

core::Real protocols::motif_grafting::movers::MotifGraftMover::get_bb_alignment_and_transformation_wTipsExtraInfo ( utility::vector1< bool > const &  v_isNorC,
core::pose::Pose const &  poseA,
utility::vector1< core::Size > const &  positions_to_alignA,
core::pose::Pose const &  poseB,
utility::vector1< core::Size > const &  positions_to_alignB,
numeric::xyzMatrix< core::Real > &  RotM,
numeric::xyzVector< core::Real > &  TvecA,
numeric::xyzVector< core::Real > &  TvecB,
utility::vector1< core::Real > &  RMSD_tip_elements 
)

Performs alignment of the protein BB on the selected aminoacids. Returns the RMSD, Returns by reference the rotation Matrix and Translation Vector, Will fail if both poses are not protein <-This can be fixed by adding a list of the atoms to align to the function, but I am not doing it now. Will fail if the number of residues to align is not the same in the two poses.

Function that performs alignment of the protein BB on the selected aminoacids. Returns the RMSD, Returns by reference the rotation Matrix and Translation Vector, Will fail if both poses are not protein <-This can be fixed by adding a list of the atoms to align to the function, but I am not doing it now. Will fail if the number of residues to align is not the same in the two poses.

References core::pose::Pose::residue(), protocols::cluster::calibur::RMSD(), superposition_transform(), and core::conformation::Residue::xyz().

Referenced by get_motif_scaffold_superposition_and_RMSD().

◆ get_bb_distance()

core::Real protocols::motif_grafting::movers::MotifGraftMover::get_bb_distance ( core::pose::Pose const &  poseA,
utility::vector1< core::Size > const &  positions_to_alignA,
core::pose::Pose const &  poseB,
utility::vector1< core::Size > const &  positions_to_alignB 
)

◆ get_clash_score_from_pose()

core::Real protocols::motif_grafting::movers::MotifGraftMover::get_clash_score_from_pose ( core::pose::Pose p_input,
core::scoring::ScoreFunctionOP const &  scorefxn_ 
)

Helper function to stich (epigraft) two poses given a set of indices in pose A and B stored in a motif2scaffold_data structure.

score fa_rep and fa_atr in the pose

References core::pose::Pose::energies(), core::scoring::fa_atr, core::scoring::fa_rep, and core::scoring::Energies::total_energies().

◆ get_fragments_by_CA_distances_and_NCpoints_restrains()

bool protocols::motif_grafting::movers::MotifGraftMover::get_fragments_by_CA_distances_and_NCpoints_restrains ( core::pose::Pose const &  p_scaffold,
core::pose::PoseOP const &  p_motif_,
utility::vector1< utility::vector1< std::pair< core::Size, core::Size > > > &  vv_scaffold_fragments_indexes,
utility::vector1< std::pair< core::Size, core::Size > > &  v_motif_fragments_indexes,
core::Real const &  RMSD_tol,
utility::vector1< std::pair< long int, long int > > const &  max_fragment_replacement_size_delta,
utility::vector1< std::pair< core::Size, core::Size > > const &  v_motif_fragments_permutation,
bool const &  b_only_allow_if_N_point_match_aa_identity,
bool const &  b_only_allow_if_C_point_match_aa_identity,
bool const &  b_N_point_can_replace_proline,
bool const &  b_C_point_can_replace_proline 
)

returns by reference two vectors of indexes (vv_scaffold_fragments_indexes, v_motif_fragments_indexes) that hold the lower and upper bounds of the fragments. Indeed the corresponding to the scaffold one is a vector of vectors, since each pose_scaffold can have many matches

Generates the combinations of fragments that match the motif(s). Returns by reference: A) For each motif fragment a vector element with the indices of the motif fragments B) For each motif fragment a vector element with the indices of the fragments in the Scaffold that are within the CA distance restraint.

References core::pose::Pose::aa(), core::chemical::aa_from_oneletter_code(), core::pose::Pose::residue(), core::pose::Pose::size(), protocols::motif_grafting::movers::TR(), and core::conformation::Residue::xyz().

Referenced by get_matching_fragments().

◆ get_matching_fragments()

void protocols::motif_grafting::movers::MotifGraftMover::get_matching_fragments ( core::pose::Pose const &  target_scaffold,
core::pose::PoseOP const &  target_motif_,
core::pose::PoseOP const &  target_contextStructure_,
core::Real const &  RMSD_tol,
core::Real const &  NC_points_RMSD_tol,
core::Real const &  clash_atom_scale,
core::Size const &  clash_cutoff,
core::Size const &  min_fragment_size,
std::string const &  clash_test_residue,
utility::vector1< std::pair< long int, long int > > const &  max_fragment_replacement_size_delta_,
utility::vector1< std::pair< core::Size, core::Size > > const &  combinatory_fragment_size_delta,
utility::vector1< utility::vector1< core::Size > > const &  vvr_hotspots,
bool const &  b_full_motif_bb_alignment,
bool const &  b_allow_independent_alignment_per_fragment,
bool const &  b_graft_only_hotspots_by_sidechain_replacement,
bool const &  b_only_allow_if_N_point_match_aa_identity,
bool const &  b_only_allow_if_C_point_match_aa_identity,
std::priority_queue< MotifMatch > &  pq 
)

◆ get_mono_aa_pose_copy()

core::pose::Pose protocols::motif_grafting::movers::MotifGraftMover::get_mono_aa_pose_copy ( core::pose::Pose const &  p_input,
std::string const &  aminoacid_code 
)

returns a copy of the pose that replaces all the aminoacids for a single selected aminoacid

Generates a copy of the pose with the same aminoacid type in all the positions, but keeping the bb Note: may crash or give unexpected results if you put a big residue (e.g. VAL or TRP)

References protocols::toolbox::pose_manipulation::construct_poly_uniq_restype_pose(), core::chemical::FA_STANDARD, core::pose::Pose::pdb_info(), and core::pose::Pose::size().

Referenced by get_matching_fragments().

◆ get_motif_scaffold_superposition_and_RMSD()

void protocols::motif_grafting::movers::MotifGraftMover::get_motif_scaffold_superposition_and_RMSD ( core::pose::Pose const &  p_scaffold,
core::pose::PoseOP const &  p_motif_,
core::Real const &  RMSD_tol,
core::Real const &  tip_RMSD_tol,
utility::vector1< utility::vector1< core::Size > > const &  vvr_hotspots,
bool const &  b_full_motif_bb_alignment,
bool const &  b_allow_independent_alignment_per_fragment,
bool const &  b_graft_only_hotspots_by_sidechain_replacement,
utility::vector1< motif2scaffold_data > &  v_m2s_data 
)

performs soperposition based on the motif and returns fragments within the RMSD_tol and also returns the Rotation and translation superposition information in the first [1] vector of each fragment

References get_bb_alignment_and_transformation_wTipsExtraInfo(), protocols::cluster::calibur::RMSD(), and protocols::motif_grafting::movers::TR().

Referenced by get_matching_fragments().

◆ get_name()

std::string protocols::motif_grafting::movers::MotifGraftMover::get_name ( ) const
overridevirtual

Each derived class must specify its name. The class name.

Implements protocols::moves::Mover.

References mover_name().

◆ get_next_nonredundant_motifmatch()

bool protocols::motif_grafting::movers::MotifGraftMover::get_next_nonredundant_motifmatch ( MotifMatch match,
numeric::HomogeneousTransform< core::Real > &  match_xform 
)

◆ get_next_output()

bool protocols::motif_grafting::movers::MotifGraftMover::get_next_output ( core::pose::Pose work_pose)

◆ get_rotated_and_translated_pose()

core::pose::Pose protocols::motif_grafting::movers::MotifGraftMover::get_rotated_and_translated_pose ( core::pose::Pose const &  p_scaffold,
numeric::xyzMatrix< core::Real > const &  RotM,
numeric::xyzVector< core::Real > const &  TvecA,
numeric::xyzVector< core::Real > const &  TvecB 
)

◆ init_parameters()

void protocols::motif_grafting::movers::MotifGraftMover::init_parameters ( std::string const &  s_contextStructure,
std::string const &  s_motif,
core::Real const &  r_RMSD_tolerance,
core::Real const &  r_NC_points_RMSD_tolerance,
core::Real const &  gp_r_clash_atom_scale,
core::Size const &  i_clash_score_cutoff,
core::Size const &  i_min_fragment_size,
std::string const &  s_combinatory_fragment_size_delta,
std::string const &  s_max_fragment_replacement_size_delta,
std::string const &  s_clash_test_residue,
std::string const &  s_hotspots,
bool &  b_full_motif_bb_alignment,
bool const &  b_allow_independent_alignment_per_fragment,
bool const &  b_graft_only_hotspots_by_sidechain_replacement,
bool const &  b_only_allow_if_N_point_match_aa_identity,
bool const &  b_only_allow_if_C_point_match_aa_identity,
bool const &  b_revert_graft_to_native_sequence,
bool const &  b_allow_repeat_same_graft_output,
bool const &  b_reinit_every_apply,
core::Real const &  r_output_cluster_tolerance,
filters::FilterCOP const &  f_output_filter 
)

◆ join_two_poses_by_jump()

core::pose::Pose protocols::motif_grafting::movers::MotifGraftMover::join_two_poses_by_jump ( core::pose::Pose const &  p_A,
core::pose::Pose const &  p_B 
)

◆ mover_name()

std::string protocols::motif_grafting::movers::MotifGraftMover::mover_name ( )
static

◆ parse_my_string_arguments_and_cast_to_globalPrivateSpaceVariables()

void protocols::motif_grafting::movers::MotifGraftMover::parse_my_string_arguments_and_cast_to_globalPrivateSpaceVariables ( std::string const &  s_contextStructure,
std::string const &  s_motif,
core::Real const &  r_RMSD_tolerance,
core::Real const &  r_NC_points_RMSD_tolerance,
core::Real const &  r_clash_atom_scale,
core::Size const &  i_clash_score_cutoff,
core::Size const &  i_min_fragment_size,
std::string const &  s_combinatory_fragment_size_delta,
std::string const &  s_max_fragment_replacement_size_delta,
std::string const &  s_clash_test_residue,
std::string const &  s_hotspots,
bool &  b_full_motif_bb_alignment,
bool const &  b_allow_independent_alignment_per_fragment,
bool const &  b_graft_only_hotspots_by_sidechain_replacement,
bool const &  b_only_allow_if_N_point_match_aa_identity,
bool const &  b_only_allow_if_C_point_match_aa_identity,
bool const &  b_revert_graft_to_native_sequence,
bool const &  b_allow_repeat_same_graft_output,
bool const &  b_reinit_every_apply,
core::Real const &  r_output_cluster_tolerance,
filters::FilterCOP const &  f_output_filter 
)

◆ parse_my_tag()

void protocols::motif_grafting::movers::MotifGraftMover::parse_my_tag ( utility::tag::TagCOP  tag,
basic::datacache::DataMap data 
)
overridevirtual

◆ permutate_n_vv_of_pairs()

void protocols::motif_grafting::movers::MotifGraftMover::permutate_n_vv_of_pairs ( utility::vector1< utility::vector1< std::pair< core::Size, core::Size > > > const &  vv_of_pairs,
utility::vector1< std::pair< core::Size, core::Size > > &  buff_combVec,
core::Size  start_index,
utility::vector1< utility::vector1< std::pair< core::Size, core::Size > > > &  vv_resulting_permutations 
)

As the name suggests in generates all the permutations of a vector of vectors of pairs (Alex: we should templatize this! Maybe alrready there?)

As the name suggests in generates all the permutations of a vector of vectors of pairs (Alex: we should templatize this)

Referenced by generate_combinations_of_motif_fragments_by_delta_variation().

◆ provide_xml_schema()

void protocols::motif_grafting::movers::MotifGraftMover::provide_xml_schema ( utility::tag::XMLSchemaDefinition &  xsd)
static

◆ stich_motif_in_scaffold_by_indexes_rotation_and_translation()

core::pose::Pose protocols::motif_grafting::movers::MotifGraftMover::stich_motif_in_scaffold_by_indexes_rotation_and_translation ( core::pose::Pose const &  p_scaffold,
core::pose::Pose const &  p_motif_,
motif2scaffold_data m2s_dat,
bool const &  skip_motif_extremes 
)

◆ superposition_transform()

void protocols::motif_grafting::movers::MotifGraftMover::superposition_transform ( core::Size  natoms,
ObjexxFCL::FArray1_double const &  weights,
ObjexxFCL::FArray2_double &  ref_coords,
ObjexxFCL::FArray2_double &  coords,
numeric::xyzMatrix< core::Real > &  RotM,
numeric::xyzVector< core::Real > &  TvecA,
numeric::xyzVector< core::Real > &  TvecB 
)

Helper Fortran wrapper to get the aligment of two matrixes as well as the corresponding transform.

Superposition_transform wrapper (as in Alex Ford code protocols/toolbox/superimpose.[cc,hh])

References protocols::simple_filters::coords(), protocols::toolbox::fit_centered_coords(), and protocols::toolbox::reset_x().

Referenced by get_bb_alignment_and_transformation(), and get_bb_alignment_and_transformation_wTipsExtraInfo().

◆ test_epigraft_and_contextStructure_clashes()

void protocols::motif_grafting::movers::MotifGraftMover::test_epigraft_and_contextStructure_clashes ( core::pose::Pose const &  p_scaffold,
core::pose::Pose const &  p_motif_,
core::pose::Pose const &  p_contextStructure_,
core::Size const &  clash_cutoff,
utility::vector1< motif2scaffold_data > &  v_m2s_data,
numeric::geometry::hashing::MinimalClashHash const &  context_clash_hash,
core::Real  clash_atom_scale 
)

Member Data Documentation

◆ context_clash_hash_

numeric::geometry::hashing::MinimalClashHashOP protocols::motif_grafting::movers::MotifGraftMover::context_clash_hash_
protected

Referenced by get_matching_fragments().

◆ gp_b_allow_independent_alignment_per_fragment_

bool protocols::motif_grafting::movers::MotifGraftMover::gp_b_allow_independent_alignment_per_fragment_
protected

◆ gp_b_allow_repeat_same_graft_output_

bool protocols::motif_grafting::movers::MotifGraftMover::gp_b_allow_repeat_same_graft_output_
protected

◆ gp_b_full_motif_bb_alignment_

bool protocols::motif_grafting::movers::MotifGraftMover::gp_b_full_motif_bb_alignment_
protected

◆ gp_b_graft_only_hotspots_by_sidechain_replacement_

bool protocols::motif_grafting::movers::MotifGraftMover::gp_b_graft_only_hotspots_by_sidechain_replacement_
protected

◆ gp_b_is_first_run_

bool protocols::motif_grafting::movers::MotifGraftMover::gp_b_is_first_run_
protected

Referenced by apply(), and MotifGraftMover().

◆ gp_b_only_allow_if_C_point_match_aa_identity_

bool protocols::motif_grafting::movers::MotifGraftMover::gp_b_only_allow_if_C_point_match_aa_identity_
protected

◆ gp_b_only_allow_if_N_point_match_aa_identity_

bool protocols::motif_grafting::movers::MotifGraftMover::gp_b_only_allow_if_N_point_match_aa_identity_
protected

◆ gp_b_reinit_every_apply_

bool protocols::motif_grafting::movers::MotifGraftMover::gp_b_reinit_every_apply_
protected

◆ gp_b_revert_graft_to_native_sequence_

bool protocols::motif_grafting::movers::MotifGraftMover::gp_b_revert_graft_to_native_sequence_
protected

◆ gp_f_output_filter_

filters::FilterCOP protocols::motif_grafting::movers::MotifGraftMover::gp_f_output_filter_
protected

◆ gp_i_clash_score_cutoff_

core::Size protocols::motif_grafting::movers::MotifGraftMover::gp_i_clash_score_cutoff_
protected

◆ gp_i_min_fragment_size_

core::Size protocols::motif_grafting::movers::MotifGraftMover::gp_i_min_fragment_size_
protected

◆ gp_p_contextStructure_

core::pose::PoseOP protocols::motif_grafting::movers::MotifGraftMover::gp_p_contextStructure_
protected

◆ gp_p_motif_

core::pose::PoseOP protocols::motif_grafting::movers::MotifGraftMover::gp_p_motif_
protected

◆ gp_p_target_pose_

core::pose::PoseOP protocols::motif_grafting::movers::MotifGraftMover::gp_p_target_pose_
protected

◆ gp_r_clash_atom_scale_

core::Real protocols::motif_grafting::movers::MotifGraftMover::gp_r_clash_atom_scale_
protected

◆ gp_r_NC_points_RMSD_tolerance_

core::Real protocols::motif_grafting::movers::MotifGraftMover::gp_r_NC_points_RMSD_tolerance_
protected

◆ gp_r_output_cluster_tolerance_

core::Real protocols::motif_grafting::movers::MotifGraftMover::gp_r_output_cluster_tolerance_
protected

◆ gp_r_RMSD_tolerance_

core::Real protocols::motif_grafting::movers::MotifGraftMover::gp_r_RMSD_tolerance_
protected

◆ gp_s_clash_test_residue_

std::string protocols::motif_grafting::movers::MotifGraftMover::gp_s_clash_test_residue_
protected

◆ gp_vp_combinatory_fragment_size_delta_

utility::vector1< std::pair< core::Size, core::Size > > protocols::motif_grafting::movers::MotifGraftMover::gp_vp_combinatory_fragment_size_delta_
protected

◆ gp_vp_max_fragment_replacement_size_delta_

utility::vector1< std::pair< long int, long int > > protocols::motif_grafting::movers::MotifGraftMover::gp_vp_max_fragment_replacement_size_delta_
protected

◆ gp_vvr_hotspots_

utility::vector1< utility::vector1< core::Size > > protocols::motif_grafting::movers::MotifGraftMover::gp_vvr_hotspots_
protected

◆ motif_match_results_

std::priority_queue<MotifMatch> protocols::motif_grafting::movers::MotifGraftMover::motif_match_results_
protected

◆ output_transforms_

utility::vector1< numeric::HomogeneousTransform< core::Real > > protocols::motif_grafting::movers::MotifGraftMover::output_transforms_
protected

The documentation for this class was generated from the following files: