Rosetta 3.4
Public Types | Public Member Functions | Protected Member Functions
protocols::forge::components::VarLengthBuild Class Reference

Component that performs a protocol for user-specified variable length remodeling of protein backbone segments. More...

#include <VarLengthBuild.hh>

Inheritance diagram for protocols::forge::components::VarLengthBuild:
Inheritance graph
[legend]
Collaboration diagram for protocols::forge::components::VarLengthBuild:
Collaboration graph
[legend]

List of all members.

Public Types

typedef std::string String
typedef core::Real Real
typedef core::Size Size
typedef
core::fragment::ConstantLengthFragSetOP 
ConstantLengthFragSetOP
typedef core::fragment::FrameList FrameList
typedef
core::fragment::OrderedFragSetOP 
OrderedFragSetOP
typedef core::kinematics::MoveMap MoveMap
typedef core::pose::Pose Pose
typedef
core::scoring::ScoreFunction 
ScoreFunction
typedef
core::scoring::ScoreFunctionOP 
ScoreFunctionOP
typedef protocols::loops::Loops Loops
typedef
protocols::forge::remodel::RemodelData 
RemodelData
typedef protocols::moves::MoverOP MoverOP
typedef
protocols::forge::build::BuildManager 
BuildManager
typedef
protocols::forge::build::Interval 
Interval
typedef
protocols::forge::remodel::RemodelConstraintGeneratorOP 
RemodelConstraintGeneratorOP
typedef
BuildManager::BIOPConstIterator 
BIOPConstIterator
typedef
BuildManager::Original2Modified 
Original2Modified
typedef BuildManager::Positions Positions

Public Member Functions

 VarLengthBuild ()
 default constructor
 VarLengthBuild (BuildManager const &manager)
 BuildManager constructor.
 VarLengthBuild (BuildManager const &manager, RemodelData const &remodel_data)
 BuildManager + RemodelData constructor.
 VarLengthBuild (VarLengthBuild const &rval)
 copy constructor
 ~VarLengthBuild ()
 default destructor
virtual MoverOP clone ()
 clone this object
virtual MoverOP fresh_instance ()
 create a new instance of this type of object
BuildManager const & manager () const
 build manager
bool recover_original_on_failure () const
 at the end of apply(), reset the Pose to the original Pose if mover was not successful? (default true)
String const & loop_mover_str () const
 the string id of the loop mover to use (default "RemodelLoopMover")
bool cache_fragments () const
 cache fragments after picking? (default true)
VLB_VallMemoryUsage::Enum vall_memory_usage () const
 option dictating whether to keep VallLibrary in memory or clear it under certain circumstances after picking fragments. (default KEEP_IN_MEMORY)
Size num_fragpick () const
 the number of fragments to pick at each position (default 200)
bool use_fullmer () const
 also use fragments spanning the entire length of a loop? (default false)
String const & original_sequence ()
 full sequence string corresponding to original input pose used to pick sequence biased fragments; if empty, sequence bias is not used when picking fragments
String const & new_secondary_structure_override () const
 full sequence string with length corresponding to the *new* modified pose used to pick secondary structure biased fragments.
String const & new_sequence_override () const
 full amino acid string with length corresponding to the *new* modified pose used to pick sequence biased fragments.
Real max_linear_chainbreak () const
 return the highest linear chainbreak score a chainbreak can have and still be considered closed
bool restart_mode () const
 Flag to turn on restart mode, in which VLB assumes that the Pose fed to it during apply() has already been modified by the manager. (default False)
void scorefunction (ScoreFunction const &sfx)
 set ScoreFunction used during build
void scorefunction (ScoreFunctionOP const &sfx)
 set ScoreFunction used during build
void manager (BuildManager const &manager)
 set build manager; also clears any cached fragments
void recover_original_on_failure (bool const flag)
 at the end of apply(), reset the Pose to the original Pose if mover was not successful?
void loop_mover_str (String const &str)
 set the loop mover to use via string
void cache_fragments (bool const flag)
 cache fragments after picking?
void vall_memory_usage (VLB_VallMemoryUsage::Enum const level)
 option dictating whether to keep VallLibrary in memory or clear it under certain circumstances after picking fragments.
void num_fragpick (Size const num)
 the number of fragments to pick at each position (default 200)
void use_fullmer (bool const flag)
 also use fragments spanning the entire length of a loop?
void original_sequence (String const &seq)
 full sequence string corresponding to original input pose used to pick sequence biased fragments; if empty, sequence bias is not used when picking fragments
void new_secondary_structure_override (String const &str)
 full sequence string with length corresponding to the *new* modified pose used to pick secondary structure biased fragments.
void new_sequence_override (String const &str)
 full amino acid string with length corresponding to the *new* modified pose used to pick sequence biased fragments.
void max_linear_chainbreak (Real const tol)
 set the highest linear chainbreak score a chainbreak can have and still be considered closed
void restart_mode (bool const flag)
 Flag to turn on restart mode, in which VLB assumes that the Pose fed to it during apply() has already been modified by the manager. (default False)
void ignore_cmdline_enzdes_cstfile (bool const flag)
void clear_rcgs ()
 get rid of all rcgs
void add_rcg (RemodelConstraintGeneratorOP rcg)
 adding an rcg. this will set the rcg internal vlb backpointer
void clear_fragments ()
 clear any currently cached fragments
void set_abego (utility::vector1< String > const &abego)
 set abego definition for fragments
virtual void apply (Pose &pose)
 run protocol on given Pose
virtual std::string get_name () const
 Each derived class must specify its name. The class name.

Protected Member Functions

virtual bool centroid_build (Pose &pose)
 run centroid level protocol on given Pose
virtual MoverOP loop_mover_instance (loops::LoopsOP const loops, MoveMap const &false_mm)
 return the appropriate loop mover
void pick_all_fragments (String const &complete_ss, String const &complete_aa, utility::vector1< String > const &complete_abego, Interval const &interval, Size const n_frags)
 pick fragments of size full, 9, 3, 1
FrameList pick_fragments (String const &complete_ss, String const &complete_aa, utility::vector1< String > const &complete_abego, Interval const &interval, Size const frag_length, Size const n_frags)
 pick fragments of a given length, padding when necessary
void setup_remodel_constraints (Pose &pose)
 telling all rcgs to setup and insert constraints into the pose
void remove_remodel_constraints (Pose &pose)
 telling all rcgs to remove their constraints from the pose

Detailed Description

Component that performs a protocol for user-specified variable length remodeling of protein backbone segments.

This bootstrap implementation performs centroid level loop building using 9,3,1-mer fragments and running a LoopMover with the Remodel 'remodel_cen' score function. The default loop mover is the forge RemodelLoopMover. It does not yet handle extensions or continuous replacements. This class is under heavy development, expect many changes to both API and internals.


Member Typedef Documentation

Reimplemented from protocols::moves::Mover.


Constructor & Destructor Documentation

protocols::forge::components::VarLengthBuild::VarLengthBuild ( )

default constructor

Referenced by clone(), and fresh_instance().

protocols::forge::components::VarLengthBuild::VarLengthBuild ( BuildManager const &  manager)

BuildManager constructor.

protocols::forge::components::VarLengthBuild::VarLengthBuild ( BuildManager const &  manager,
RemodelData const &  remodel_data 
)

BuildManager + RemodelData constructor.

BuildManager + remodelData constructor.

protocols::forge::components::VarLengthBuild::VarLengthBuild ( VarLengthBuild const &  rval)

copy constructor

protocols::forge::components::VarLengthBuild::~VarLengthBuild ( )

default destructor


Member Function Documentation

void protocols::forge::components::VarLengthBuild::add_rcg ( RemodelConstraintGeneratorOP  rcg)

adding an rcg. this will set the rcg internal vlb backpointer

void protocols::forge::components::VarLengthBuild::apply ( Pose pose) [virtual]

run protocol on given Pose

Returns:
if procedure successful, return Pose with modifications and a sealed fold tree, otherwise return Pose with modifications and the in-progress cut fold tree
Remarks:
Before invoking this function it's best to make sure the secondary structure in the Pose is marked via the method that you would prefer, e.g. by Dssp (protocols::jumping::Dssp), by the old Rosetta++ binning method (core::pose::set_ss_from_phipsi) or by external method such as reading in a file.

Implements protocols::moves::Mover.

References protocols::forge::build::BuildManager::begin(), core::chemical::CENTROID, centroid_build(), core::pose::Pose::conformation(), core::conformation::ResidueFactory::create_residue(), protocols::forge::build::BuildManager::empty(), core::sequence::end, protocols::moves::FAIL_DO_NOT_RETRY, core::pose::Pose::fold_tree(), protocols::forge::methods::fold_tree_from_pose(), protocols::moves::Mover::get_last_move_status(), core::conformation::Conformation::insert_ideal_geometry_at_polymer_bond(), core::pose::symmetry::is_symmetric(), protocols::forge::build::BuildManager::modify(), protocols::moves::MS_SUCCESS, core::chemical::ResidueTypeSet::name_map(), protocols::forge::build::BuildManager::original2modified(), core::pose::Pose::residue(), core::conformation::Residue::residue_type_set(), protocols::forge::methods::restore_residues(), core::conformation::Conformation::safely_append_polymer_residue_after_seqpos(), core::pose::symmetry::sealed_symmetric_fold_tree(), protocols::moves::Mover::set_last_move_status(), core::pose::Pose::set_omega(), core::util::switch_to_residue_type_set(), and core::pose::Pose::total_residue().

Referenced by protocols::protein_interface_design::movers::VLB::apply().

void protocols::forge::components::VarLengthBuild::cache_fragments ( bool const  flag) [inline]

cache fragments after picking?

If true, will cache fragments and reuse them upon each apply() call instead of repicking every time.

bool protocols::forge::components::VarLengthBuild::cache_fragments ( ) const [inline]

cache fragments after picking? (default true)

If true, will cache fragments and reuse them upon each apply() call instead of repicking every time.

bool protocols::forge::components::VarLengthBuild::centroid_build ( Pose pose) [protected, virtual]

run centroid level protocol on given Pose

Returns:
true if regions modeled within tolerances, false otherwise

References protocols::forge::components::VLB_VallMemoryUsage::ALWAYS_CLEAR, core::scoring::atom_pair_constraint, core::pack::dunbrack::c, core::scoring::Energies::clear(), protocols::forge::components::VLB_VallMemoryUsage::CLEAR_IF_CACHING_FRAGMENTS, protocols::forge::methods::count_cutpoints(), core::scoring::dihedral_constraint, protocols::forge::remodel::RemodelData::dssp_updated_ss, core::pose::Pose::energies(), core::pose::datacache::CacheableObserverType::ENZDES_OBSERVER, protocols::forge::methods::find_cutpoint(), protocols::toolbox::match_enzdes_util::get_enzdes_observer(), protocols::forge::build::BuildManager::intervals_containing_undefined_positions(), protocols::forge::components::VLB_VallMemoryUsage::KEEP_IN_MEMORY, protocols::forge::build::Interval::left, core::scoring::linear_chainbreak, loop_mover_instance(), protocols::forge::build::BuildManager::movemap(), core::pose::Pose::n_residue(), core::conformation::Residue::name1(), protocols::forge::build::BuildManager::new_positions(), core::pose::Pose::observer_cache(), protocols::forge::build::BuildManager::original2modified(), pick_all_fragments(), core::pose::Pose::remove_constraints(), remove_remodel_constraints(), core::pose::Pose::residue(), protocols::forge::build::Interval::right, core::pose::Pose::secstruct(), setup_remodel_constraints(), and protocols::forge::components::TR().

Referenced by apply().

void protocols::forge::components::VarLengthBuild::clear_fragments ( )

clear any currently cached fragments

Referenced by manager().

void protocols::forge::components::VarLengthBuild::clear_rcgs ( )

get rid of all rcgs

protocols::moves::MoverOP protocols::forge::components::VarLengthBuild::clone ( ) [virtual]

clone this object

References VarLengthBuild().

protocols::moves::MoverOP protocols::forge::components::VarLengthBuild::fresh_instance ( ) [virtual]

create a new instance of this type of object

References VarLengthBuild().

std::string protocols::forge::components::VarLengthBuild::get_name ( ) const [virtual]

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

Implements protocols::moves::Mover.

void protocols::forge::components::VarLengthBuild::ignore_cmdline_enzdes_cstfile ( bool const  flag) [inline]
VarLengthBuild::MoverOP protocols::forge::components::VarLengthBuild::loop_mover_instance ( loops::LoopsOP const  loops,
MoveMap const &  false_mm 
) [protected, virtual]

return the appropriate loop mover

Parameters:
[in]loopsThe loops to model.
[in]false_mmEnforce False settings in this MoveMap. Currently only useful with the RemodelLoopMover.

References protocols::loops::LoopMoverFactory::get_instance().

Referenced by centroid_build().

void protocols::forge::components::VarLengthBuild::loop_mover_str ( String const &  str) [inline]

set the loop mover to use via string

use "RemodelLoopMover" for the forge RemodelLoopMover, otherwise set it to a string recognized by create_loop_mover() in the "LoopMoverFactory".

References protocols::kinmatch::str().

String const& protocols::forge::components::VarLengthBuild::loop_mover_str ( ) const [inline]

the string id of the loop mover to use (default "RemodelLoopMover")

Returns:
"RemodelLoopMover" for the forge RemodelLoopMover, otherwise a string recognized by create_loop_mover() in the "LoopMoverFactory".
void protocols::forge::components::VarLengthBuild::manager ( BuildManager const &  manager)

set build manager; also clears any cached fragments

References clear_fragments(), and manager().

BuildManager const& protocols::forge::components::VarLengthBuild::manager ( ) const [inline]

build manager

Referenced by manager(), and setup_remodel_constraints().

Real protocols::forge::components::VarLengthBuild::max_linear_chainbreak ( ) const [inline]

return the highest linear chainbreak score a chainbreak can have and still be considered closed

Remarks:
default 0.07
void protocols::forge::components::VarLengthBuild::max_linear_chainbreak ( Real const  tol) [inline]

set the highest linear chainbreak score a chainbreak can have and still be considered closed

String const& protocols::forge::components::VarLengthBuild::new_secondary_structure_override ( ) const [inline]

full sequence string with length corresponding to the *new* modified pose used to pick secondary structure biased fragments.

Remarks:
IMPORTANT: This is an override! If this string is filled, it will be used as the string to pick secondary structure biased fragments without modification. All secondary structure settings that might be taken from the original Pose or from the BuildInstructions will be ignored*. The length of this string must be equal to the length of the *NEW* modified pose, otherwise the protocol will stop with error -- you can use BuildManager::dummy_modify() to help figure things out.
void protocols::forge::components::VarLengthBuild::new_secondary_structure_override ( String const &  str) [inline]

full sequence string with length corresponding to the *new* modified pose used to pick secondary structure biased fragments.

Parameters:
[in]strString with length equals to the *new* modified pose. See remarks for help on how to determine this. String is allowed to be empty, in which case it will clear the setting.
Remarks:
IMPORTANT: This is an override! If this string is filled, it will be used as the string to pick secondary structure biased fragments without modification. All secondary structure settings that might be taken from the original Pose or from the BuildInstructions will be ignored*. The length of this string must be equal to the length of the *NEW* modified pose, otherwise the protocol will stop with error -- you can use BuildManager::dummy_modify() to help figure things out.

References protocols::kinmatch::str().

String const& protocols::forge::components::VarLengthBuild::new_sequence_override ( ) const [inline]

full amino acid string with length corresponding to the *new* modified pose used to pick sequence biased fragments.

Remarks:
IMPORTANT: This is an override! If this string is filled, it will be used as the string to pick sequence biased fragments without modification. All sequence settings that might be taken from the original Pose or from the BuildInstructions will be ignored*. The length of this string must be equal to the length of the *NEW* modified pose, otherwise the protocol will stop with error -- you can use BuildManager::dummy_modify() to help figure things out.
void protocols::forge::components::VarLengthBuild::new_sequence_override ( String const &  str) [inline]

full amino acid string with length corresponding to the *new* modified pose used to pick sequence biased fragments.

Parameters:
[in]strString with length equals to the *new* modified pose. See remarks for help on how to determine this. String is allowed to be empty, in which case it will clear the setting.
Remarks:
IMPORTANT: This is an override! If this string is filled, it will be used as the string to pick sequence biased fragments without modification. All sequence settings that might be taken from the original Pose or from the BuildInstructions will be ignored*. The length of this string must be equal to the length of the *NEW* modified pose, otherwise the protocol will stop with error -- you can use BuildManager::dummy_modify() to help figure things out.

References protocols::kinmatch::str().

Size protocols::forge::components::VarLengthBuild::num_fragpick ( ) const [inline]

the number of fragments to pick at each position (default 200)

void protocols::forge::components::VarLengthBuild::num_fragpick ( Size const  num) [inline]

the number of fragments to pick at each position (default 200)

String const& protocols::forge::components::VarLengthBuild::original_sequence ( ) [inline]

full sequence string corresponding to original input pose used to pick sequence biased fragments; if empty, sequence bias is not used when picking fragments

void protocols::forge::components::VarLengthBuild::original_sequence ( String const &  seq) [inline]

full sequence string corresponding to original input pose used to pick sequence biased fragments; if empty, sequence bias is not used when picking fragments

void protocols::forge::components::VarLengthBuild::pick_all_fragments ( String const &  complete_ss,
String const &  complete_aa,
utility::vector1< String > const &  complete_abego,
Interval const &  interval,
Size const  n_frags 
) [protected]

pick fragments of size full, 9, 3, 1

Parameters:
[in]complete_ssThe complete secondary structure string, typically from a Pose.
[in]complete_aaThe complete amino acid string, typically from a Pose; can be empty. If empty, sequence bias is not used to pick fragments.
[in]complete_abegoThe complete abego string, typically from setter, set_abego
[in]intervalThe interval [left, right] to pick fragments from; Pose numbering (i.e. 1-based indexing).
[in]n_fragsThe number of fragments to pick per position.
[in]complete_ssThe complete secondary structure string, typically from a Pose.
[in]complete_aaThe complete amino acid string, typically from a Pose; can be empty. If empty, sequence bias is not used to pick fragments.
[in]intervalThe interval [left, right] to pick fragments from; Pose numbering (i.e. 1-based indexing).
[in]n_fragsThe number of fragments to pick per position.

References protocols::forge::build::Interval::length(), pick_fragments(), and protocols::forge::methods::smallmer_from_largemer().

Referenced by centroid_build().

VarLengthBuild::FrameList protocols::forge::components::VarLengthBuild::pick_fragments ( String const &  complete_ss,
String const &  complete_aa,
utility::vector1< String > const &  complete_abego,
Interval const &  interval,
Size const  frag_length,
Size const  n_frags 
) [protected]

pick fragments of a given length, padding when necessary

Parameters:
[in]complete_ssThe complete secondary structure string, typically from a Pose.
[in]complete_aaThe complete amino acid string, typically from a Pose; can be empty. If empty, sequence bias is not used to pick fragments.
[in]complete_abegoThe complete abego string, typically from a setter, set_abego
[in]intervalThe interval [left, right] to pick fragments from; Pose numbering (i.e. 1-based indexing).
[in]frag_lengthThe desired length of the fragments
[in]n_fragsThe number of fragments to pick per position.
[in]complete_ssThe complete secondary structure string, typically from a Pose.
[in]complete_aaThe complete amino acid string, typically from a Pose; can be empty. If empty, sequence bias is not used to pick fragments.
[in]intervalThe interval [left, right] to pick fragments from; Pose numbering (i.e. 1-based indexing).
[in]frag_lengthThe desired length of the fragments
[in]n_fragsThe number of fragments to pick per position.

References protocols::forge::build::Interval::left, protocols::forge::build::Interval::length(), core::fragment::picking_old::vall::pick_fragments_by_ss(), core::fragment::picking_old::vall::pick_fragments_by_ss_plus_aa(), and protocols::forge::components::TR().

Referenced by pick_all_fragments().

void protocols::forge::components::VarLengthBuild::recover_original_on_failure ( bool const  flag) [inline]

at the end of apply(), reset the Pose to the original Pose if mover was not successful?

bool protocols::forge::components::VarLengthBuild::recover_original_on_failure ( ) const [inline]

at the end of apply(), reset the Pose to the original Pose if mover was not successful? (default true)

void protocols::forge::components::VarLengthBuild::remove_remodel_constraints ( Pose pose) [protected]

telling all rcgs to remove their constraints from the pose

Referenced by centroid_build().

void protocols::forge::components::VarLengthBuild::restart_mode ( bool const  flag) [inline]

Flag to turn on restart mode, in which VLB assumes that the Pose fed to it during apply() has already been modified by the manager. (default False)

Remarks:
In restart mode, VLB only runs the manager's dummy modify capability during apply() to get the mapping info.
bool protocols::forge::components::VarLengthBuild::restart_mode ( ) const [inline]

Flag to turn on restart mode, in which VLB assumes that the Pose fed to it during apply() has already been modified by the manager. (default False)

Remarks:
In restart mode, VLB only runs the manager's dummy modify capability during apply() to get the mapping info.
void protocols::forge::components::VarLengthBuild::scorefunction ( ScoreFunctionOP const &  sfx)

set ScoreFunction used during build

void protocols::forge::components::VarLengthBuild::scorefunction ( ScoreFunction const &  sfx)

set ScoreFunction used during build

References core::scoring::ScoreFunction::clone().

Referenced by protocols::protein_interface_design::movers::VLB::apply().

void protocols::forge::components::VarLengthBuild::set_abego ( utility::vector1< String > const &  abego) [inline]

set abego definition for fragments

References core::scoring::abego.

void protocols::forge::components::VarLengthBuild::setup_remodel_constraints ( Pose pose) [protected]

telling all rcgs to setup and insert constraints into the pose

References manager().

Referenced by centroid_build().

bool protocols::forge::components::VarLengthBuild::use_fullmer ( ) const [inline]

also use fragments spanning the entire length of a loop? (default false)

void protocols::forge::components::VarLengthBuild::use_fullmer ( bool const  flag) [inline]

also use fragments spanning the entire length of a loop?

VLB_VallMemoryUsage::Enum protocols::forge::components::VarLengthBuild::vall_memory_usage ( ) const [inline]

option dictating whether to keep VallLibrary in memory or clear it under certain circumstances after picking fragments. (default KEEP_IN_MEMORY)

void protocols::forge::components::VarLengthBuild::vall_memory_usage ( VLB_VallMemoryUsage::Enum const  level) [inline]

option dictating whether to keep VallLibrary in memory or clear it under certain circumstances after picking fragments.


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