Rosetta
Namespaces | Classes | Typedefs | Enumerations | Functions
protocols::loop_modeling Namespace Reference

Framework for loop structure prediction. More...

Namespaces

 refiners
 Algorithms for lowering loop region scores during sampling.
 
 samplers
 Algorithms for generating new loop conformations.
 
 utilities
 Generally useful loop-sampling meta-algorithms.
 

Classes

class  LoopBuilder
 Build loops from scratch. More...
 
class  LoopBuilderCreator
 
struct  ToolboxKeys
 Key names for data shared between loop movers. More...
 
class  LoopMover
 Base class for loop-sampling algorithms. More...
 
class  LoopProtocol
 Monte Carlo search for low energy loop conformations. More...
 
class  LoopProtocolCreator
 

Typedefs

typedef utility::pointer::shared_ptr< LoopBuilderLoopBuilderOP
 
typedef utility::pointer::shared_ptr< LoopBuilder const > LoopBuilderCOP
 
typedef utility::pointer::shared_ptr< LoopMoverLoopMoverOP
 
typedef utility::pointer::shared_ptr< LoopMover const > LoopMoverCOP
 
typedef utility::vector1< LoopMoverOPLoopMoverOPs
 
typedef utility::vector1< LoopMoverCOPLoopMoverCOPs
 
typedef utility::pointer::shared_ptr< LoopProtocolLoopProtocolOP
 
typedef utility::pointer::shared_ptr< LoopProtocol const > LoopProtocolCOP
 
typedef vector1< core::SizeIndexList
 
typedef vector1< LoopMoverOPLoopMovers
 

Enumerations

enum  FoldTreeRequest { FTR_LOOPS_WITH_CUTS = 0x01 , FTR_SIMPLE_TREE = 0x02 , FTR_DONT_CARE = 0xFF }
 Represent the types of fold tree supported by LoopMover. More...
 

Functions

static basic::Tracer TR ("protocols.loop_modeling.LoopBuilder")
 
static basic::Tracer TR ("protocols.loop_modeling.LoopMover")
 
std::string LoopMover_subelement_ct_name (std::string const &name)
 
FoldTreeRequest operator| (FoldTreeRequest a, FoldTreeRequest b)
 Implement the bitwise or operator for fold tree requests. More...
 
FoldTreeRequest operator& (FoldTreeRequest a, FoldTreeRequest b)
 Implement the bitwise and operator for fold tree requests. More...
 
static basic::Tracer TR ("protocols.loop_modeling.LoopProtocol")
 

Detailed Description

Framework for loop structure prediction.

The most important classes in this namespace are LoopModeler, LoopProtocol and LoopMover. LoopMover provides an interface for loop sampling algorithms. Methods are provided for specifying which loops need to be sampled and for setting up a compatible fold tree. Some important LoopMover subclasses include RepackingRefiner, MinimizationRefiner, and KicMover. The LoopProtocol class provides a framework for combining any number of loop movers into a single Monte Carlo simulation. Aspects of the simulation like the number of iterations, the score function, and the temperature can be easily controlled. LoopModeler combines initial loop building, centroid refinement, and fullatom refinement into a complete loop modeling simulation. It also provides a lot of configurability, especially from rosetta scripts.

Below is an excerpt from protocols::relax::loop::LoopRelaxMover that shows some of the classes from this namespace in action. This code creates a protocol featuring KIC moves followed by a rotamer trials and local minimization. Full repacking is done once every 20 iterations. The number of iterations can be controlled from the command line, and a concise progress update will be reported after every iteration.

LoopProtocolOP protocol = new LoopProtocol;
core::Size repack_period = 20;
if (option[OptionKeys::loops::repack_period].user()) {
repack_period = option[OptionKeys::loops::repack_period]();
}
protocol->add_mover(new KicMover);
protocol->add_mover(new RepackingRefiner(repack_period));
protocol->add_mover(new RotamerTrialsRefiner);
protocol->add_mover(new FullatomMinimizationRefiner);
core::Size outer_cycles = 3;
core::Size inner_cycles = 10 * loops->loop_size();
if (option[OptionKeys::loops::outer_cycles].user()) {
outer_cycles = option[ OptionKeys::loops::outer_cycles ]();
}
if (option[OptionKeys::loops::max_inner_cycles].user()) {
core::Size max_cycles = option[OptionKeys::loops::max_inner_cycles]();
inner_cycles = std::max(inner_cycles, max_cycles);
}
if (option[OptionKeys::loops::fast]) {
outer_cycles = 3;
inner_cycles = 12;
}
protocol->set_loops(*loops);
protocol->set_score_function(fa_scorefxn_);
protocol->set_iterations(outer_cycles, inner_cycles, 2);
protocol->apply(pose);
platform::Size Size
Definition: types.hh:32
utility::pointer::shared_ptr< LoopProtocol > LoopProtocolOP
Definition: LoopProtocol.fwd.hh:18
T max(jagged_array< T > const &input)
Find the largest value in a jagged_array.
Definition: jagged_array.functions.hh:32

Typedef Documentation

◆ IndexList

◆ LoopBuilderCOP

typedef utility::pointer::shared_ptr<LoopBuilder const> protocols::loop_modeling::LoopBuilderCOP

◆ LoopBuilderOP

typedef utility::pointer::shared_ptr<LoopBuilder> protocols::loop_modeling::LoopBuilderOP

◆ LoopMoverCOP

typedef utility::pointer::shared_ptr<LoopMover const> protocols::loop_modeling::LoopMoverCOP

◆ LoopMoverCOPs

◆ LoopMoverOP

typedef utility::pointer::shared_ptr<LoopMover> protocols::loop_modeling::LoopMoverOP

◆ LoopMoverOPs

◆ LoopMovers

◆ LoopProtocolCOP

typedef utility::pointer::shared_ptr<LoopProtocol const> protocols::loop_modeling::LoopProtocolCOP

◆ LoopProtocolOP

typedef utility::pointer::shared_ptr<LoopProtocol> protocols::loop_modeling::LoopProtocolOP

Enumeration Type Documentation

◆ FoldTreeRequest

Represent the types of fold tree supported by LoopMover.

This enum supports the bitwise and and or operators. Strictly speaking, this is an abuse of enum because both operators can return values that are not contained in the enum. But this design meets two key requirements. First, programmers have to work with the enumerated values. Second, bitwise logic can be used to easily combine flags and to determine how composite requests should be satisfied.

Enumerator
FTR_LOOPS_WITH_CUTS 
FTR_SIMPLE_TREE 
FTR_DONT_CARE 

Function Documentation

◆ LoopMover_subelement_ct_name()

std::string protocols::loop_modeling::LoopMover_subelement_ct_name ( std::string const &  name)

◆ operator&()

FoldTreeRequest protocols::loop_modeling::operator& ( FoldTreeRequest  a,
FoldTreeRequest  b 
)
inline

Implement the bitwise and operator for fold tree requests.

References core::pose::motif::a(), and protocols::match::upstream::b.

◆ operator|()

FoldTreeRequest protocols::loop_modeling::operator| ( FoldTreeRequest  a,
FoldTreeRequest  b 
)
inline

Implement the bitwise or operator for fold tree requests.

References core::pose::motif::a(), and protocols::match::upstream::b.

◆ TR() [1/3]

static basic::Tracer protocols::loop_modeling::TR ( "protocols.loop_modeling.LoopBuilder"  )
static

◆ TR() [2/3]

static basic::Tracer protocols::loop_modeling::TR ( "protocols.loop_modeling.LoopMover"  )
static

◆ TR() [3/3]

static basic::Tracer protocols::loop_modeling::TR ( "protocols.loop_modeling.LoopProtocol"  )
static