Rosetta Protocols  2014.35
Public Member Functions | Protected Member Functions | Private Attributes | List of all members
protocols::kinematic_closure::KicMover Class Reference

Find a new backbone conformation for some region of a protein. More...

#include <KicMover.hh>

Public Member Functions

 KicMover ()
 Default constructor. More...
 
 ~KicMover ()
 Default destructor. More...
 
std::string get_name () const
 Return the name of this mover. More...
 
pivot_pickers::PivotPickerOP get_pivot_picker ()
 Return the PivotPicker being used by this mover. More...
 
solution_pickers::SolutionPickerOP get_solution_picker ()
 Return the SolutionPicker being used by this mover. More...
 
void add_perturber (perturbers::PerturberOP perturber)
 Specify how the non-pivot torsions should be sampled. More...
 
void clear_perturbers ()
 Forget any perturbers that had been previously added. More...
 
void set_pivot_picker (pivot_pickers::PivotPickerOP picker)
 Specify how the pivot residues should be chosen. More...
 
void set_solution_picker (solution_pickers::SolutionPickerOP picker)
 Specify how a solution should be chosen. More...
 
protocols::loop_modeling::FoldTreeRequest request_fold_tree () const
 
- Public Member Functions inherited from protocols::loop_modeling::LoopMover
 LoopMover ()
 Default constructor. More...
 
 ~LoopMover ()
 Default destructor. More...
 
void apply (Pose &pose)
 Sample the pose in the regions specified by get_loops(). More...
 
bool was_successful () const
 Return true if the previous move was successful. More...
 
Loops get_loops () const
 Return the loops to be sampled on the next call to apply(). More...
 
core::scoring::ScoreFunctionCOP get_score_function () const
 Return the score function to be used on the next call to apply(). More...
 
core::scoring::ScoreFunctionOP get_score_function ()
 Return the score function to be used on the next call to apply() (non-const access). More...
 
void set_loop (Loop const &loop)
 Set the loop to be sampled on the next call to apply(). More...
 
void set_loops (Loops const &loops)
 Set the loops to be sampled on the next call to apply(). More...
 
void set_score_function (core::scoring::ScoreFunctionOP sfxn)
 Set the score function to be used on the next call to apply(). More...
 
void trust_fold_tree ()
 Promise that the calling code will setup a fold tree compatible with request_fold_tree(). If this method is not called, most movers will setup a fold tree on their own the first time apply() is called. 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
 
void set_type (std::string const &setting)
 
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
 Return a clone of the Mover object. More...
 
virtual void parse_my_tag (TagCOP tag, basic::datacache::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
 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...
 
void set_current_job (protocols::jobdist::BasicJobCOP job)
 
jobdist::BasicJobCOP get_current_job () const
 
virtual void show (std::ostream &output=std::cout) const
 Outputs details about the Mover, including current settings. More...
 

Protected Member Functions

bool do_apply (Pose &pose, Loop const &loop)
 Sample a new backbone conformation for the given loop. More...
 
- Protected Member Functions inherited from protocols::loop_modeling::LoopMover
virtual bool do_apply (Pose &pose)
 Perform the loop sampling move. This method can be overwritten in child classes. More...
 
void dont_manage_score_function ()
 Disable all the LoopMover score function related methods. More...
 
template<class LoopMoverSubclassOP >
LoopMoverSubclassOP register_nested_loop_mover (LoopMoverSubclassOP mover)
 Indicate that the given loop mover is used within do_apply(). More...
 
void deregister_nested_loop_movers ()
 Drop association with any currently registered loop movers. More...
 
vector1< LoopMoverOP > const & get_nested_loop_movers () const
 Return a reference to the list of nested loop movers. More...
 
- 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...
 

Private Attributes

perturbers::PerturberSetOP perturbers_
 
pivot_pickers::PivotPickerOP pivot_picker_
 
solution_pickers::SolutionPickerOP solution_picker_
 

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
protocols::filters::Filters_map 
Filters_map
 
typedef std::list< std::stringStrings
 
- Static Public Member Functions inherited from protocols::loop_modeling::LoopMover
static void setup_fold_tree (Pose &pose, Loops const &loops, FoldTreeRequest request)
 Setup the given pose with a fold tree that is compatible with the given loops and requests. More...
 
- 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...
 

Detailed Description

Find a new backbone conformation for some region of a protein.

The first step in the kinematic closure algorithm is to pick a loop and three pivot residues. Any residues in the loop that are not pivots are called non-pivots. The non-pivot backbone torsions are used to make new conformations, while the pivot torsions are used to ensure that the backbone stays closed. Use set_loops() to specify loops to sample. Use set_pivot_picker() to specify how the pivots should be chosen. Use add_perturber() to specify how the non-pivots should be sampled. By default, the algorithm will pick pivots randomly within the region being sampled and will sample the non-pivot torsions from a rama distribution.

Given a set of pivot residues and nonpivot torsion angles, the algorithm will find up to 16 possible solutions. The set_solution_picker() method allows you to control which solution, if any, is picked. By default, the first solution found which passes both a rama and a bump check is used.

Note
The default kinematic closure algorithm samples both pivot and nonpivot torsions from a rama distribution. Because this algorithm is often used in situations where the score function also contains a rama term, the rama bias is usually double-counted. This is bad, because it means that backbone torsions are normally sampled too narrowly. There are two proper ways to deal with this, but they both have drawbacks. The first would be to sample from a uniform distribution and to let the score function take care of preferring angles that fit the rama distribution. Unfortunately, this would be much less efficient than the current approach, primarily because the rama check is fast and filters out a lot of bad solutions. The second approach would be to sample from a rama distribution and to remove the rama term from the score function. This would be even more efficient than the current approach, but it would be prone to bugs because other parts of the code wouldn't expect the score function to be changing on every invocation of KIC.

Once the algorithm has been setup using the helper methods described above, apply() can be called to actually sample a new backbone conformation.

Constructor & Destructor Documentation

protocols::kinematic_closure::KicMover::KicMover ( )
protocols::kinematic_closure::KicMover::~KicMover ( )

Default destructor.

Member Function Documentation

void protocols::kinematic_closure::KicMover::add_perturber ( perturbers::PerturberOP  perturber)

Specify how the non-pivot torsions should be sampled.

The KicMover starts off with a default set of perturbers. Then first time this method is called, all of the default perturbers are cleared and only the specified perturber is kept. Subsequent calls to this method simply add the specified perturbers. Nothing you add manually gets erased.

void protocols::kinematic_closure::KicMover::clear_perturbers ( )

Forget any perturbers that had been previously added.

bool protocols::kinematic_closure::KicMover::do_apply ( Pose pose,
Loop const &  loop 
)
protectedvirtual

Sample a new backbone conformation for the given loop.

Reimplemented from protocols::loop_modeling::LoopMover.

References option, and type.

std::string protocols::kinematic_closure::KicMover::get_name ( ) const
inlinevirtual

Return the name of this mover.

Reimplemented from protocols::loop_modeling::LoopMover.

pivot_pickers::PivotPickerOP protocols::kinematic_closure::KicMover::get_pivot_picker ( )

Return the PivotPicker being used by this mover.

solution_pickers::SolutionPickerOP protocols::kinematic_closure::KicMover::get_solution_picker ( )

Return the SolutionPicker being used by this mover.

FoldTreeRequest protocols::kinematic_closure::KicMover::request_fold_tree ( ) const
virtual
void protocols::kinematic_closure::KicMover::set_pivot_picker ( pivot_pickers::PivotPickerOP  picker)

Specify how the pivot residues should be chosen.

void protocols::kinematic_closure::KicMover::set_solution_picker ( solution_pickers::SolutionPickerOP  picker)

Specify how a solution should be chosen.

Member Data Documentation

perturbers::PerturberSetOP protocols::kinematic_closure::KicMover::perturbers_
private
pivot_pickers::PivotPickerOP protocols::kinematic_closure::KicMover::pivot_picker_
private
solution_pickers::SolutionPickerOP protocols::kinematic_closure::KicMover::solution_picker_
private

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