Rosetta 3.5
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Public Member Functions | Private Attributes | List of all members
protocols::grafting::AnchoredGraftMover Class Reference

Grafting class adapted from Steven Lewis' pose_into_pose algorithm. Basic, and quick, but with many options. More...

#include <AnchoredGraftMover.hh>

Inheritance diagram for protocols::grafting::AnchoredGraftMover:
Inheritance graph
[legend]
Collaboration diagram for protocols::grafting::AnchoredGraftMover:
Collaboration graph
[legend]

Public Member Functions

 AnchoredGraftMover (Size const start, Size const end)
 Start and end are the residue numbers you want your insert to go between. start->Insert<-end. More...
 
virtual ~AnchoredGraftMover ()
 
void set_defaults ()
 
void set_scaffold_flexibility (Size const Nter_scaffold_flexibility, Size const Cter_scaffold_flexibility)
 Sets scaffold flexiblity on either end of scaffold. More...
 
void set_insert_flexibility (Size const Nter_insert_flexibility, Size const Cter_insert_flexibility)
 Sets insert flexibility on either end of insert. More...
 
void set_movemaps (MoveMapOP const scaffold_mm, MoveMapOP const insert_mm)
 Advanced way to set options. Use if you know what you are doing. More...
 
void set_use_default_movemap_from_flexibility (bool def)
 Instructs the class to ignore any movemaps from set_movemaps. More...
 
void set_cycles (Size cycles)
 
void set_default_cen_scorefunction ()
 override of base class More...
 
void set_cen_scorefunction (core::scoring::ScoreFunctionOP scorefxn_)
 override of base class More...
 
void set_mintype (std::string mintype)
 Sets the mintype for the MinMover. More...
 
void set_skip_sampling (bool skip_sampling)
 Sets the mover to skip the small mover sampling step. More...
 
void set_use_smooth_centroid_settings (bool use_smooth)
 sets up the smooth centroid scorefunction + any changes to VDW. if false, switches back to default scorefunction. More...
 
void set_use_single_loop_double_CCD_arms (bool single_loop_double_arm)
 Uses a single loop, two arm loop closer. More...
 
void set_use_double_loop_double_CCD_arms (bool double_loop_double_arm)
 Keeps the insert frozen in cartesian space. Sets the algorithm to use two loops on either side in order to close the graft. (Please superimpose piece onto scaffold first) More...
 
void set_use_double_loop_quad_CCD_arms (bool double_loop_quad_arm)
 Keeps the insert frozen in cartesian space. Sets the algorithm to use two loops on either side in order to close the graft. (Please superimpose piece onto scaffold first) More...
 
Size get_Cter_loop_end ()
 
void set_test_control_mode (bool test_control_mode)
 TESTING ONLY Sets the protocol to 'randomize' the flexible residues before trying to graft. This is used to test the protocol by grafting a piece of a protein back onto itself and looking at RMSD. More...
 
virtual void apply (Pose &pose)
 Grafts the piece into the pose, uses CCD to close the connection. Insert does not change dihedral space, but DOES change cartesian space by default. Pose is returned without repacking any sidechains. Use repack_connection after apply method. Deletes overhang and region between start and end if residues are present. More...
 
virtual void repack_connection_and_residues_in_movemap (Pose &pose, core::scoring::ScoreFunctionOP fa_scorefxn)
 convenience function for AFTER apply method. More...
 
virtual void repack_connection_and_residues_in_movemap_and_piece (Pose &pose, core::scoring::ScoreFunctionOP fa_scorefxn)
 convenience function for AFTER apply method. More...
 
- Public Member Functions inherited from protocols::grafting::GraftMoverBase
 GraftMoverBase (Size const start, Size const end, std::string mover_name)
 Start and end are the residue numbers you want your insert to go between. start->Insert<-end. More...
 
virtual ~GraftMoverBase ()
 copy ctor More...
 
virtual void set_piece (Pose &piece, Size Nter_overhang, Size Cter_overhang)
 Sets the piece that will be inserted, and any overhang residues. More...
 
virtual void set_insert_region (Size const start, Size const end)
 Set the region if changed since construction. More...
 
virtual void set_fa_scorefunction (core::scoring::ScoreFunctionOP score)
 
virtual void set_default_fa_scorefunction ()
 Grabs the scorefunction from command line options. More...
 
void superimpose_overhangs_heavy (Pose const &pose, bool ca_only, bool silence_rms)
 uses rms_util to superimpose piece onto pose. Not run during apply for added control to user. More...
 
virtual std::string get_name () const
 Return the name of the Mover. More...
 
- Public Member Functions inherited from protocols::moves::Mover
 Mover ()
 
virtual ~Mover ()
 
virtual MoverSP create ()
 
virtual void apply (core::io::serialization::PipeMap &pmap)
 
virtual void parse_state (SerializableState const &state)
 
virtual void parse_def (utility::lua::LuaObject const &def, utility::lua::LuaObject const &score_fxns, utility::lua::LuaObject const &tasks, MoverCacheSP cache)
 
virtual void save_state (SerializableState &state)
 
 Mover (std::string const &type_name)
 sets the type for a mover; name_ has been removed (2010/05/14) More...
 
 Mover (Mover const &other)
 
Moveroperator= (Mover const &other)
 assignment operator More...
 
virtual core::Real last_proposal_density_ratio ()
 
std::string const & type () const
 
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...
 
void set_current_tag (std::string const &new_tag)
 
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
 
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...
 
void type (const std::string &type_in)
 
virtual MoverOP clone () const
 clone has to be overridden only if clone invocation is expected. More...
 
virtual void parse_my_tag (TagPtr const tag, DataMap &data, Filters_map const &filters, Movers_map const &movers, Pose const &pose)
 Called by MoverFactory when constructing new Movers. Takes care of the specific mover's parsing. More...
 
std::string get_type () const
 
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...
 
virtual core::pose::PoseOP get_additional_output ()
 Mechanism by which a mover may return multiple output poses from a single input pose. More...
 
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 bool reinitialize_for_each_job () const
 this function informs 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
 this function informs 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
 this is like clone(), except it generates a new mover object freshly created with the default ctor. This function should be pure virtual but that would disrupt the code base; MAKE SURE YOU DEFINE IT if you want to have your mover be a protocol handed to the job distributor (august 08 vintage). More...
 
void set_current_job (protocols::jobdist::BasicJobCOP job)
 
jobdist::BasicJobCOP get_current_job () const
 

Private Attributes

Size cycles_
 
std::string mintype_
 
bool skip_sampling_
 
bool single_loop_double_arm_
 
bool double_loop_double_arm_
 
bool double_loop_quad_arm_
 
bool test_control_mode_
 

Additional Inherited Members

- Public Types inherited from protocols::moves::Mover
typedef utility::tag::TagPtr TagPtr
 
typedef core::pose::Pose Pose
 
typedef core::pose::PoseCOP PoseCOP
 
typedef
protocols::filters::Filters_map 
Filters_map
 
typedef std::list< std::string > Strings
 
- 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. these options will end up in -help of your application if users of this mover call register_options. do this recursively! if you use movers within your mover, call their register_options in your register_options() method. More...
 
- Protected Member Functions inherited from protocols::grafting::GraftMoverBase
Pose insert_piece (Pose const &pose)
 Steven Lewis' insertion method from insert_pose_into_pose. Wrapper to his function, using variables defined in this baseclass. More...
 
virtual core::Real perturb_backbone_for_test (Pose &pose, MoveMapOP mm)
 Uses a small mover at high KT to perturb residues in the movemap for testing. More...
 
MoveMapOP combine_movemaps (MoveMap const &scaffold_mm, MoveMap const &insert_mm)
 combines the two main movemaps to use after the insertion. More...
 
void delete_overhang_residues ()
 deletes overhang residues of the pose piece set. Recommended use is within apply method More...
 
void set_overhang (Size Nter_overhang, Size Cter_overhang)
 Set overhang residues. More...
 
virtual void setup_movemap_and_regions (Pose &pose)
 sets up either the default movemap or a new combined movemap at apply time. Updates regions as needed. More...
 
virtual void set_default_movemap ()
 Sets up the default movemap. More...
 
virtual void set_regions_from_flexibility ()
 Sets up the regions at apply using insert variables and flexibility. More...
 
virtual void set_regions_from_movemap (Pose &pose)
 Sets up region variables from the class movemap for the combined pose. More...
 
virtual void setup_single_loop_single_arm_remodeling_foldtree (Pose &pose, Size const Nter_loop_start, Size const Cter_loop_end, bool loop_modeling=false)
 ****Nter_loop_start-—>Piece-—> | Cter_loop_end**** Insert will move in cartesian space lower_cutpoint for CCD and loops is Cter_loop_end-1 More...
 
virtual void setup_single_loop_double_arm_remodeling_foldtree (Pose &pose, Size const Nter_loop_start, Size const Cter_loop_end, bool loop_modeling=false)
 ****Nter_loop_start-—>Piece | <-—Nter_loop_end**** Insert will move in cartesian space lower_cutpoint for CCD and loops is end_-1 More...
 
- Protected Attributes inherited from protocols::grafting::GraftMoverBase
Pose piece_
 
Size start_
 Residue insertion will start from. More...
 
Size end_
 Residue insertion will end before here. Updates after insertion. More...
 
Size original_end_
 some functions need to only work on the original numbers. (combine movemaps) More...
 
Size insertion_length_
 
core::scoring::ScoreFunctionOP cen_scorefxn_
 
core::scoring::ScoreFunctionOP fa_scorefxn_
 
Size Nter_overhang_
 Number of overhang residues on N terminus. Updates on delete_overhang_residues. More...
 
Size Cter_overhang_
 Number of overhang residues on C terminus. Updates on delete_overhang_residues. More...
 
MoveMapOP movemap_
 
MoveMapOP scaffold_movemap_
 
MoveMapOP insert_movemap_
 
bool use_default_movemap_
 
Size Nter_scaffold_flexibility_
 
Size Nter_insert_flexibility_
 
Size Nter_loop_start_
 
Size Nter_loop_end_
 
Size Cter_scaffold_flexibility_
 
Size Cter_insert_flexibility_
 
Size Cter_loop_start_
 
Size Cter_loop_end_
 

Detailed Description

Grafting class adapted from Steven Lewis' pose_into_pose algorithm. Basic, and quick, but with many options.

example: mover = AnchoredGraftMover(start, end) mover.set_piece(piece, cter_overhang, nter_overhang) mover.apply(pose)

see also: grafting/util.hh.

Uses a single loop and a single arm to close the loop by default. ****Nter_loop_start-—>Piece-—> | Cter_loop_end**** Default movemap keeps insert Frozen in dihedral angle space, But think of the insert as part of a giant arm. Default flexibility on Nter and Cter is only two residues (–> part of diagram). Will delete any residues between start and end, and any overhang residues from the insert.

Algorithm originally from pose_into_pose: The insert will be left unchanged in internal-coordinate space except for the phi on the first residue, and the psi/omega on the last residue, and atoms whose bonding partners change as a result of the insertion. Internally, apply performs the insertion, idealizes the loop residues (omegas to 180, peptide bonds idealized) and the newly made polymer connections at the insert point, and then attempts to close the loop(s). It is intended, but not guaranteed, to produce a loop with good rama, omega, and chainbreak/peptide_bond scores. It does NOT attempt to give a loop with good sidechains (it does not repack at all) or worry overmuch about van der Waals

Constructor & Destructor Documentation

protocols::grafting::AnchoredGraftMover::AnchoredGraftMover ( Size const  start,
Size const  end 
)

Start and end are the residue numbers you want your insert to go between. start->Insert<-end.

References set_defaults().

protocols::grafting::AnchoredGraftMover::~AnchoredGraftMover ( )
virtual

Member Function Documentation

void protocols::grafting::AnchoredGraftMover::apply ( Pose pose)
virtual

Grafts the piece into the pose, uses CCD to close the connection. Insert does not change dihedral space, but DOES change cartesian space by default. Pose is returned without repacking any sidechains. Use repack_connection after apply method. Deletes overhang and region between start and end if residues are present.

Implements protocols::moves::Mover.

References core::pose::add_variant_type_to_pose_residue(), protocols::simple_moves::BackboneMover::angle_max(), protocols::loops::FoldTreeFromLoops::apply(), protocols::simple_moves::SwitchResidueTypeSetMover::apply(), protocols::simple_moves::ReturnSidechainMover::apply(), protocols::simple_moves::BackboneMover::apply(), protocols::simple_moves::MinMover::apply(), core::id::BB, protocols::moves::MonteCarlo::boltzmann(), protocols::grafting::GraftMoverBase::cen_scorefxn_, core::chemical::CENTROID, core::pose::Pose::conformation(), protocols::grafting::GraftMoverBase::Cter_loop_end_, protocols::grafting::GraftMoverBase::Cter_loop_start_, protocols::loops::Loop::cut(), core::chemical::CUTPOINT_LOWER, core::chemical::CUTPOINT_UPPER, cycles_, double_loop_double_arm_, double_loop_quad_arm_, protocols::grafting::GraftMoverBase::end_, core::pose::Pose::fold_tree(), core::conformation::Conformation::insert_ideal_geometry_at_polymer_bond(), protocols::grafting::GraftMoverBase::insert_piece(), protocols::grafting::GraftMoverBase::insertion_length_, protocols::loops::FoldTreeFromLoops::loops(), mintype_, protocols::grafting::GraftMoverBase::movemap_, protocols::grafting::GraftMoverBase::Nter_loop_end_, protocols::grafting::GraftMoverBase::Nter_loop_start_, protocols::grafting::GraftMoverBase::perturb_backbone_for_test(), core::id::phi_torsion(), core::id::psi_torsion(), protocols::moves::MonteCarlo::recover_low(), core::pose::remove_variant_type_from_pose_residue(), core::pose::Pose::set_omega(), core::pose::Pose::set_phi(), core::pose::Pose::set_psi(), protocols::grafting::GraftMoverBase::setup_movemap_and_regions(), protocols::grafting::GraftMoverBase::setup_single_loop_double_arm_remodeling_foldtree(), protocols::grafting::GraftMoverBase::setup_single_loop_single_arm_remodeling_foldtree(), single_loop_double_arm_, skip_sampling_, protocols::grafting::GraftMoverBase::start_, test_control_mode_, and protocols::TR().

core::Size protocols::grafting::AnchoredGraftMover::get_Cter_loop_end ( )
Returns
the Cterminal loop end (Last flexible residue). Useful to use after insertion.

References protocols::grafting::GraftMoverBase::Cter_loop_end_.

void protocols::grafting::AnchoredGraftMover::repack_connection_and_residues_in_movemap ( Pose pose,
core::scoring::ScoreFunctionOP  fa_scorefxn 
)
virtual

convenience function for AFTER apply method.

flexible Nter and Cter residues plus the first and last residue of the insert. If passing movemaps, will respect those movemaps.

References core::pack::task::TaskFactory::create_packer_task(), protocols::grafting::GraftMoverBase::end_, protocols::grafting::GraftMoverBase::movemap_, protocols::grafting::GraftMoverBase::start_, and core::pose::Pose::total_residue().

void protocols::grafting::AnchoredGraftMover::repack_connection_and_residues_in_movemap_and_piece ( Pose pose,
core::scoring::ScoreFunctionOP  fa_scorefxn 
)
virtual

convenience function for AFTER apply method.

flexible Nter and Cter residues plus the entire insert. If passing movemaps, will respect those movemaps.

References core::pack::task::TaskFactory::create_packer_task(), protocols::grafting::GraftMoverBase::end_, protocols::grafting::GraftMoverBase::movemap_, protocols::grafting::GraftMoverBase::start_, and core::pose::Pose::total_residue().

void protocols::grafting::AnchoredGraftMover::set_cen_scorefunction ( core::scoring::ScoreFunctionOP  scorefxn_)
virtual
void protocols::grafting::AnchoredGraftMover::set_cycles ( Size  cycles)

References cycles_.

Referenced by set_defaults().

void protocols::grafting::AnchoredGraftMover::set_default_cen_scorefunction ( )
virtual
void protocols::grafting::AnchoredGraftMover::set_defaults ( )
void protocols::grafting::AnchoredGraftMover::set_insert_flexibility ( Size const  Nter_insert_flexibility,
Size const  Cter_insert_flexibility 
)
void protocols::grafting::AnchoredGraftMover::set_mintype ( std::string  mintype)

Sets the mintype for the MinMover.

References mintype_.

Referenced by set_defaults().

void protocols::grafting::AnchoredGraftMover::set_movemaps ( MoveMapOP const  scaffold_mm,
MoveMapOP const  insert_mm 
)

Advanced way to set options. Use if you know what you are doing.

Will combine the movemaps for apply, and renumber everything. Flexible residues in multiple chains not recommended. single_loop_single_arm (Default) From the first bb flexible residue to the last will act as one loop. This can be amazing as you can use loop regions in various parts of your protein to help the insertion. single_loop_double_arm: One arm will be from first flexible N terminal residue to end_; Second arm will be from there to last flexible residue double_loop_double_arm: One arm Will go from first flexible N terminal residue to after start_+any contiguous residues on in the movemap from there. Opposite for Cter side. double_loop_quad_arm: same as double, but cutpoints will be at each new peptide bond.

Note: Will disregard flexibility settings, as the movemaps will be used as primary way to define flexibility.

References protocols::grafting::GraftMoverBase::insert_movemap_, protocols::grafting::GraftMoverBase::scaffold_movemap_, and protocols::grafting::GraftMoverBase::use_default_movemap_.

void protocols::grafting::AnchoredGraftMover::set_scaffold_flexibility ( Size const  Nter_scaffold_flexibility,
Size const  Cter_scaffold_flexibility 
)
void protocols::grafting::AnchoredGraftMover::set_skip_sampling ( bool  skip_sampling)

Sets the mover to skip the small mover sampling step.

References skip_sampling_.

Referenced by set_defaults().

void protocols::grafting::AnchoredGraftMover::set_test_control_mode ( bool  test_control_mode)

TESTING ONLY Sets the protocol to 'randomize' the flexible residues before trying to graft. This is used to test the protocol by grafting a piece of a protein back onto itself and looking at RMSD.

References test_control_mode_.

Referenced by set_defaults().

void protocols::grafting::AnchoredGraftMover::set_use_default_movemap_from_flexibility ( bool  def)

Instructs the class to ignore any movemaps from set_movemaps.

References protocols::grafting::GraftMoverBase::use_default_movemap_.

Referenced by set_defaults().

void protocols::grafting::AnchoredGraftMover::set_use_double_loop_double_CCD_arms ( bool  double_loop_double_arm)

Keeps the insert frozen in cartesian space. Sets the algorithm to use two loops on either side in order to close the graft. (Please superimpose piece onto scaffold first)

****Nter_loop_start--—> | Piece | <-—Nter_loop_end****

References double_loop_double_arm_.

Referenced by set_defaults().

void protocols::grafting::AnchoredGraftMover::set_use_double_loop_quad_CCD_arms ( bool  double_loop_quad_arm)

Keeps the insert frozen in cartesian space. Sets the algorithm to use two loops on either side in order to close the graft. (Please superimpose piece onto scaffold first)

****Nter_loop_start-—> | <-— Piece --—> | <---— Cter_loop_end**** Use only if you have continuous flexibility in your insert from start and or end.

References double_loop_quad_arm_.

Referenced by set_defaults().

void protocols::grafting::AnchoredGraftMover::set_use_single_loop_double_CCD_arms ( bool  single_loop_double_arm)

Uses a single loop, two arm loop closer.

****Nter_loop_start-—>Piece | <-—Nter_loop_end****

References single_loop_double_arm_.

Referenced by set_defaults().

void protocols::grafting::AnchoredGraftMover::set_use_smooth_centroid_settings ( bool  use_smooth)

sets up the smooth centroid scorefunction + any changes to VDW. if false, switches back to default scorefunction.

References protocols::grafting::GraftMoverBase::cen_scorefxn_, core::scoring::chainbreak, core::scoring::ScoreFunctionFactory::create_score_function(), and set_default_cen_scorefunction().

Referenced by set_defaults().

Member Data Documentation

Size protocols::grafting::AnchoredGraftMover::cycles_
private

Referenced by apply(), and set_cycles().

bool protocols::grafting::AnchoredGraftMover::double_loop_double_arm_
private
bool protocols::grafting::AnchoredGraftMover::double_loop_quad_arm_
private
std::string protocols::grafting::AnchoredGraftMover::mintype_
private

Referenced by apply(), and set_mintype().

bool protocols::grafting::AnchoredGraftMover::single_loop_double_arm_
private
bool protocols::grafting::AnchoredGraftMover::skip_sampling_
private

Referenced by apply(), and set_skip_sampling().

bool protocols::grafting::AnchoredGraftMover::test_control_mode_
private

Referenced by apply(), and set_test_control_mode().


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