Public Types | Public Member Functions | Static Public Member Functions | Protected Member Functions | Private Types | Private Member Functions | Private Attributes | Static Private Attributes | List of all members
protocols::jd2::archive::EvaluatedArchive Class Referenceabstract

Tags used to tag messeges sent by MPI functions used to decide whether a slave is requesting a new job id or flagging as job as being a bad input. More...

#include <EvaluatedArchive.hh>

Inheritance diagram for protocols::jd2::archive::EvaluatedArchive:
Inheritance graph

Public Types

typedef std::map< std::string, core::RealWeightMap
 typedefs for Evaluators and Weights More...
typedef std::map< std::string, evaluation::PoseEvaluatorCOPEvaluatorMap

Public Member Functions

 EvaluatedArchive (ArchiveManagerAP ptr)
 Constructor and Destructor. More...
 EvaluatedArchive ()
 ~EvaluatedArchive () override
bool add_structure (core::io::silent::SilentStructOP new_decoy, core::io::silent::SilentStructOP alternative_decoy, Batch const &batch) override
 add decoy to Archive @detail evaluate decoy and call add_evaluated_structure More...
core::Real select_score (core::io::silent::SilentStructOP evaluated_decoy)
 compute score according to select_weights — this can contain any evaluator columns More...
void setup_default_evaluators ()
 set common evaluators: eg. ConstraintEvaluator if -cst_file is present More...
bool restore_from_file () override
 overloaded that we can sort the pool after reading More...
void read_structures (core::io::silent::SilentFileData &sfd, core::io::silent::SilentFileData &alternative_decoys, Batch const &batch) override
 only overloaded this to add some verbosity each time we read structures More...
void init_from_decoy_set (core::io::silent::SilentFileData const &sfd) override=0
 overloaded to make input decoys appear the same as decoys coming from batches More...
void start_evaluation_timer () const
core::io::silent::SilentStructOP evaluate_silent_struct (core::io::silent::SilentStructOP from_batch) const
 yields an "evaluated" silent-struct which can be queried with select_score @detail will run scoring-process if evaluate_local() otherwise just returns the intpu-silent-struct More...
virtual bool add_evaluated_structure (core::io::silent::SilentStructOP evaluated_decoy, core::io::silent::SilentStructOP alternative_decoy, Batch const &)
 add an evaluated decoy to Archive (i.e, evaluated_decoy = evaluate( some_decoy ) ); More...
bool evaluate_local () const
 specify if decoys are evaluated on the master or (non-local i.e., on the individual slave nodes) More...
void set_evaluate_local (bool setting)
virtual void rescore ()
 recompute all score-values of all decoys and re-order the archive by (new) select_score More...
void add_evaluation (evaluation::PoseEvaluatorCOP, core::Real weight=0.0)
 add new PoseEvaluation to set of evaluators, specify weight for contribution to select_score() More...
void remove_evaluation (std::string const &column)
 remove Evaluator More...
bool has_evaluator (std::string const &column)
 is a certain elvaluator present ? More...
void set_weight (std::string const &column, core::Real weight)
 set weight of an evaluator or a column otherwise present in silent-structs (i.e, score, chainbreak, external evaluation like score_final ) More...
core::Real get_weight (std::string const &column) const
void set_scorefxn (core::scoring::ScoreFunctionOP scorefxn_)
 set scorefxn used for evaluation More...
core::scoring::ScoreFunction const & scorefxn () const
virtual WeightMap const & score_variations () const
virtual core::Real score_variation (std::string const &col) const
WeightMap const & weights () const
EvaluatorMap const & evaluators () const
void set_weights (WeightMap const &setting)
void set_evaluators (EvaluatorMap const &, WeightMap const &)
void save_to_file (std::string suffix="") override
 overloaded to save / restore the variance_archive_ More...
- Public Member Functions inherited from protocols::jd2::archive::ArchiveBase
 ArchiveBase (ArchiveManagerAP ptr=nullptr)
 ~ArchiveBase () override
bool finished () const override
 is archive converged ? More...
void initialize () override
void generate_batch () override=0
 create a new batch with manager().start_new_batch() and manager().finalize_batch(); More...
core::Size nstruct () const
 how many structures should be in archive .. varies from decoys().size() in startup phase. More...
void set_nstruct (core::Size set)
 set target size of pool More...
void save_decoys (std::string const &dirname, std::string const &name, SilentStructs const &decoys)
 helper routine to save decoys properly More...
void load_decoys (std::string const &filename, SilentStructs &decoys)
void save_status (std::ostream &) const override
 save and restore status of archive to file-system More...
virtual void restore_status (std::istream &)
void idle () override
 called when nothing is happening More...
core::Sizeaccepts_since_last_batch ()
core::Size accepts_since_last_batch () const
core::Size proposed_since_last_batch () const
core::Real current_acceptance_ratio () const
void reset_accept_counter ()
core::Size total_proposed ()
core::Size total_accepts ()
bool statistics_valid ()
SilentStructs const & decoys () const
SilentStructsdecoys ()
- Public Member Functions inherited from protocols::jd2::archive::AbstractArchiveBase
 ~AbstractArchiveBase () override
 Automatically generated virtual destructor for class deriving directly from VirtualBase. More...
 AbstractArchiveBase (BaseArchiveManagerAP ptr)
 AbstractArchiveBase ()
virtual bool still_interested (jd2::archive::Batch const &) const
 old-batches might be outdated and should not be computed anymore return true for this query if this is the case for old_batch More...
virtual core::Size generate_batch (jd2::archive::Batch &, core::Size)
 create a batch for the current stage, return ct != 0 if more batches should be created at current stage. (e.g., harvest_batches) More...
void set_name (std::string const &set)
 set name of archive ( used also for save_to_file and restore_from_file ) More...
std::string const & name () const
BaseArchiveManagermanager ()
 access to the ArchiveManager (control of batches) More...
virtual void set_manager (BaseArchiveManagerAP manager)

Static Public Member Functions

static void register_options ()
 Archive specific options. More...
- Static Public Member Functions inherited from protocols::jd2::archive::ArchiveBase
static void register_options ()

Protected Member Functions

core::scoring::ScoreFunctionOP scorefxn_non_const ()
virtual void score (core::pose::Pose &pose) const
 score a pose More...
virtual void invalidate_score_variations ()
- Protected Member Functions inherited from protocols::jd2::archive::ArchiveBase
virtual void count_structure (Batch const &batch, bool accepted)
 count the structure for the acceptance statistics only count if not from expired batch More...
void count_removed_structures (core::Size n_removed)
 count the structure for the acceptance statistics only count if not from expired batch More...
void set_max_nstruct (core::Size setting)
core::Size max_nstruct ()
virtual void add_structure_at_position (SilentStructs::iterator iss, core::io::silent::SilentStructOP new_decoy, core::io::silent::SilentStructOP alternative_decoy)
 call to insert structure at position given by iterator More...
virtual void erase_decoy (std::string const &tag)
- Protected Member Functions inherited from protocols::jd2::archive::AbstractArchiveBase
BaseArchiveManagerAP manager_ptr ()

Private Types

typedef ArchiveBase Parent

Private Member Functions

virtual core::io::silent::SilentStructOP evaluate_pose (core::io::silent::SilentStructOP result, core::pose::Pose &input_pose) const
 call score( pose ) and collect energies into result this is low-level function: it expects that result already contains the coordinates of the pose for convenience the pointer result is also return value More...
void sort ()
 re-sort decoys based on select_score More...

Private Attributes

core::scoring::ScoreFunctionOP scorefxn_
 scorefxn_ for evaluate( SilentStruct, Pose const& ) More...
WeightMap select_weights_
 Evaluators and weights for select_score and evaluate. More...
EvaluatorMap evaluators_
WeightMap dummy_score_variations_
bool scores_are_clean_
 keep track wether cached scores in archive_select_score are up-to-date More...
bool b_evaluate_incoming_decoys_
 local evaluation or is evaluation outsourced to slave nodes? More...
time_t start_eval_time_
VarianceStatisticsArchiveOP variance_archive_

Static Private Attributes

static bool options_registered_
 keep track whether our options have been registered at start up More...

Additional Inherited Members

- Protected Types inherited from protocols::jd2::archive::ArchiveBase
typedef std::list< core::io::silent::SilentStructOPSilentStructs
typedef SilentStructs::const_iterator const_decoy_iterator
typedef SilentStructs::const_iterator decoy_iterator
- Static Protected Attributes inherited from protocols::jd2::archive::ArchiveBase
static std::string const TAG_IN_FILE
static std::string const SOURCE_FILE

Detailed Description

Tags used to tag messeges sent by MPI functions used to decide whether a slave is requesting a new job id or flagging as job as being a bad input.

This job distributor is meant for running jobs where the machine you are using has a large number of processors, the number of jobs is much greater than the number of processors, or the runtimes of the individual jobs could vary greatly. It dedicates the head node (whichever processor gets processor rank #0) to handling job requests from the slave nodes (all nonzero ranks). Unlike the MPIWorkPartitionJobDistributor, this JD will not work at all without MPI and the implementations of all but the interface functions have been put inside of ifdef directives. Generally each function has a master and slave version, and the interface functions call one or the other depending on processor rank.

Member Typedef Documentation

◆ EvaluatorMap

◆ Parent

◆ WeightMap

typedefs for Evaluators and Weights

Constructor & Destructor Documentation

◆ EvaluatedArchive() [1/2]

protocols::jd2::archive::EvaluatedArchive::EvaluatedArchive ( ArchiveManagerAP  ptr)

Constructor and Destructor.

References options_registered_, and setup_default_evaluators().

◆ EvaluatedArchive() [2/2]

protocols::jd2::archive::EvaluatedArchive::EvaluatedArchive ( )

◆ ~EvaluatedArchive()

protocols::jd2::archive::EvaluatedArchive::~EvaluatedArchive ( )

Member Function Documentation

◆ add_evaluated_structure()

bool protocols::jd2::archive::EvaluatedArchive::add_evaluated_structure ( core::io::silent::SilentStructOP  evaluated_decoy,
core::io::silent::SilentStructOP  alternative_decoy,
Batch const &   

◆ add_evaluation()

void protocols::jd2::archive::EvaluatedArchive::add_evaluation ( evaluation::PoseEvaluatorCOP  eval,
core::Real  weight = 0.0 

◆ add_structure()

bool protocols::jd2::archive::EvaluatedArchive::add_structure ( core::io::silent::SilentStructOP  new_decoy,
core::io::silent::SilentStructOP  alternative_decoy,
Batch const &  batch 

add decoy to Archive @detail evaluate decoy and call add_evaluated_structure

Reimplemented from protocols::jd2::archive::ArchiveBase.

References add_evaluated_structure(), evaluate_silent_struct(), and protocols::jd2::tr().

◆ evaluate_local()

bool protocols::jd2::archive::EvaluatedArchive::evaluate_local ( ) const

◆ evaluate_pose()

core::io::silent::SilentStructOP protocols::jd2::archive::EvaluatedArchive::evaluate_pose ( core::io::silent::SilentStructOP  result,
core::pose::Pose input_pose 
) const

call score( pose ) and collect energies into result this is low-level function: it expects that result already contains the coordinates of the pose for convenience the pointer result is also return value

@detail evaluate a pose ... store info in iss (and return the same for convenience )

References evaluators_, score(), and protocols::jd2::tr().

Referenced by evaluate_silent_struct().

◆ evaluate_silent_struct()

core::io::silent::SilentStructOP protocols::jd2::archive::EvaluatedArchive::evaluate_silent_struct ( core::io::silent::SilentStructOP  iss) const

yields an "evaluated" silent-struct which can be queried with select_score @detail will run scoring-process if evaluate_local() otherwise just returns the intpu-silent-struct

evaluate decoy... if non-local evaluation just copy silent-struct

References core::scoring::Energies::clear(), core::pose::Pose::data(), core::pose::Pose::energies(), evaluate_local(), evaluate_pose(), start_eval_time_, start_evaluation_timer(), and protocols::jd2::tr().

Referenced by add_structure(), protocols::abinitio::IterativeBase::add_structure(), and rescore().

◆ evaluators()

EvaluatorMap const& protocols::jd2::archive::EvaluatedArchive::evaluators ( ) const

◆ get_weight()

core::Real protocols::jd2::archive::EvaluatedArchive::get_weight ( std::string const &  column) const

◆ has_evaluator()

bool protocols::jd2::archive::EvaluatedArchive::has_evaluator ( std::string const &  column)

is a certain elvaluator present ?

References evaluators_.

◆ init_from_decoy_set()

void protocols::jd2::archive::EvaluatedArchive::init_from_decoy_set ( core::io::silent::SilentFileData const &  sfd)
overridepure virtual

overloaded to make input decoys appear the same as decoys coming from batches

Reimplemented from protocols::jd2::archive::ArchiveBase.

Implemented in protocols::abinitio::IterativeBase, protocols::jd2::archive::VarianceStatisticsArchive, protocols::abinitio::IterativeAbrelax, and protocols::abinitio::HedgeArchive.

◆ invalidate_score_variations()

virtual void protocols::jd2::archive::EvaluatedArchive::invalidate_score_variations ( )

◆ read_structures()

void protocols::jd2::archive::EvaluatedArchive::read_structures ( core::io::silent::SilentFileData sfd,
core::io::silent::SilentFileData alternative_decoys,
Batch const &  batch 

◆ register_options()

void protocols::jd2::archive::EvaluatedArchive::register_options ( )

◆ remove_evaluation()

void protocols::jd2::archive::EvaluatedArchive::remove_evaluation ( std::string const &  column)

◆ rescore()

void protocols::jd2::archive::EvaluatedArchive::rescore ( )

◆ restore_from_file()

bool protocols::jd2::archive::EvaluatedArchive::restore_from_file ( )

overloaded that we can sort the pool after reading

@detail restore archive and sort

Reimplemented from protocols::jd2::archive::ArchiveBase.

Reimplemented in protocols::jd2::archive::NormalizedEvaluatedArchive.

References protocols::jd2::archive::ArchiveBase::restore_from_file(), scores_are_clean_, and sort().

Referenced by protocols::jd2::archive::NormalizedEvaluatedArchive::restore_from_file().

◆ save_to_file()

void protocols::jd2::archive::EvaluatedArchive::save_to_file ( std::string  suffix = "")

◆ score()

void protocols::jd2::archive::EvaluatedArchive::score ( core::pose::Pose pose) const

score a pose

@detail before we can apply score-fxn we have to add extra data: RDC, NOES, (not supported yet: PCS, ... )

Reimplemented in protocols::abinitio::IterativeBase.

References scorefxn().

Referenced by evaluate_pose(), and protocols::abinitio::IterativeBase::score().

◆ score_variation()

core::Real protocols::jd2::archive::EvaluatedArchive::score_variation ( std::string const &  col) const

◆ score_variations()

EvaluatedArchive::WeightMap const & protocols::jd2::archive::EvaluatedArchive::score_variations ( ) const

◆ scorefxn()

core::scoring::ScoreFunction const & protocols::jd2::archive::EvaluatedArchive::scorefxn ( ) const

◆ scorefxn_non_const()

core::scoring::ScoreFunctionOP protocols::jd2::archive::EvaluatedArchive::scorefxn_non_const ( )

◆ select_score()

Real protocols::jd2::archive::EvaluatedArchive::select_score ( core::io::silent::SilentStructOP  evaluated_decoy)

◆ set_evaluate_local()

void protocols::jd2::archive::EvaluatedArchive::set_evaluate_local ( bool  setting)

◆ set_evaluators()

void protocols::jd2::archive::EvaluatedArchive::set_evaluators ( EvaluatorMap const &  evaluators,
WeightMap const &  weights 

◆ set_scorefxn()

void protocols::jd2::archive::EvaluatedArchive::set_scorefxn ( core::scoring::ScoreFunctionOP  scorefxn_)

◆ set_weight()

void protocols::jd2::archive::EvaluatedArchive::set_weight ( std::string const &  column,
core::Real  weight 

◆ set_weights()

void protocols::jd2::archive::EvaluatedArchive::set_weights ( WeightMap const &  setting)

References select_weights_, and set_weight().

◆ setup_default_evaluators()

void protocols::jd2::archive::EvaluatedArchive::setup_default_evaluators ( )

set common evaluators: eg. ConstraintEvaluator if -cst_file is present

References set_weight(), and SPECIAL_INITIAL_DECOY_PENALTY().

Referenced by EvaluatedArchive(), and protocols::abinitio::IterativeBase::setup_default_evaluators().

◆ sort()

void protocols::jd2::archive::EvaluatedArchive::sort ( )

re-sort decoys based on select_score

References protocols::jd2::archive::ArchiveBase::decoys().

Referenced by rescore(), and restore_from_file().

◆ start_evaluation_timer()

void protocols::jd2::archive::EvaluatedArchive::start_evaluation_timer ( ) const

◆ weights()

WeightMap const& protocols::jd2::archive::EvaluatedArchive::weights ( ) const

Member Data Documentation

◆ b_evaluate_incoming_decoys_

bool protocols::jd2::archive::EvaluatedArchive::b_evaluate_incoming_decoys_

local evaluation or is evaluation outsourced to slave nodes?

Referenced by evaluate_local(), and set_evaluate_local().

◆ dummy_score_variations_

WeightMap protocols::jd2::archive::EvaluatedArchive::dummy_score_variations_

Referenced by score_variations(), and set_weight().

◆ evaluators_

EvaluatorMap protocols::jd2::archive::EvaluatedArchive::evaluators_

◆ options_registered_

bool protocols::jd2::archive::EvaluatedArchive::options_registered_

keep track whether our options have been registered at start up

Referenced by EvaluatedArchive().

◆ scorefxn_

core::scoring::ScoreFunctionOP protocols::jd2::archive::EvaluatedArchive::scorefxn_

scorefxn_ for evaluate( SilentStruct, Pose const& )

Referenced by scorefxn(), scorefxn_non_const(), and set_scorefxn().

◆ scores_are_clean_

bool protocols::jd2::archive::EvaluatedArchive::scores_are_clean_

keep track wether cached scores in archive_select_score are up-to-date

Referenced by add_evaluation(), remove_evaluation(), rescore(), restore_from_file(), select_score(), set_scorefxn(), and set_weight().

◆ select_weights_

WeightMap protocols::jd2::archive::EvaluatedArchive::select_weights_

Evaluators and weights for select_score and evaluate.

Referenced by get_weight(), read_structures(), remove_evaluation(), rescore(), select_score(), set_weight(), set_weights(), and weights().

◆ start_eval_time_

time_t protocols::jd2::archive::EvaluatedArchive::start_eval_time_

◆ variance_archive_

VarianceStatisticsArchiveOP protocols::jd2::archive::EvaluatedArchive::variance_archive_

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