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

Record a trajectory to an SQL database. More...

#include <DbTrajectoryRecorder.hh>

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

Classes

struct  Frame
 Helper struct used store cached poses. More...
 

Public Member Functions

 DbTrajectoryRecorder ()
 Default constructor. More...
 
 DbTrajectoryRecorder (core::Size job_id)
 Constructor with a job_id parameter to use as a foreign key. More...
 
 DbTrajectoryRecorder (DbTrajectoryRecorder const &)
 Copy constructor. More...
 
protocols::moves::MoverOP clone () const override
 Return a clone of the Mover object. More...
 
protocols::moves::MoverOP fresh_instance () const override
 Generates a new Mover object freshly created with the default ctor. More...
 
std::string get_name () const override
 Each derived class must specify its name. The class name. More...
 
core::Size job_id () const
 Return the job id that will be used as a foreign key in the trajectory table that gets generated. More...
 
void job_id (core::Size id)
 Set the job id that will be used as a foreign key in the trajectory table that gets generated. More...
 
void initialize_simulation (core::pose::Pose &pose, MetropolisHastingsMover const &mover, core::Size cycle) override
 Callback executed before any Monte Carlo trials are attempted. More...
 
void finalize_simulation (core::pose::Pose &pose, MetropolisHastingsMover const &mover) override
 Callback executed after all Monte Carlo trials are completed. More...
 
bool restart_simulation (core::pose::Pose &pose, MetropolisHastingsMover &mover, core::Size &cycle, core::Size &temp_level, core::Real &temperature) override
 Not implemented, except to complain if accidentally used. More...
 
- Public Member Functions inherited from protocols::canonical_sampling::TrajectoryRecorder
 TrajectoryRecorder ()
 Default constructor. More...
 
 ~TrajectoryRecorder () override
 Destructor. More...
 
 TrajectoryRecorder (TrajectoryRecorder const &)
 Copy constructor. More...
 
std::string get_name () const override
 Return the name of this mover. More...
 
void parse_my_tag (utility::tag::TagCOP tag, basic::datacache::DataMap &data) override
 Configure this mover from a RosettaScripts tag. More...
 
std::string const & file_name () const
 Return the file name for the trajectory. More...
 
void file_name (std::string const &file_name)
 Set the file name for the trajectory. More...
 
core::Size model_count () const
 Return the number of models that have been saved so far. More...
 
core::Size step_count () const
 Return the number of iterations that have occurred so far. More...
 
core::Size stride () const
 Return how often models should be written to the trajectory. More...
 
void stride (core::Size stride)
 Set how often models should be written to the trajectory. More...
 
core::Size cache_limit ()
 Return the number of poses that can be cached. More...
 
void cache_limit (core::Size limit)
 Specify the maximum number of poses that can be cached. More...
 
bool cumulate_jobs () const
 Return true if poses from different jobs will be written to the same trajectory file. More...
 
bool cumulate_replicas () const
 Return true if poses from different replicas will be written to the same trajectory file. More...
 
virtual void reset (protocols::moves::MonteCarlo const &mc, protocols::canonical_sampling::MetropolisHastingsMover const *metropolis_hastings_mover=nullptr)
 Callback executed whenever the simulation is initialized or reset. More...
 
void update_after_boltzmann (core::pose::Pose const &pose, protocols::canonical_sampling::MetropolisHastingsMover const *metropolis_hastings_mover=nullptr)
 Callback executed after each move is made. More...
 
void update_after_boltzmann (protocols::moves::MonteCarlo const &mc)
 Callback executed after each move is made. More...
 
void apply (core::pose::Pose &pose) override
 Callback executed after each move is made. 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...
 
- Public Member Functions inherited from protocols::canonical_sampling::ThermodynamicObserver
 ThermodynamicObserver ()
 Default constructor. More...
 
 ~ThermodynamicObserver () override
 Destructor. 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_each_job () const
 Inform the Job Distributor (August '08 vintage) whether this object needs to be freshly regenerated on each use. 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 void provide_citation_info (basic::citation_manager::CitationCollectionList &) const
 Provide citations to the passed CitationCollectionList Subclasses should add the info for themselves and any other classes they use. More...
 

Private Member Functions

void write_schema_to_db () const
 Generate the table schemas and write them to the database. More...
 
void write_cache_to_db () const
 Write any cached poses into the database, then clear the cache. More...
 
void write_model (core::pose::Pose const &pose, protocols::canonical_sampling::MetropolisHastingsMover const *mover=nullptr) override
 Append the given model to the silent file trajectory being written. More...
 

Private Attributes

core::Size job_id_
 
utility::vector1< Frameframe_cache_
 

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
 
- Static Public Member Functions inherited from protocols::canonical_sampling::TrajectoryRecorder
static void register_options ()
 Associate relevant options with the TemperedDocking class. More...
 
static void attributes_for_trajectory_recorder (utility::tag::AttributeList &)
 
- 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 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...
 

Detailed Description

Record a trajectory to an SQL database.

This class builds upon Rosetta's database framework, which means that there is support for SQLite3, MySQL and PostgreSQL. Database options must be specified on the command line (i.e. there's no API for this):

# SQLite3
-out:use_database
-inout:dbms:database_name traj.sqlite
# MySQL
-out:use_database
-inout:dbms:mode mysql
-inout:dbms:database_name ...
-inout:dbms:user ...
-inout:dbms:port ...
-inout:dbms:password ...

Constructor & Destructor Documentation

protocols::canonical_sampling::DbTrajectoryRecorder::DbTrajectoryRecorder ( )

Default constructor.

protocols::canonical_sampling::DbTrajectoryRecorder::DbTrajectoryRecorder ( core::Size  job_id)

Constructor with a job_id parameter to use as a foreign key.

protocols::canonical_sampling::DbTrajectoryRecorder::DbTrajectoryRecorder ( DbTrajectoryRecorder const &  )
default

Copy constructor.

Member Function Documentation

MoverOP protocols::canonical_sampling::DbTrajectoryRecorder::clone ( ) const
overridevirtual

Return a clone of the Mover object.

clone is meant to return an OP'ed deep copy of this object. This really should be a pure virtual in the base class, but adding pure virtuals to Mover would massively disrupt the code. This default implementation crashes at runtime instead of compiletime if you try to call it. If this code is causing you problems, your Mover needs to override this function.

Reimplemented from protocols::moves::Mover.

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

Callback executed after all Monte Carlo trials are completed.

Reimplemented from protocols::canonical_sampling::ThermodynamicObserver.

References protocols::canonical_sampling::ThermodynamicObserver::finalize_simulation(), and write_cache_to_db().

MoverOP protocols::canonical_sampling::DbTrajectoryRecorder::fresh_instance ( ) const
overridevirtual

Generates a new Mover object freshly created with the default ctor.

fresh_instance is meant to return a new object of this class, created with the default constructor. This really should be a pure virtual in the base class, but adding pure virtuals to Mover would massively disrupt the code. This default implementation crashes at runtime instead of compiletime if you try to call it. If this code is causing you problems, your Mover needs to override this function. This is used by the August 08 job distributor.

Reimplemented from protocols::moves::Mover.

string protocols::canonical_sampling::DbTrajectoryRecorder::get_name ( ) const
overridevirtual

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

Implements protocols::moves::Mover.

void protocols::canonical_sampling::DbTrajectoryRecorder::initialize_simulation ( core::pose::Pose ,
MetropolisHastingsMover const &  ,
core::Size   
)
overridevirtual

Callback executed before any Monte Carlo trials are attempted.

Reimplemented from protocols::canonical_sampling::ThermodynamicObserver.

References protocols::canonical_sampling::TrajectoryRecorder::initialize_simulation(), write_model(), and write_schema_to_db().

core::Size protocols::canonical_sampling::DbTrajectoryRecorder::job_id ( ) const
inline

Return the job id that will be used as a foreign key in the trajectory table that gets generated.

References job_id_.

Referenced by write_schema_to_db().

void protocols::canonical_sampling::DbTrajectoryRecorder::job_id ( core::Size  id)
inline

Set the job id that will be used as a foreign key in the trajectory table that gets generated.

References job_id_.

bool protocols::canonical_sampling::DbTrajectoryRecorder::restart_simulation ( core::pose::Pose pose,
MetropolisHastingsMover mover,
core::Size cycle,
core::Size temp_level,
core::Real temperature 
)
overridevirtual

Not implemented, except to complain if accidentally used.

Reimplemented from protocols::canonical_sampling::ThermodynamicObserver.

void protocols::canonical_sampling::DbTrajectoryRecorder::write_cache_to_db ( ) const
private

Write any cached poses into the database, then clear the cache.

References core::io::silent::SilentFileData::_write_silent_struct(), frame_cache_, job_id_, and protocols::hybridization::score.

Referenced by finalize_simulation(), and write_model().

void protocols::canonical_sampling::DbTrajectoryRecorder::write_model ( core::pose::Pose const &  pose,
protocols::canonical_sampling::MetropolisHastingsMover const *  mover = nullptr 
)
overrideprivatevirtual
void protocols::canonical_sampling::DbTrajectoryRecorder::write_schema_to_db ( ) const
private

Generate the table schemas and write them to the database.

References job_id(), and protocols::hybridization::score.

Referenced by initialize_simulation().

Member Data Documentation

utility::vector1<Frame> protocols::canonical_sampling::DbTrajectoryRecorder::frame_cache_
mutableprivate

Referenced by write_cache_to_db(), and write_model().

core::Size protocols::canonical_sampling::DbTrajectoryRecorder::job_id_
private

Referenced by job_id(), and write_cache_to_db().


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