Rosetta  2020.37
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Public Types | Public Member Functions | Private Types | Private Member Functions | Private Attributes | List of all members
protocols::topology_broker::TopologyBroker Class Reference

#include <TopologyBroker.hh>

Inheritance diagram for protocols::topology_broker::TopologyBroker:
Inheritance graph
[legend]

Public Types

typedef
TopologyClaimers::const_iterator 
const_iterator
 

Public Member Functions

 TopologyBroker ()
 constructor More...
 
 ~TopologyBroker () override
 
 TopologyBroker (TopologyBroker const &)
 
TopologyBrokeroperator= (TopologyBroker const &)
 
TopologyBrokerCOP get_self_ptr () const
 self pointers More...
 
TopologyBrokerOP get_self_ptr ()
 
TopologyBrokerCAP get_self_weak_ptr () const
 
TopologyBrokerAP get_self_weak_ptr ()
 
void add (TopologyClaimerOP cl)
 add new Claimers to the broker -— useful before a job is started More...
 
void use_job_pose (bool setting)
 use the input pose from the job (i.e., call new_decoy( pose ) ) More...
 
bool use_job_pose () const
 Returns true if we are using the input pose from the job (i.e. new_decoy(pose)), false otherwise. More...
 
const TopologyClaimerOPclaimer (core::Size i) const
 Returns the ith topology claimer if it exists. More...
 
TopologyClaimers::const_iterator begin () const
 
TopologyClaimers::const_iterator end () const
 
core::Size num_claimers () const
 Returns the number of claimers associated with the broker. More...
 
void apply (core::pose::Pose &)
 at the start of a job this is called, e.g., by the AbrelaxMover it generates a pose with appropriate foldtree and initializes dofs, adds constraints, etc. More...
 
moves::MoverOP mover (core::pose::Pose const &, abinitio::StageID, core::scoring::ScoreFunction const &scorefxn, core::Real progress) const
 return a set of Movers ( RandomMover, i.e. container of movers ) More...
 
void apply_filter (core::pose::Pose const &, abinitio::StageID, core::Real progress) const
 apply filter (TopologyClaimer::passes_filter() ) and raise exception EXCN_FILTER_FAILED if failed More...
 
void adjust_relax_movemap (core::kinematics::MoveMap &) const
 if some claimer wants to influence the movemap for relax he can do it here: More...
 
core::fragment::FragSetCOP loop_frags (core::kinematics::MoveMap &) const
 the SlidingWindowLoopClosure needs pure fragments, because it changes the the residue number in the ShortLoopClosure part thus extra hook for this — > only some Claimers will answer More...
 
bool has_chainbreaks_to_close () const
 do we need to close loops ( unphysical chainbreaks have been introduced? ) More...
 
void add_chainbreak_variants (core::pose::Pose &pose, core::Size max_dist=0, core::kinematics::ShortestPathInFoldTreeCOP sp=nullptr) const
 add chainbreak variant residue to the unphysical chainbreaks More...
 
bool check_chainbreak_variants (core::pose::Pose &pose) const
 check that each chainbreak residue has a chainbreak variant More...
 
void switch_to_fullatom (core::pose::Pose &)
 switch to fullatom — some Claimers might help by providing template based side-chain information More...
 
bool does_final_fold_tree_exist () const
 
core::kinematics::FoldTreefinal_fold_tree () const
 access for hacky claimers More...
 
claims::SequenceClaimresolve_sequence_label (std::string const &label) const
 get the sequence claim that is consistent with the label, throws EXCN_Unknown_SequenceLabel if not found More...
 
const SequenceNumberResolversequence_number_resolver () const
 
void relay_message (ClaimerMessage &msg) const
 
bool has_sequence_claimer ()
 
core::pose::Pose const & current_pose () const
 

Private Types

typedef core::Size StageID
 
typedef utility::vector1
< TopologyClaimerOP
TopologyClaimers
 

Private Member Functions

void generate_sequence_claims (claims::DofClaims &all_claims)
 first round claims are collected More...
 
void generate_symmetry_claims (claims::SymmetryClaims &all_claims)
 collects symmetry claims More...
 
SymmetryClaimerOP resolve_symmetry_claims (claims::SymmetryClaims &symm_claims)
 checks whether only one sequence claim is there, otherwise crashes. More...
 
void make_sequence_symmetric (claims::DofClaims pre_accepted, core::pose::Pose &pose)
 
void generate_round1 (claims::DofClaims &all_claims)
 first round claims are collected More...
 
void generate_final_claims (claims::DofClaims &all_claims)
 second round claims are collected More...
 
void accept_claims (claims::DofClaims &claims)
 notify owner of accepted claims More...
 
bool broking (claims::DofClaims const &all_claims, claims::DofClaims &pre_accepted)
 run thru list of claims, ask all claimers if this claims is acceptable — > returns accepted claims in pre_accepted throws EXCN_ExclusiveClaimDeclined if the call to the owners TopologyClaimer::accept_declined_claim( declined_claim ) returns false More...
 
void build_fold_tree (claims::DofClaims &claims, core::Size nres)
 creates a fold-tree from the Jump- and CutClaims throws EXCN_InvalidFoldTree at failure More...
 
void build_fold_tree_from_claimer (core::pose::Pose &pose, core::kinematics::FoldTree &fold_tree)
 
void initialize_sequence (claims::DofClaims &claims, core::pose::Pose &new_pose)
 create new pose from SeqClaims More...
 
void initialize_cuts (claims::DofClaims &claims, core::pose::Pose &new_pose)
 creates the list "to_be_closed_cuts_" from current fold-tree and CutClaims More...
 
void initialize_dofs (claims::DofClaims &claims, core::pose::Pose &new_pose)
 initialize dofs More...
 
void add_constraints (core::pose::Pose &) const
 add constraints –> referred to Claimers ( e.g., ConstraintClaimer, RigidChunkClaimer ) More...
 

Private Attributes

TopologyClaimers claimers_
 vector of Claimers — RigidChunkClaimer, FragmentClaimer, ConstraintClaimer, etc. More...
 
claims::DofClaims current_claims_
 list of dof-claims currently active More...
 
core::Size nres_
 current pose has nres total_residues More...
 
core::kinematics::FoldTreeOP fold_tree_
 the current fold-tree More...
 
core::kinematics::FoldTreeOP final_fold_tree_
 current final-fold-tree — after removal to_bel_closed_cuts_ More...
 
core::scoring::ScoreFunctionOP repack_scorefxn_
 Scorefunction used in switch_to_fullatom. More...
 
utility::vector1< core::Sizeto_be_closed_cuts_
 these cuts are not physical and should be closed ( i.e., chainbreak energy, loop-closing ) More...
 
utility::vector1< core::Sizestart_pose_cuts_
 these cuts are not physical and should be closed ( i.e., chainbreak energy, loop-closing ) More...
 
claims::SequenceClaims sequence_claims_
 
SequenceNumberResolverOP sequence_number_resolver_
 
bool bUseJobPose_
 we restart from the input pose... call steal( pose ) for all claimers More...
 
bool use_fold_tree_from_claimer_
 
core::pose::PoseOP current_pose_
 

Member Typedef Documentation

typedef TopologyClaimers::const_iterator protocols::topology_broker::TopologyBroker::const_iterator

Constructor & Destructor Documentation

protocols::topology_broker::TopologyBroker::TopologyBroker ( )

constructor

References sequence_number_resolver_.

protocols::topology_broker::TopologyBroker::~TopologyBroker ( )
overridedefault
protocols::topology_broker::TopologyBroker::TopologyBroker ( TopologyBroker const &  tp)

Member Function Documentation

void protocols::topology_broker::TopologyBroker::accept_claims ( claims::DofClaims claims)
private

notify owner of accepted claims

Referenced by apply().

void protocols::topology_broker::TopologyBroker::add ( TopologyClaimerOP  cl)

add new Claimers to the broker -— useful before a job is started

-------------— Application Setup ---------------------------------—

References claimers_, and get_self_weak_ptr().

Referenced by protocols::topology_broker::add_claims_from_stream(), and protocols::topology_broker::add_cmdline_claims().

void protocols::topology_broker::TopologyBroker::add_chainbreak_variants ( core::pose::Pose pose,
core::Size  max_dist = 0,
core::kinematics::ShortestPathInFoldTreeCOP  sp = nullptr 
) const
void protocols::topology_broker::TopologyBroker::add_constraints ( core::pose::Pose pose) const
private

add constraints –> referred to Claimers ( e.g., ConstraintClaimer, RigidChunkClaimer )

References claimer(), claimers_, core::pose::Pose::constraint_set(), and tr().

Referenced by apply(), and switch_to_fullatom().

void protocols::topology_broker::TopologyBroker::adjust_relax_movemap ( core::kinematics::MoveMap mm) const

if some claimer wants to influence the movemap for relax he can do it here:

References claimer(), and claimers_.

void protocols::topology_broker::TopologyBroker::apply ( core::pose::Pose pose)
void protocols::topology_broker::TopologyBroker::apply_filter ( core::pose::Pose const &  pose,
abinitio::StageID  stage_id,
core::Real  progress 
) const

apply filter (TopologyClaimer::passes_filter() ) and raise exception EXCN_FILTER_FAILED if failed

References claimer(), claimers_, and tr().

Referenced by protocols::abinitio::FragmentSampler::apply(), and protocols::abinitio::FragmentSampler::mover().

TopologyClaimers::const_iterator protocols::topology_broker::TopologyBroker::begin ( ) const
inline

References claimers_.

bool protocols::topology_broker::TopologyBroker::broking ( claims::DofClaims const &  all_claims,
claims::DofClaims pre_accepted 
)
private

run thru list of claims, ask all claimers if this claims is acceptable — > returns accepted claims in pre_accepted throws EXCN_ExclusiveClaimDeclined if the call to the owners TopologyClaimer::accept_declined_claim( declined_claim ) returns false

References claimers_, and tr().

Referenced by apply().

void protocols::topology_broker::TopologyBroker::build_fold_tree ( claims::DofClaims claims,
core::Size  nres 
)
private

creates a fold-tree from the Jump- and CutClaims throws EXCN_InvalidFoldTree at failure

References claimer(), claimers_, final_fold_tree_, fold_tree_, sequence_number_resolver_, start_pose_cuts_, and tr().

Referenced by apply().

void protocols::topology_broker::TopologyBroker::build_fold_tree_from_claimer ( core::pose::Pose pose,
core::kinematics::FoldTree fold_tree 
)
private

References claimer(), claimers_, fold_tree_, and tr().

Referenced by apply().

bool protocols::topology_broker::TopologyBroker::check_chainbreak_variants ( core::pose::Pose pose) const
const TopologyClaimerOP& protocols::topology_broker::TopologyBroker::claimer ( core::Size  i) const
inline
core::pose::Pose const& protocols::topology_broker::TopologyBroker::current_pose ( ) const
inline
bool protocols::topology_broker::TopologyBroker::does_final_fold_tree_exist ( ) const
inline

References final_fold_tree_.

TopologyClaimers::const_iterator protocols::topology_broker::TopologyBroker::end ( ) const
inline

References claimers_.

core::kinematics::FoldTree& protocols::topology_broker::TopologyBroker::final_fold_tree ( ) const
inline
void protocols::topology_broker::TopologyBroker::generate_final_claims ( claims::DofClaims all_claims)
private

second round claims are collected

References claimer(), claimers_, and tr().

Referenced by apply().

void protocols::topology_broker::TopologyBroker::generate_round1 ( claims::DofClaims all_claims)
private

first round claims are collected

References claimer(), claimers_, and tr().

Referenced by apply().

void protocols::topology_broker::TopologyBroker::generate_sequence_claims ( claims::DofClaims all_claims)
private

first round claims are collected

References claimer(), claimers_, and tr().

Referenced by apply(), and has_sequence_claimer().

void protocols::topology_broker::TopologyBroker::generate_symmetry_claims ( claims::SymmetryClaims all_claims)
private

collects symmetry claims

References claimer(), and claimers_.

Referenced by apply().

TopologyBrokerCOP protocols::topology_broker::TopologyBroker::get_self_ptr ( ) const
inline

self pointers

TopologyBrokerOP protocols::topology_broker::TopologyBroker::get_self_ptr ( )
inline
TopologyBrokerCAP protocols::topology_broker::TopologyBroker::get_self_weak_ptr ( ) const
inline

Referenced by add().

TopologyBrokerAP protocols::topology_broker::TopologyBroker::get_self_weak_ptr ( )
inline
bool protocols::topology_broker::TopologyBroker::has_chainbreaks_to_close ( ) const

do we need to close loops ( unphysical chainbreaks have been introduced? )

References to_be_closed_cuts_.

bool protocols::topology_broker::TopologyBroker::has_sequence_claimer ( )
void protocols::topology_broker::TopologyBroker::initialize_cuts ( claims::DofClaims claims,
core::pose::Pose new_pose 
)
private
void protocols::topology_broker::TopologyBroker::initialize_dofs ( claims::DofClaims claims,
core::pose::Pose new_pose 
)
private
void protocols::topology_broker::TopologyBroker::initialize_sequence ( claims::DofClaims claims,
core::pose::Pose new_pose 
)
private
core::fragment::FragSetCOP protocols::topology_broker::TopologyBroker::loop_frags ( core::kinematics::MoveMap movemap) const

the SlidingWindowLoopClosure needs pure fragments, because it changes the the residue number in the ShortLoopClosure part thus extra hook for this — > only some Claimers will answer

References claimer(), and claimers_.

void protocols::topology_broker::TopologyBroker::make_sequence_symmetric ( claims::DofClaims  pre_accepted,
core::pose::Pose pose 
)
private
moves::MoverOP protocols::topology_broker::TopologyBroker::mover ( core::pose::Pose const &  pose,
abinitio::StageID  stage_id,
core::scoring::ScoreFunction const &  scorefxn,
core::Real  progress 
) const

return a set of Movers ( RandomMover, i.e. container of movers )

----------------------------—— Consulting ----------------------------------------------—— the following interface is for the Mover to consult the Broker during the course of a simulation usually these calls a relayed to the Claimers only some will answer, others will ignore it. e.g., ConstraintClaimer will not add a Mover, JumpClaimer and RigidChunkClaimer will add chainbreaks a basic FragmentClaimer will not

References claimer(), claimers_, and tr().

Referenced by protocols::abinitio::FragmentSampler::mover().

core::Size protocols::topology_broker::TopologyBroker::num_claimers ( ) const
inline

Returns the number of claimers associated with the broker.

References claimers_.

TopologyBroker & protocols::topology_broker::TopologyBroker::operator= ( TopologyBroker const &  src)
void protocols::topology_broker::TopologyBroker::relay_message ( ClaimerMessage msg) const
claims::SequenceClaim & protocols::topology_broker::TopologyBroker::resolve_sequence_label ( std::string const &  label) const
SymmetryClaimerOP protocols::topology_broker::TopologyBroker::resolve_symmetry_claims ( claims::SymmetryClaims symm_claims)
private

checks whether only one sequence claim is there, otherwise crashes.

References tr().

Referenced by apply().

const SequenceNumberResolver& protocols::topology_broker::TopologyBroker::sequence_number_resolver ( ) const
inline
void protocols::topology_broker::TopologyBroker::switch_to_fullatom ( core::pose::Pose pose)
void protocols::topology_broker::TopologyBroker::use_job_pose ( bool  setting)
inline

use the input pose from the job (i.e., call new_decoy( pose ) )

References bUseJobPose_.

Referenced by protocols::topology_broker::add_claims_from_stream().

bool protocols::topology_broker::TopologyBroker::use_job_pose ( ) const
inline

Returns true if we are using the input pose from the job (i.e. new_decoy(pose)), false otherwise.

References bUseJobPose_.

Member Data Documentation

bool protocols::topology_broker::TopologyBroker::bUseJobPose_
private

we restart from the input pose... call steal( pose ) for all claimers

Referenced by apply(), and use_job_pose().

TopologyClaimers protocols::topology_broker::TopologyBroker::claimers_
private
claims::DofClaims protocols::topology_broker::TopologyBroker::current_claims_
private

list of dof-claims currently active

Referenced by operator=(), and TopologyBroker().

core::pose::PoseOP protocols::topology_broker::TopologyBroker::current_pose_
private
core::kinematics::FoldTreeOP protocols::topology_broker::TopologyBroker::final_fold_tree_
mutableprivate

current final-fold-tree — after removal to_bel_closed_cuts_

mutable here is hack to make wrong MembraneTopologyClaimer work — don't want to clean up that guy right now...

Referenced by build_fold_tree(), does_final_fold_tree_exist(), final_fold_tree(), operator=(), and TopologyBroker().

core::kinematics::FoldTreeOP protocols::topology_broker::TopologyBroker::fold_tree_
private
core::Size protocols::topology_broker::TopologyBroker::nres_
private

current pose has nres total_residues

Referenced by operator=(), and TopologyBroker().

core::scoring::ScoreFunctionOP protocols::topology_broker::TopologyBroker::repack_scorefxn_
private

Scorefunction used in switch_to_fullatom.

Referenced by apply(), operator=(), switch_to_fullatom(), and TopologyBroker().

claims::SequenceClaims protocols::topology_broker::TopologyBroker::sequence_claims_
private
SequenceNumberResolverOP protocols::topology_broker::TopologyBroker::sequence_number_resolver_
private
utility::vector1< core::Size > protocols::topology_broker::TopologyBroker::start_pose_cuts_
private

these cuts are not physical and should be closed ( i.e., chainbreak energy, loop-closing )

Referenced by apply(), build_fold_tree(), operator=(), and TopologyBroker().

utility::vector1< core::Size > protocols::topology_broker::TopologyBroker::to_be_closed_cuts_
private

these cuts are not physical and should be closed ( i.e., chainbreak energy, loop-closing )

Referenced by add_chainbreak_variants(), check_chainbreak_variants(), has_chainbreaks_to_close(), initialize_cuts(), operator=(), and TopologyBroker().

bool protocols::topology_broker::TopologyBroker::use_fold_tree_from_claimer_
private

Referenced by apply(), operator=(), and TopologyBroker().


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