Rosetta 3.4
Public Types | Public Member Functions | Static Public Member Functions | Public Attributes | Protected Member Functions | Protected Attributes
protocols::abinitio::ClassicAbinitio Class Reference

#include <ClassicAbinitio.hh>

Inheritance diagram for protocols::abinitio::ClassicAbinitio:
Inheritance graph
[legend]
Collaboration diagram for protocols::abinitio::ClassicAbinitio:
Collaboration graph
[legend]

List of all members.

Public Types

enum  StageID {
  ALL_STAGES = 0, STAGE_1, STAGE_2, STAGE_3a,
  STAGE_3b, STAGE_4, STAGE_5
}

Public Member Functions

 ClassicAbinitio (simple_moves::FragmentMoverOP brute_move_small, simple_moves::FragmentMoverOP brute_move_large, simple_moves::FragmentMoverOP smooth_move_small, int)
 This constructor does not work -- Fix it before using it.
 ClassicAbinitio (core::fragment::FragSetCOP fragset_small, core::fragment::FragSetCOP fragset_large, core::kinematics::MoveMapCOP movemap)
 constructor: supply fragsets for large and small fragment moves
 ClassicAbinitio (ClassicAbinitio const &src)
 Explicit copy constructor since this class contains OPs of other classes.
 ~ClassicAbinitio ()
 Explicit destructor since this class contains OPs of other classes.
virtual void init (core::pose::Pose const &pose)
 setup moves, mc-object, scores
virtual moves::MoverOP clone () const
 ClassicAbinitio has virtual functions... use this to obtain a new instance.
virtual void apply (core::pose::Pose &pose)
virtual std::string get_name () const
 Each derived class must specify its name. The class name.
simple_moves::FragmentMoverOP smooth_move_small ()
simple_moves::FragmentMoverOP brute_move_small ()
simple_moves::FragmentMoverOP brute_move_large ()
virtual void set_movemap (core::kinematics::MoveMapCOP mm)
core::kinematics::MoveMapCOP movemap ()
void set_moves (simple_moves::FragmentMoverOP brute_move_small, simple_moves::FragmentMoverOP brute_move_large, simple_moves::FragmentMoverOP smooth_move_small)
void set_mc (moves::MonteCarloOP)
moves::MonteCarlomc ()
moves::MonteCarlo const & mc () const
virtual void set_cycles (core::Real increase_cycles=1.0)
Size total_trials () const
virtual void set_score_weight (core::scoring::ScoreType, core::Real setting, StageID stage=ALL_STAGES)
 for debugging, one wants to have access to the native pose.
bool just_smooth_cycles () const
Size stage1_cycles () const
Size stage2_cycles () const
Size stage3_cycles () const
void set_stage4_cycles (Size stage4_cycles_new)
Size stage4_cycles () const
Size stage5_cycles () const
bool bQuickTest () const
void set_skip_stage1 (bool setting)
void set_skip_stage2 (bool setting)

Static Public Member Functions

static void register_options ()

Public Attributes

bool bSkipStage1_
bool bSkipStage2_
bool bSkipStage3_
bool bSkipStage4_
bool bSkipStage5_
utility::vector1< StageIDrecover_low_stages_

Protected Member Functions

virtual void update_moves ()
virtual void set_defaults (core::pose::Pose const &pose)
virtual void set_default_options ()
virtual void set_default_mc (core::pose::Pose const &pose, core::scoring::ScoreFunction const &scorefxn)
virtual void set_default_scores ()
core::scoring::ScoreFunction
const & 
current_scorefxn () const
void current_scorefxn (core::scoring::ScoreFunction const &scorefxn)
void recover_low (core::pose::Pose &pose, StageID stage)
virtual void replace_scorefxn (core::pose::Pose &pose, StageID stage, core::Real intra_stage_progress)
void set_current_weight (core::scoring::ScoreType type, core::Real setting)
virtual bool do_stage1_cycles (core::pose::Pose &pose)
virtual bool do_stage2_cycles (core::pose::Pose &pose)
virtual bool do_stage3_cycles (core::pose::Pose &pose)
virtual bool do_stage4_cycles (core::pose::Pose &pose)
virtual bool do_stage5_cycles (core::pose::Pose &pose)
virtual moves::TrialMoverOP stage1_mover (core::pose::Pose &pose, moves::TrialMoverOP trials_in)
virtual moves::TrialMoverOP stage2_mover (core::pose::Pose &pose, moves::TrialMoverOP trials_in)
virtual moves::TrialMoverOP stage3_mover (core::pose::Pose &pose, int lct1, int lct2, moves::TrialMoverOP trials_in)
virtual moves::TrialMoverOP stage4_mover (core::pose::Pose &pose, int kk, moves::TrialMoverOP trials_in)
virtual moves::TrialMoverOP stage5_mover (core::pose::Pose &pose, moves::TrialMoverOP trials_in)
virtual void set_trials ()
moves::TrialMoverOP trial_large ()
moves::TrialMoverOP trial_small ()
moves::TrialMoverOP trial_smooth ()
virtual bool prepare_stage1 (core::pose::Pose &pose)
virtual bool prepare_stage2 (core::pose::Pose &pose)
virtual bool prepare_stage3 (core::pose::Pose &pose)
virtual bool prepare_stage4 (core::pose::Pose &pose)
virtual bool prepare_stage5 (core::pose::Pose &pose)
virtual bool prepare_loop_in_stage3 (core::pose::Pose &, Size, Size)
virtual bool prepare_loop_in_stage4 (core::pose::Pose &, Size, Size)
void output_debug_structure (core::pose::Pose &pose, std::string prefix)
moves::MonteCarloOP mc_ptr ()

Protected Attributes

Size stage1_cycles_
Size stage2_cycles_
Size stage3_cycles_
Size stage4_cycles_
Size stage5_cycles_

Detailed Description

@ detail general usage: ClassicAbinitio abinitio; abinitio.init( pose ); ... while(nstruct) { abinitio.apply( pose ); }

call ClassicAbinitio::register_options() before core::init to add relevant options to the applications help

, with the following stages, all of which uses a different ScoreFunction based on the cen_std.wts in minirosetta_database:

The class implements the basic abinito approach as known from rosetta++. We tried to set this up, such that behaviour of the protocol can be changed in many different ways ( see, e.g., FoldConstraints ). To be able to change the behaviour of the protocol easily the class-apply function and methods called therein (e.g., prepare_XXX() / do_XXX_cycles() ) should not directly change moves or trials. A reference to the currently used score-function should be obtained by mc().score_function() ...

Behaviour can be changed in the following ways:

use non-classic FragmentMover --> eg. not uniformly sampled fragments, but using some weighting --> large and small moves doesn't have to be 3mers and 9mers... use other movers... ---> or other fragets for the "convenience constructor" use custom trial classes --> overload update_moves()

change sampling behaviour: overload prepare_XXX() methods: these are called before the cycling for a certain stage begins overload do_stageX_cycles() : the actual loops over trial-moves ...

change scoring functions: overload set_default_scores() weight-changes effective for all stages: set_score_weight()


Member Enumeration Documentation

Enumerator:
ALL_STAGES 
STAGE_1 
STAGE_2 
STAGE_3a 
STAGE_3b 
STAGE_4 
STAGE_5 

Constructor & Destructor Documentation

protocols::abinitio::ClassicAbinitio::ClassicAbinitio ( simple_moves::FragmentMoverOP  brute_move_small,
simple_moves::FragmentMoverOP  brute_move_large,
simple_moves::FragmentMoverOP  smooth_move_small,
int   
)

This constructor does not work -- Fix it before using it.

large (stage1/stage2) small(stage2/stage3/stage4) smooth_small ( stage3/stage4)

References bSkipStage1_, bSkipStage2_, protocols::abinitio::Protocol::get_checkpoints(), protocols::checkpoint::CheckPointer::set_type(), and protocols::moves::Mover::type().

Referenced by clone().

protocols::abinitio::ClassicAbinitio::ClassicAbinitio ( core::fragment::FragSetCOP  fragset_small,
core::fragment::FragSetCOP  fragset_large,
core::kinematics::MoveMapCOP  movemap 
)
protocols::abinitio::ClassicAbinitio::ClassicAbinitio ( ClassicAbinitio const &  src)

Explicit copy constructor since this class contains OPs of other classes.

Call parent's copy constructor and perform a shallow copy of all the data. NOTE: Shallow copy is only to preserve behavior pre 9/7/2009 when the compiler-provided copy constructor was being invoked.

References bSkipStage1_, bSkipStage2_, bSkipStage3_, bSkipStage4_, bSkipStage5_, recover_low_stages_, stage1_cycles_, stage2_cycles_, stage3_cycles_, stage4_cycles_, and stage5_cycles_.

protocols::abinitio::ClassicAbinitio::~ClassicAbinitio ( )

Explicit destructor since this class contains OPs of other classes.

Explicit destructor is needed to destroy all the OPs The compiler does all the work, but it requires that we place the destructor in the .cc file.


Member Function Documentation

void protocols::abinitio::ClassicAbinitio::apply ( core::pose::Pose pose) [virtual]

Reimplemented from protocols::abinitio::Protocol.

Reimplemented in protocols::abinitio::Stage1Sampler, protocols::abinitio::FoldConstraints, protocols::abinitio::JumpingFoldConstraints, protocols::abinitio::KinematicAbinitio, and protocols::abinitio::JumpingFoldConstraintsWrapper.

References bSkipStage1_, bSkipStage2_, bSkipStage3_, bSkipStage4_, bSkipStage5_, protocols::checkpoint::CheckPointer::checkpoint(), core::pose::Pose::constraint_set(), current_scorefxn(), protocols::checkpoint::CheckPointer::debug(), core::pack::interaction_graph::debug, do_stage1_cycles(), do_stage2_cycles(), do_stage3_cycles(), do_stage4_cycles(), do_stage5_cycles(), protocols::moves::FAIL_RETRY, protocols::checkpoint::CheckPointer::flush_checkpoints(), protocols::abinitio::Protocol::get_checkpoints(), protocols::moves::Mover::get_current_tag(), core::scoring::linear_chainbreak, mc(), output_debug_structure(), prepare_stage1(), prepare_stage2(), prepare_stage3(), prepare_stage4(), prepare_stage5(), recover_low(), protocols::moves::MonteCarlo::reset_counters(), protocols::moves::Mover::set_last_move_status(), set_score_weight(), core::scoring::ScoreFunction::show(), protocols::moves::MonteCarlo::show_counters(), stage1_cycles(), stage2_cycles(), stage3_cycles(), stage4_cycles(), stage5_cycles(), STAGE_1, STAGE_2, STAGE_3b, STAGE_4, STAGE_5, protocols::moves::MonteCarlo::total_trials(), and tr().

Referenced by protocols::surface_docking::SurfaceDockingProtocol::abinitio(), and protocols::abinitio::DomainAssembly::apply().

bool protocols::abinitio::ClassicAbinitio::bQuickTest ( ) const [inline]
simple_moves::FragmentMoverOP protocols::abinitio::ClassicAbinitio::brute_move_large ( )

Referenced by do_stage1_cycles(), and set_moves().

simple_moves::FragmentMoverOP protocols::abinitio::ClassicAbinitio::brute_move_small ( )
moves::MoverOP protocols::abinitio::ClassicAbinitio::clone ( ) const [virtual]
scoring::ScoreFunction const & protocols::abinitio::ClassicAbinitio::current_scorefxn ( ) const [protected]
void protocols::abinitio::ClassicAbinitio::current_scorefxn ( core::scoring::ScoreFunction const &  scorefxn) [protected]
bool protocols::abinitio::ClassicAbinitio::do_stage1_cycles ( core::pose::Pose pose) [protected, virtual]
bool protocols::abinitio::ClassicAbinitio::do_stage2_cycles ( core::pose::Pose pose) [protected, virtual]
bool protocols::abinitio::ClassicAbinitio::do_stage3_cycles ( core::pose::Pose pose) [protected, virtual]

stage3 cycles: nloop1 : outer iterations nloop2 : inner iterations stage3_cycle : trials per inner iteration every inner iteration we switch between score_stage3a ( default: score2 ) and score_stage3b ( default: score 5 )

prepare_loop_in_stage3() is called before the stage3_cycles() of trials are started.

first outer loop-iteration is done with TrialMover trial_large() all following iterations with trial_small()

start each iteration with the lowest_score_pose. ( mc->recover_low() -- called in prepare_loop_in_stage3() )

References protocols::moves::RepeatMover::apply(), protocols::moves::WhileMover::apply(), protocols::checkpoint::CheckPointer::checkpoint(), current_scorefxn(), protocols::checkpoint::CheckPointer::debug(), protocols::abinitio::Protocol::get_checkpoints(), protocols::moves::Mover::get_current_tag(), prepare_loop_in_stage3(), recover_low(), stage3_cycles(), stage3_mover(), STAGE_3a, STAGE_3b, tr(), trial_large(), and trial_small().

Referenced by apply().

bool protocols::abinitio::ClassicAbinitio::do_stage4_cycles ( core::pose::Pose pose) [protected, virtual]

stage4 cycles: nloop_stage4: iterations stage4_cycle : trials per iteration

first iteration: use trial_small() following iterations: use trial_smooth() only trial_smooth() if just_smooth_cycles==true

prepare_loop_in_stage4() is called each time before the stage4_cycles_ of trials are started.

start each iteration with the lowest_score_pose. ( mc->recover_low() in prepare_loop_in_stage4() )

References protocols::moves::RepeatMover::apply(), protocols::checkpoint::CheckPointer::checkpoint(), current_scorefxn(), protocols::checkpoint::CheckPointer::debug(), protocols::abinitio::Protocol::get_checkpoints(), protocols::moves::Mover::get_current_tag(), prepare_loop_in_stage4(), recover_low(), stage4_cycles(), stage4_mover(), STAGE_4, tr(), trial_small(), and trial_smooth().

Referenced by apply().

bool protocols::abinitio::ClassicAbinitio::do_stage5_cycles ( core::pose::Pose pose) [protected, virtual]
std::string protocols::abinitio::ClassicAbinitio::get_name ( ) const [virtual]

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

Reimplemented from protocols::abinitio::Protocol.

Reimplemented in protocols::abinitio::FoldConstraints, protocols::abinitio::KinematicAbinitio, and protocols::abinitio::JumpingFoldConstraintsWrapper.

void protocols::abinitio::ClassicAbinitio::init ( core::pose::Pose const &  pose) [virtual]

setup moves, mc-object, scores

can't call this from constructor; virtual functions don't operate until construction has completed.

Reimplemented from protocols::abinitio::Protocol.

References set_defaults().

Referenced by protocols::surface_docking::SurfaceDockingProtocol::abinitio(), and protocols::abinitio::DomainAssembly::apply().

bool protocols::abinitio::ClassicAbinitio::just_smooth_cycles ( ) const [inline]
moves::MonteCarlo& protocols::abinitio::ClassicAbinitio::mc ( ) [inline]
moves::MonteCarlo const& protocols::abinitio::ClassicAbinitio::mc ( ) const [inline]
moves::MonteCarloOP protocols::abinitio::ClassicAbinitio::mc_ptr ( ) [protected]
core::kinematics::MoveMapCOP protocols::abinitio::ClassicAbinitio::movemap ( )
void protocols::abinitio::ClassicAbinitio::output_debug_structure ( core::pose::Pose pose,
std::string  prefix 
) [protected, virtual]
bool protocols::abinitio::ClassicAbinitio::prepare_loop_in_stage3 ( core::pose::Pose pose,
Size  iteration,
Size  total 
) [protected, virtual]
bool protocols::abinitio::ClassicAbinitio::prepare_loop_in_stage4 ( core::pose::Pose pose,
Size  iteration,
Size  total 
) [protected, virtual]
bool protocols::abinitio::ClassicAbinitio::prepare_stage1 ( core::pose::Pose pose) [protected, virtual]
bool protocols::abinitio::ClassicAbinitio::prepare_stage2 ( core::pose::Pose pose) [protected, virtual]
bool protocols::abinitio::ClassicAbinitio::prepare_stage3 ( core::pose::Pose pose) [protected, virtual]
bool protocols::abinitio::ClassicAbinitio::prepare_stage4 ( core::pose::Pose pose) [protected, virtual]
bool protocols::abinitio::ClassicAbinitio::prepare_stage5 ( core::pose::Pose pose) [protected, virtual]

References replace_scorefxn(), and STAGE_5.

Referenced by apply().

void protocols::abinitio::ClassicAbinitio::recover_low ( core::pose::Pose pose,
StageID  stage 
) [protected]
void protocols::abinitio::ClassicAbinitio::register_options ( ) [static]
void protocols::abinitio::ClassicAbinitio::replace_scorefxn ( core::pose::Pose pose,
StageID  stage,
core::Real  intra_stage_progress 
) [protected, virtual]
void protocols::abinitio::ClassicAbinitio::set_current_weight ( core::scoring::ScoreType  type,
core::Real  setting 
) [protected]
void protocols::abinitio::ClassicAbinitio::set_cycles ( core::Real  increase_cycles = 1.0) [virtual]
void protocols::abinitio::ClassicAbinitio::set_default_mc ( core::pose::Pose const &  pose,
core::scoring::ScoreFunction const &  scorefxn 
) [protected, virtual]

References set_mc().

Referenced by set_defaults().

void protocols::abinitio::ClassicAbinitio::set_default_options ( ) [protected, virtual]
void protocols::abinitio::ClassicAbinitio::set_default_scores ( ) [protected, virtual]
void protocols::abinitio::ClassicAbinitio::set_defaults ( core::pose::Pose const &  pose) [protected, virtual]
void protocols::abinitio::ClassicAbinitio::set_mc ( moves::MonteCarloOP  mc_in)

Referenced by set_default_mc().

void protocols::abinitio::ClassicAbinitio::set_movemap ( core::kinematics::MoveMapCOP  mm) [virtual]
void protocols::abinitio::ClassicAbinitio::set_moves ( simple_moves::FragmentMoverOP  brute_move_small,
simple_moves::FragmentMoverOP  brute_move_large,
simple_moves::FragmentMoverOP  smooth_move_small 
)
void protocols::abinitio::ClassicAbinitio::set_score_weight ( core::scoring::ScoreType  type,
core::Real  setting,
StageID  stage = ALL_STAGES 
) [virtual]
void protocols::abinitio::ClassicAbinitio::set_skip_stage1 ( bool  setting) [inline]
void protocols::abinitio::ClassicAbinitio::set_skip_stage2 ( bool  setting) [inline]
void protocols::abinitio::ClassicAbinitio::set_stage4_cycles ( Size  stage4_cycles_new) [inline]

References stage4_cycles_.

void protocols::abinitio::ClassicAbinitio::set_trials ( ) [protected, virtual]

References protocols::moves::accept_reject.

Referenced by update_moves().

simple_moves::FragmentMoverOP protocols::abinitio::ClassicAbinitio::smooth_move_small ( )

Referenced by set_moves().

Size protocols::abinitio::ClassicAbinitio::stage1_cycles ( ) const [inline]
moves::TrialMoverOP protocols::abinitio::ClassicAbinitio::stage1_mover ( core::pose::Pose pose,
moves::TrialMoverOP  trials_in 
) [protected, virtual]
Size protocols::abinitio::ClassicAbinitio::stage2_cycles ( ) const [inline]

References stage2_cycles_.

Referenced by apply(), and do_stage2_cycles().

moves::TrialMoverOP protocols::abinitio::ClassicAbinitio::stage2_mover ( core::pose::Pose pose,
moves::TrialMoverOP  trials_in 
) [protected, virtual]
Size protocols::abinitio::ClassicAbinitio::stage3_cycles ( ) const [inline]

References stage3_cycles_.

Referenced by apply(), and do_stage3_cycles().

moves::TrialMoverOP protocols::abinitio::ClassicAbinitio::stage3_mover ( core::pose::Pose pose,
int  lct1,
int  lct2,
moves::TrialMoverOP  trials_in 
) [protected, virtual]
Size protocols::abinitio::ClassicAbinitio::stage4_cycles ( ) const [inline]

References stage4_cycles_.

Referenced by apply(), and do_stage4_cycles().

moves::TrialMoverOP protocols::abinitio::ClassicAbinitio::stage4_mover ( core::pose::Pose pose,
int  kk,
moves::TrialMoverOP  trials_in 
) [protected, virtual]
Size protocols::abinitio::ClassicAbinitio::stage5_cycles ( ) const [inline]

References stage5_cycles_.

Referenced by apply(), and do_stage5_cycles().

moves::TrialMoverOP protocols::abinitio::ClassicAbinitio::stage5_mover ( core::pose::Pose pose,
moves::TrialMoverOP  trials_in 
) [protected, virtual]

Referenced by do_stage5_cycles().

Size protocols::abinitio::ClassicAbinitio::total_trials ( ) const [inline]
moves::TrialMoverOP protocols::abinitio::ClassicAbinitio::trial_large ( ) [protected]
moves::TrialMoverOP protocols::abinitio::ClassicAbinitio::trial_small ( ) [protected]
moves::TrialMoverOP protocols::abinitio::ClassicAbinitio::trial_smooth ( ) [protected]

Referenced by do_stage4_cycles().

void protocols::abinitio::ClassicAbinitio::update_moves ( ) [protected, virtual]

References set_trials().

Referenced by set_defaults(), and set_moves().


Member Data Documentation


The documentation for this class was generated from the following files:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines