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

#include <Job.hh>

Inheritance diagram for protocols::jd2::Job:
Inheritance graph
[legend]

Public Types

typedef std::list< std::string > Strings
 TODO these should be maps rather than lists. More...
 
typedef std::map< std::string,
std::string > 
StringStringPairs
 
typedef std::map< std::string,
core::Real
StringRealPairs
 

Public Member Functions

 Job (InnerJobOP inner_job, core::Size nstruct_index)
 
 Job (Job const &src)
 Copy constructor. More...
 
JobOP copy_without_output () const
 returns a copy of this object whose "output fields" are zeroed out. Used by the JobDistributor in cases where the job fails and must be retried to prevent accumulation of Job state after a failure. This implementation was chosen over a clear_all_output function to prevent mover A from deleting mover B's hard work! You probably should not be trying to call this function. The exception: If you want an intermediate-output pose (not the final pose) to not have the aggregated accessory data in the "real" Job object. More...
 
JobOP clone () const
 Return an owning pointer to a copy of this object. More...
 
 ~Job () override
 
virtual void show (std::ostream &out) const
 
InnerJobCOP inner_job () const
 access to inner-job ... use is discouraged - use sparingly! — DO NOT use my_job->inner_job()->get_pose() INSTEAD use my_job->get_pose() More...
 
std::string const & input_tag () const
 return the input tag (a short string, generally) More...
 
InnerJobOP inner_job_nonconst ()
 nonconst access is intended only for the JobInputter to load poses into the InnerJob, and the Parser to add constraints, and the JobDistributor to delete completed inputs (recycle memory) More...
 
core::pose::PoseCOP get_pose () const
 get_pose : will return More...
 
void get_pose (core::pose::Pose &) const
 in-place copy of input pose More...
 
core::Size nstruct_index () const
 
core::Size nstruct_max () const
 
void add_string (std::string const &string_in)
 add an output string More...
 
void add_strings (Strings const &)
 add output strings More...
 
void add_string_string_pair (std::string const &string1, std::string const &string2)
 add a string/string pair More...
 
void add_string_real_pair (std::string const &string_in, core::Real const real_in)
 add a string/real pair More...
 
void clear_output ()
 Delete the output strings, string/string pairs, and string/real pairs. More...
 
Stringsget_strings ()
 
StringStringPairsget_string_string_pairs ()
 
StringRealPairsget_string_real_pairs ()
 
Strings::const_iterator output_strings_begin () const
 
Strings::const_iterator output_strings_end () const
 
StringStringPairs::const_iterator output_string_string_pairs_begin () const
 
StringStringPairs::const_iterator output_string_string_pairs_end () const
 
StringRealPairs::const_iterator output_string_real_pairs_begin () const
 
StringRealPairs::const_iterator output_string_real_pairs_end () const
 
Strings get_strings () const
 
StringStringPairs get_string_string_pairs () const
 
StringRealPairs get_string_real_pairs () const
 
void set_status_prefix (std::string prefix)
 
std::string const & status_prefix () const
 
bool completed () const
 
bool to_do () const
 
bool can_be_deleted () const
 Returns true iff this job can be deleted to free up memory. More...
 
bool bad () const
 
core::Size start_time () const
 
core::Size end_time () const
 
core::Size elapsed_time () const
 
std::string timestamp () const
 
void set_completed (bool value=true)
 
void set_can_be_deleted (bool value=true)
 Set whether this job can be deleted to free up memory. More...
 
void set_bad (bool value=true)
 
void start_timing ()
 
void end_timing ()
 
void add_output_observer (JobOutputterObserverAP an_observer)
 
void remove_output_observer (JobOutputterObserverAP old_observer)
 
void call_output_observers (core::pose::Pose const &pose)
 

Private Types

typedef std::set
< JobOutputterObserverAP,
utility::pointer::owner_less
< JobOutputterObserverAP > > 
JobOutputterObservers
 

Private Attributes

InnerJobOP inner_job_
 a pointer to the "heavy" InnerJob which maintains the starting pose for the job (shared across nstruct) More...
 
core::Size const nstruct_index_
 which nstruct is this? More...
 
std::string status_prefix_
 
Strings long_strings_
 the following block of data makes the Job class pretty heavy. If we create thousands of Jobs this can be a problem... More...
 
StringStringPairs string_string_pairs_
 string-string pairs. Inserted into SCORE: lines in scorefiles/silentfiles. More...
 
StringRealPairs string_real_pairs_
 string-real pairs (scoretype/score pairs). Inserted into SCORE: lines in scorefiles/silentfiles More...
 
bool completed_
 container of evaluators More...
 
bool can_be_deleted_
 Can the job be deleted? Used by the LargeNstructJobDistributor to determine which jobs can be removed to free up memory. More...
 
core::Size start_time_
 
core::Size end_time_
 
std::string timestamp_
 
JobOutputterObservers output_observers_
 

Friends

bool operator== (Job const &a, Job const &b)
 Note: only compare if the pointers to the poses are to the same location. More...
 
bool operator!= (Job const &a, Job const &b)
 
std::ostream & operator<< (std::ostream &out, const Job &job)
 

Detailed Description

The Job class is directly used by the job distributor. It contains an index into nstruct and a lightweight pointer to an InnerJob (to share those heavier classes). It also directly contains job-associated output data. The idea here is that your scores, etc are associated with the job, not with a particular pose within that running job. Thus, the Job object is a better place to store them than the pose.

Member Typedef Documentation

typedef std::set< JobOutputterObserverAP, utility::pointer::owner_less< JobOutputterObserverAP > > protocols::jd2::Job::JobOutputterObservers
private
typedef std::map< std::string, core::Real > protocols::jd2::Job::StringRealPairs
typedef std::list< std::string > protocols::jd2::Job::Strings

TODO these should be maps rather than lists.

typedef std::map< std::string, std::string > protocols::jd2::Job::StringStringPairs

Constructor & Destructor Documentation

protocols::jd2::Job::Job ( InnerJobOP  inner_job,
core::Size  nstruct_index 
)
protocols::jd2::Job::Job ( Job const &  src)

Copy constructor.

protocols::jd2::Job::~Job ( )
overridedefault

Member Function Documentation

void protocols::jd2::Job::add_output_observer ( JobOutputterObserverAP  an_observer)

References output_observers_.

void protocols::jd2::Job::add_string ( std::string const &  string_in)

add an output string

References long_strings_.

void protocols::jd2::Job::add_string_real_pair ( std::string const &  string_in,
core::Real const  real_in 
)
void protocols::jd2::Job::add_string_string_pair ( std::string const &  string1,
std::string const &  string2 
)

add a string/string pair

References string_string_pairs_.

void protocols::jd2::Job::add_strings ( Strings const &  strings)

add output strings

adds output strings

References long_strings_.

bool protocols::jd2::Job::bad ( ) const

References inner_job_.

Referenced by to_do().

void protocols::jd2::Job::call_output_observers ( core::pose::Pose const &  pose)

References output_observers_.

bool protocols::jd2::Job::can_be_deleted ( ) const
inline

Returns true iff this job can be deleted to free up memory.

Should only be true if the job has completed, is bad, or has failed.

References can_be_deleted_.

void protocols::jd2::Job::clear_output ( )

Delete the output strings, string/string pairs, and string/real pairs.

References long_strings_, string_real_pairs_, and string_string_pairs_.

JobOP protocols::jd2::Job::clone ( ) const

Return an owning pointer to a copy of this object.

bool protocols::jd2::Job::completed ( ) const
inline

References completed_.

JobOP protocols::jd2::Job::copy_without_output ( ) const

returns a copy of this object whose "output fields" are zeroed out. Used by the JobDistributor in cases where the job fails and must be retried to prevent accumulation of Job state after a failure. This implementation was chosen over a clear_all_output function to prevent mover A from deleting mover B's hard work! You probably should not be trying to call this function. The exception: If you want an intermediate-output pose (not the final pose) to not have the aggregated accessory data in the "real" Job object.

returns a copy of this object whose "output fields" are zeroed out. Used by the JobDistributor in cases where the job fails and must be retried to prevent accumulation of Job state after a failure. This implementation was chosen over a clear_all_output function to prevent mover A from deleting mover B's hard work! You probably should not be trying to call this function.

References inner_job_, and nstruct_index_.

Referenced by get_pose().

core::Size protocols::jd2::Job::elapsed_time ( ) const

References end_time_, and start_time_.

core::Size protocols::jd2::Job::end_time ( ) const

References end_time_.

void protocols::jd2::Job::end_timing ( )

References end_time_, and start_time_.

core::pose::PoseCOP protocols::jd2::Job::get_pose ( ) const
void protocols::jd2::Job::get_pose ( core::pose::Pose pose) const
StringRealPairs& protocols::jd2::Job::get_string_real_pairs ( )
inline

References string_real_pairs_.

StringRealPairs protocols::jd2::Job::get_string_real_pairs ( ) const
inline

References string_real_pairs_.

StringStringPairs& protocols::jd2::Job::get_string_string_pairs ( )
inline

References string_string_pairs_.

StringStringPairs protocols::jd2::Job::get_string_string_pairs ( ) const
inline

References string_string_pairs_.

Strings& protocols::jd2::Job::get_strings ( )
inline

References long_strings_.

Strings protocols::jd2::Job::get_strings ( ) const
inline

References long_strings_.

InnerJobCOP protocols::jd2::Job::inner_job ( ) const

access to inner-job ... use is discouraged - use sparingly! — DO NOT use my_job->inner_job()->get_pose() INSTEAD use my_job->get_pose()

References inner_job_.

InnerJobOP protocols::jd2::Job::inner_job_nonconst ( )

nonconst access is intended only for the JobInputter to load poses into the InnerJob, and the Parser to add constraints, and the JobDistributor to delete completed inputs (recycle memory)

References inner_job_.

std::string const & protocols::jd2::Job::input_tag ( ) const

return the input tag (a short string, generally)

References inner_job_.

core::Size protocols::jd2::Job::nstruct_index ( ) const

References nstruct_index_.

core::Size protocols::jd2::Job::nstruct_max ( ) const

References inner_job_.

Job::StringRealPairs::const_iterator protocols::jd2::Job::output_string_real_pairs_begin ( ) const

References string_real_pairs_.

Job::StringRealPairs::const_iterator protocols::jd2::Job::output_string_real_pairs_end ( ) const

References string_real_pairs_.

Job::StringStringPairs::const_iterator protocols::jd2::Job::output_string_string_pairs_begin ( ) const

References string_string_pairs_.

Job::StringStringPairs::const_iterator protocols::jd2::Job::output_string_string_pairs_end ( ) const

References string_string_pairs_.

Job::Strings::const_iterator protocols::jd2::Job::output_strings_begin ( ) const

References long_strings_.

Job::Strings::const_iterator protocols::jd2::Job::output_strings_end ( ) const

References long_strings_.

void protocols::jd2::Job::remove_output_observer ( JobOutputterObserverAP  old_observer)

References output_observers_.

void protocols::jd2::Job::set_bad ( bool  value = true)

References can_be_deleted_, and inner_job_.

void protocols::jd2::Job::set_can_be_deleted ( bool  value = true)
inline

Set whether this job can be deleted to free up memory.

References can_be_deleted_.

void protocols::jd2::Job::set_completed ( bool  value = true)
inline

References can_be_deleted_, and completed_.

void protocols::jd2::Job::set_status_prefix ( std::string  prefix)
inline

References status_prefix_.

void protocols::jd2::Job::show ( std::ostream &  out) const
virtual
core::Size protocols::jd2::Job::start_time ( ) const

References start_time_.

void protocols::jd2::Job::start_timing ( )

References end_time_, start_time_, and timestamp_.

std::string const& protocols::jd2::Job::status_prefix ( ) const
inline

References status_prefix_.

std::string protocols::jd2::Job::timestamp ( ) const

References timestamp_.

bool protocols::jd2::Job::to_do ( ) const
inline

References bad(), and completed_.

Friends And Related Function Documentation

bool operator!= ( Job const &  a,
Job const &  b 
)
friend
std::ostream& operator<< ( std::ostream &  out,
const Job job 
)
friend
bool operator== ( Job const &  a,
Job const &  b 
)
friend

Note: only compare if the pointers to the poses are to the same location.

Member Data Documentation

bool protocols::jd2::Job::can_be_deleted_
private

Can the job be deleted? Used by the LargeNstructJobDistributor to determine which jobs can be removed to free up memory.

False by default. True if the job has failed, is bad, or is completed.

Referenced by can_be_deleted(), protocols::jd2::operator==(), set_bad(), set_can_be_deleted(), set_completed(), and show().

bool protocols::jd2::Job::completed_
private

container of evaluators

Referenced by completed(), protocols::jd2::operator==(), set_completed(), show(), and to_do().

core::Size protocols::jd2::Job::end_time_
private
InnerJobOP protocols::jd2::Job::inner_job_
private

a pointer to the "heavy" InnerJob which maintains the starting pose for the job (shared across nstruct)

Referenced by bad(), copy_without_output(), get_pose(), inner_job(), inner_job_nonconst(), input_tag(), nstruct_max(), protocols::jd2::operator==(), set_bad(), and show().

Strings protocols::jd2::Job::long_strings_
private

the following block of data makes the Job class pretty heavy. If we create thousands of Jobs this can be a problem...

used for arbitrary string data (stuff you've preformatted). Intended to be appended to the end of a PDB or dumped to a tracer if not in a PDB output mode.

Referenced by add_string(), add_strings(), clear_output(), get_strings(), protocols::jd2::operator==(), output_strings_begin(), output_strings_end(), and show().

core::Size const protocols::jd2::Job::nstruct_index_
private

which nstruct is this?

Referenced by copy_without_output(), nstruct_index(), protocols::jd2::operator==(), and show().

JobOutputterObservers protocols::jd2::Job::output_observers_
private
core::Size protocols::jd2::Job::start_time_
private
std::string protocols::jd2::Job::status_prefix_
private
StringRealPairs protocols::jd2::Job::string_real_pairs_
private

string-real pairs (scoretype/score pairs). Inserted into SCORE: lines in scorefiles/silentfiles

Referenced by add_string_real_pair(), clear_output(), get_string_real_pairs(), protocols::jd2::operator==(), output_string_real_pairs_begin(), output_string_real_pairs_end(), and show().

StringStringPairs protocols::jd2::Job::string_string_pairs_
private
std::string protocols::jd2::Job::timestamp_
private

Referenced by start_timing(), and timestamp().


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