Rosetta  2020.37
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Public Member Functions | Static Public Member Functions | Protected Member Functions | Private Attributes | List of all members
protocols::canonical_sampling::MetricRecorder Class Reference

Periodically output miscellaneous information. More...

#include <MetricRecorder.hh>

Inheritance diagram for protocols::canonical_sampling::MetricRecorder:
Inheritance graph
[legend]

Public Member Functions

 MetricRecorder ()
 Default constructor. More...
 
 ~MetricRecorder () override
 Default destructor. More...
 
 MetricRecorder (MetricRecorder const &)
 Copy constructor. More...
 
MetricRecorderoperator= (MetricRecorder const &)=delete
 Assignment operator. More...
 
protocols::moves::MoverOP clone () const override
 Return a copy of this mover. More...
 
protocols::moves::MoverOP fresh_instance () const override
 Return a newly instantiated mover. More...
 
void parse_my_tag (utility::tag::TagCOP tag, basic::datacache::DataMap &data) override
 Return the name of this mover. More...
 
bool reinitialize_for_each_job () const override
 Return true. This mover needs to be reinitialized for each job. More...
 
std::string const & file_name () const
 Return the name of the file being written to. More...
 
void file_name (std::string const &file_name)
 Set the name of the file being written to. More...
 
core::Size stride () const
 Return the frequency with which data is written. More...
 
void stride (core::Size stride)
 Set the frequency with which data is written. More...
 
bool cumulate_jobs () const
 Return true if every job is being reported to the same file. More...
 
void cumulate_jobs (bool cumulate_jobs)
 Indicate whether or not every job should be reported to the same file. More...
 
bool cumulate_replicas () const
 Return true if every replica is being reported to the same file. More...
 
void cumulate_replicas (bool cumulate_replicas)
 Indicate whether or not every replica should be reported to the same file. More...
 
bool prepend_output_name () const
 Return true if the job name should be prepended onto the output filename. More...
 
void prepend_output_name (bool prepend_output_name)
 Indicate whether or not the job name should be prepended onto the output filename. More...
 
void add_torsion (core::id::TorsionID const &torsion_id, std::string const &name="")
 Include the given torsion in the output. More...
 
void add_torsion (core::pose::Pose const &pose, std::string const &rsd, std::string const &type, core::Size torsion, std::string const &name="")
 Include the given torsion in the output. More...
 
void add_torsion (TorsionSpec const &torsion)
 
void reset (core::pose::Pose const &pose, protocols::canonical_sampling::MetropolisHastingsMover const *metropolis_hastings_mover=nullptr)
 Truncate the output file and rewrite the output header. More...
 
void update_after_boltzmann (core::pose::Pose const &pose, protocols::canonical_sampling::MetropolisHastingsMover const *metropolis_hastings_mover=nullptr)
 Write information like temperature, score, and torsion angles to a file. More...
 
void apply (core::pose::Pose &pose) override
 Just invoke update_after_boltzmann() with a const pose. More...
 
void initialize_simulation (core::pose::Pose &pose, protocols::canonical_sampling::MetropolisHastingsMover const &metropolis_hastings_mover, core::Size cycle) override
 Callback executed before any Monte Carlo trials are attempted. More...
 
void observe_after_metropolis (protocols::canonical_sampling::MetropolisHastingsMover const &metropolis_hastings_mover) override
 Callback executed after the Metropolis criterion is evaluated. More...
 
void finalize_simulation (core::pose::Pose &pose, protocols::canonical_sampling::MetropolisHastingsMover const &metropolis_hastings_mover) override
 Callback executed after all Monte Carlo trials are completed. More...
 
std::string get_name () const override
 Each derived class must specify its name. The class name. More...
 
- Public Member Functions inherited from protocols::canonical_sampling::ThermodynamicObserver
 ThermodynamicObserver ()
 Default constructor. More...
 
 ~ThermodynamicObserver () override
 Destructor. More...
 
void apply (core::pose::Pose &) override
 Callback executed after each move is made. More...
 
virtual bool restart_simulation (core::pose::Pose &, MetropolisHastingsMover &, core::Size &, core::Size &, core::Real &)
 Attempt to restart the last simulation that was recorded by this observer. More...
 
virtual bool requires_pose ()
 Return false if this observer does not require a valid pose. TrialCounterObserver is an example of such an observer. More...
 
- Public Member Functions inherited from protocols::moves::Mover
 Mover ()
 
virtual MoverOP create ()
 
MoverCOP get_self_ptr () const
 
MoverOP get_self_ptr ()
 
MoverCAP get_self_weak_ptr () const
 
MoverAP get_self_weak_ptr ()
 
 Mover (std::string const &type_name)
 sets the type for a mover; name_ has been removed (2010/05/14) More...
 
virtual void test_move (Pose &pose)
 : Unit test support function. Apply one move to a given pose. Allows extra test specific functions to be called before applying More...
 
virtual bool reinitialize_for_new_input () const
 Inform the Job Distributor (August '08 vintage) whether this object needs to be regenerated when the input pose is about to change, (for example, if the Mover has special code on the first apply() that is only valid for that one input pose). More...
 
MoverStatus get_last_move_status () const
 end parser interface, start Job Distributor interface///////////// More...
 
void reset_status ()
 resets status to SUCCESS, meant to be used before an apply(). The job distributor (august 08 vintage) uses this to ensure non-accumulation of status across apply()s. More...
 
virtual core::pose::PoseOP get_additional_output ()
 Mechanism by which a mover may return multiple output poses from a single input pose. More...
 
void set_type (std::string const &setting)
 Set the 'type' string. More...
 
std::string get_type () const
 
void type (const std::string &type_in)
 Set the 'type' string. More...
 
std::string const & type () const
 Get the set 'type' string. More...
 
virtual void set_input_pose (PoseCOP pose)
 setter for poses contained for rms More...
 
virtual void set_native_pose (PoseCOP pose)
 setter for native poses contained for rms -— we should get rid of this method? it is widely used, but a bit unsafe More...
 
PoseCOP get_input_pose () const
 
PoseCOP get_native_pose () const
 
void set_current_job (protocols::jobdist::BasicJobCOP job)
 
jobdist::BasicJobCOP get_current_job () const
 
virtual void set_current_tag (std::string const &new_tag)
 
std::string get_current_tag () const
 A tag is a unique identifier used to identify structures produced by this Mover. get_current_tag() returns the tag, and set_current_tag( std::string tag ) sets the tag. This functionality is not intended for use with the 2008 job distributor. More...
 
virtual void show (std::ostream &output=std::cout) const
 Outputs details about the Mover, including current settings. More...
 
virtual core::Real last_proposal_density_ratio ()
 
virtual void clear_info ()
 Strings container can be used to return miscellaneous info (as std::string) from a mover, such as notes about the results of apply(). The job distributor (Apr 09 vintage) will check this function to see if your protocol wants to add string info to the Job that ran this mover. One way this can be useful is that later, a JobOutputter may include/append this info to an output file. More...
 
virtual Stringsinfo ()
 non-const accessor More...
 
virtual Strings const & info () const
 const accessor More...
 
virtual bool mover_provides_citation_info () const
 Does this mover provide information about how to cite it? More...
 
virtual utility::vector1
< basic::citation_manager::CitationCollectionCOP > 
provide_citation_info () const
 Provide the citation. More...
 
virtual bool mover_is_unpublished () const
 Does this mover indicate that it is unpublished (and, by extension, that the author should be included in publications resulting from it)? More...
 
virtual utility::vector1
< basic::citation_manager::UnpublishedModuleInfoCOP > 
provide_authorship_info_for_unpublished () const
 Provide a list of authors and their e-mail addresses, as strings. More...
 

Static Public Member Functions

static std::string mover_name ()
 
static void provide_xml_schema (utility::tag::XMLSchemaDefinition &xsd)
 
- Static Public Member Functions inherited from protocols::moves::Mover
static std::string name ()
 
static void register_options ()
 Overload this static method if you access options within the mover. More...
 

Protected Member Functions

void add_torsion (utility::vector1< std::pair< core::id::TorsionID, std::string > > &torsion_ids, core::Size rsd, std::string type, core::Size torsion, std::string const &name="") const
 
utility::vector1< std::pair
< core::id::TorsionID,
std::string > > 
get_torsion_ids (core::pose::Pose const &pose) const
 Expand the list of torsion ids based on the Pose. More...
 
- Protected Member Functions inherited from protocols::moves::Mover
void set_last_move_status (MoverStatus status)
 nonvirtual setter for MoverStatus last_status_. Protected means that only the mover itself will be able to change its own status. The job distributor (august 08 vintage) is aware of status set with this function and will do what the MoverStatus says. More...
 

Private Attributes

std::string file_name_
 
core::Size stride_
 
bool cumulate_jobs_
 
bool cumulate_replicas_
 
bool prepend_output_name_
 
core::Size step_count_
 
utility::io::ozstream recorder_stream_
 
utility::vector1< std::pair
< core::id::TorsionID,
std::string > > 
torsion_ids_
 
utility::vector1< TorsionSpectorsion_specs_
 
time_t last_flush_
 

Additional Inherited Members

- Public Types inherited from protocols::moves::Mover
typedef utility::tag::TagCOP TagCOP
 
typedef core::pose::Pose Pose
 
typedef core::pose::PoseCOP PoseCOP
 
typedef std::list< std::string > Strings
 

Detailed Description

Periodically output miscellaneous information.

This class is capable of writing out a variety of data related to the trajectory. This includes the job name, the replica, the temperature, and the score. Any number of torsion angles can also be added to the report using add_torsion(). Methods are also provided for specifying an output filename. Most of the IO work is done by update_after_boltzmann().

Constructor & Destructor Documentation

protocols::canonical_sampling::MetricRecorder::MetricRecorder ( )

Default constructor.

protocols::canonical_sampling::MetricRecorder::~MetricRecorder ( )
overridedefault

Default destructor.

protocols::canonical_sampling::MetricRecorder::MetricRecorder ( MetricRecorder const &  other)

Copy constructor.

Member Function Documentation

void protocols::canonical_sampling::MetricRecorder::add_torsion ( core::id::TorsionID const &  torsion_id,
std::string const &  name = "" 
)

Include the given torsion in the output.

References core::id::TorsionID::str(), torsion_ids_, and core::id::TorsionID::valid().

Referenced by add_torsion(), get_torsion_ids(), and parse_my_tag().

void protocols::canonical_sampling::MetricRecorder::add_torsion ( core::pose::Pose const &  pose,
std::string const &  rsd,
std::string const &  type,
core::Size  torsion,
std::string const &  name = "" 
)

Include the given torsion in the output.

References add_torsion(), core::pose::parse_resnum(), and torsion_ids_.

void protocols::canonical_sampling::MetricRecorder::add_torsion ( TorsionSpec const &  torsion)

References torsion_specs_.

void protocols::canonical_sampling::MetricRecorder::add_torsion ( utility::vector1< std::pair< core::id::TorsionID, std::string > > &  torsion_ids,
core::Size  rsd,
std::string  type,
core::Size  torsion,
std::string const &  name = "" 
) const
protected
void protocols::canonical_sampling::MetricRecorder::apply ( core::pose::Pose pose)
overridevirtual

Just invoke update_after_boltzmann() with a const pose.

Implements protocols::moves::Mover.

References update_after_boltzmann().

protocols::moves::MoverOP protocols::canonical_sampling::MetricRecorder::clone ( ) const
overridevirtual

Return a copy of this mover.

Reimplemented from protocols::moves::Mover.

bool protocols::canonical_sampling::MetricRecorder::cumulate_jobs ( ) const

Return true if every job is being reported to the same file.

References cumulate_jobs_.

Referenced by cumulate_jobs().

void protocols::canonical_sampling::MetricRecorder::cumulate_jobs ( bool  cumulate_jobs)

Indicate whether or not every job should be reported to the same file.

References cumulate_jobs(), and cumulate_jobs_.

bool protocols::canonical_sampling::MetricRecorder::cumulate_replicas ( ) const

Return true if every replica is being reported to the same file.

References cumulate_replicas_.

Referenced by cumulate_replicas().

void protocols::canonical_sampling::MetricRecorder::cumulate_replicas ( bool  cumulate_replicas)

Indicate whether or not every replica should be reported to the same file.

References cumulate_replicas(), and cumulate_replicas_.

std::string const & protocols::canonical_sampling::MetricRecorder::file_name ( ) const

Return the name of the file being written to.

References file_name_.

Referenced by file_name(), and initialize_simulation().

void protocols::canonical_sampling::MetricRecorder::file_name ( std::string const &  file_name)

Set the name of the file being written to.

References file_name(), and file_name_.

void protocols::canonical_sampling::MetricRecorder::finalize_simulation ( core::pose::Pose ,
protocols::canonical_sampling::MetropolisHastingsMover const &   
)
overridevirtual

Callback executed after all Monte Carlo trials are completed.

Reimplemented from protocols::canonical_sampling::ThermodynamicObserver.

References recorder_stream_.

protocols::moves::MoverOP protocols::canonical_sampling::MetricRecorder::fresh_instance ( ) const
overridevirtual

Return a newly instantiated mover.

Reimplemented from protocols::moves::Mover.

std::string protocols::canonical_sampling::MetricRecorder::get_name ( ) const
overridevirtual

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

Implements protocols::moves::Mover.

References mover_name().

utility::vector1< std::pair< core::id::TorsionID, std::string > > protocols::canonical_sampling::MetricRecorder::get_torsion_ids ( core::pose::Pose const &  pose) const
protected
void protocols::canonical_sampling::MetricRecorder::initialize_simulation ( core::pose::Pose ,
protocols::canonical_sampling::MetropolisHastingsMover const &  ,
core::Size   
)
overridevirtual
std::string protocols::canonical_sampling::MetricRecorder::mover_name ( )
static
void protocols::canonical_sampling::MetricRecorder::observe_after_metropolis ( protocols::canonical_sampling::MetropolisHastingsMover const &  metropolis_hastings_mover)
overridevirtual
MetricRecorder& protocols::canonical_sampling::MetricRecorder::operator= ( MetricRecorder const &  )
delete

Assignment operator.

void protocols::canonical_sampling::MetricRecorder::parse_my_tag ( utility::tag::TagCOP  tag,
basic::datacache::DataMap &  data 
)
overridevirtual
bool protocols::canonical_sampling::MetricRecorder::prepend_output_name ( ) const

Return true if the job name should be prepended onto the output filename.

References prepend_output_name_.

Referenced by prepend_output_name().

void protocols::canonical_sampling::MetricRecorder::prepend_output_name ( bool  prepend_output_name)

Indicate whether or not the job name should be prepended onto the output filename.

References prepend_output_name(), and prepend_output_name_.

void protocols::canonical_sampling::MetricRecorder::provide_xml_schema ( utility::tag::XMLSchemaDefinition &  xsd)
static
bool protocols::canonical_sampling::MetricRecorder::reinitialize_for_each_job ( ) const
inlineoverridevirtual

Return true. This mover needs to be reinitialized for each job.

Reimplemented from protocols::moves::Mover.

void protocols::canonical_sampling::MetricRecorder::reset ( core::pose::Pose const &  pose,
protocols::canonical_sampling::MetropolisHastingsMover const *  metropolis_hastings_mover = nullptr 
)

Truncate the output file and rewrite the output header.

This method may not actually truncate the output file. It really just closes and reopens the file, and I'm not sure whether or not it picks a new name when it does the reopening.

References recorder_stream_, step_count_, and update_after_boltzmann().

Referenced by initialize_simulation().

core::Size protocols::canonical_sampling::MetricRecorder::stride ( ) const

Return the frequency with which data is written.

References stride_.

Referenced by stride().

void protocols::canonical_sampling::MetricRecorder::stride ( core::Size  stride)

Set the frequency with which data is written.

References stride(), and stride_.

void protocols::canonical_sampling::MetricRecorder::update_after_boltzmann ( core::pose::Pose const &  pose,
protocols::canonical_sampling::MetropolisHastingsMover const *  metropolis_hastings_mover = nullptr 
)

Member Data Documentation

bool protocols::canonical_sampling::MetricRecorder::cumulate_jobs_
private
bool protocols::canonical_sampling::MetricRecorder::cumulate_replicas_
private
std::string protocols::canonical_sampling::MetricRecorder::file_name_
private
time_t protocols::canonical_sampling::MetricRecorder::last_flush_
private

Referenced by update_after_boltzmann().

bool protocols::canonical_sampling::MetricRecorder::prepend_output_name_
private
utility::io::ozstream protocols::canonical_sampling::MetricRecorder::recorder_stream_
private
core::Size protocols::canonical_sampling::MetricRecorder::step_count_
private

Referenced by reset(), and update_after_boltzmann().

core::Size protocols::canonical_sampling::MetricRecorder::stride_
private
utility::vector1<std::pair<core::id::TorsionID, std::string> > protocols::canonical_sampling::MetricRecorder::torsion_ids_
private

Referenced by add_torsion(), and get_torsion_ids().

utility::vector1< TorsionSpec > protocols::canonical_sampling::MetricRecorder::torsion_specs_
private

Referenced by add_torsion(), and get_torsion_ids().


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