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

#include <Job.hh>

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

Public Types

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

Public Member Functions

 Job (InnerJobOP inner_job, core::Size nstruct_index)
 
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...
 
virtual ~Job ()
 
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...
 
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
 
void set_status_prefix (std::string prefix)
 
std::string const & status_prefix () const
 
bool completed () const
 
bool to_do () const
 
bool bad () const
 
void set_completed (bool value=true)
 
void set_bad (bool value=true)
 

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...
 

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.

Definition at line 45 of file Job.hh.

Member Typedef Documentation

typedef std::map< std::string, core::Real > protocols::jd2::Job::StringRealPairs

Definition at line 52 of file Job.hh.

typedef std::list< std::string > protocols::jd2::Job::Strings

TODO these should be maps rather than lists.

Definition at line 50 of file Job.hh.

typedef std::list< std::pair< std::string, std::string > > protocols::jd2::Job::StringStringPairs

Definition at line 51 of file Job.hh.

Constructor & Destructor Documentation

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

Definition at line 45 of file Job.cc.

Referenced by copy_without_output().

protocols::jd2::Job::~Job ( )
virtual

Definition at line 54 of file Job.cc.

Member Function Documentation

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

add an output string

Definition at line 77 of file Job.cc.

References long_strings_.

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

add a string/real pair

Definition at line 93 of file Job.cc.

References string_real_pairs_.

void protocols::jd2::Job::add_string_string_pair ( std::string const &  string1,
std::string const &  string2 
)

add a string/string pair

Definition at line 88 of file Job.cc.

References string_string_pairs_.

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

add output strings

adds output strings

Definition at line 82 of file Job.cc.

References long_strings_.

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

Definition at line 158 of file Job.cc.

References inner_job_.

Referenced by to_do().

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

Definition at line 155 of file Job.hh.

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.

Definition at line 57 of file Job.cc.

References inner_job_, Job(), and nstruct_index_.

Referenced by get_pose().

core::pose::PoseCOP protocols::jd2::Job::get_pose ( ) const

get_pose : will return

return a COP to the input pose

Definition at line 98 of file Job.cc.

References copy_without_output(), protocols::jd2::JobDistributor::get_instance(), inner_job_, and protocols::jd2::JobDistributor::job_inputter().

void protocols::jd2::Job::get_pose ( core::pose::Pose pose) const
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()

Definition at line 61 of file Job.cc.

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)

Definition at line 67 of file Job.cc.

References inner_job_.

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

return the input tag (a short string, generally)

Definition at line 63 of file Job.cc.

References inner_job_.

Referenced by protocols::jd2::JD2ResourceManager::get_option(), and protocols::jd2::JD2ResourceManager::has_option().

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

Definition at line 69 of file Job.cc.

References nstruct_index_.

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

Definition at line 71 of file Job.cc.

References inner_job_.

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

Definition at line 151 of file Job.cc.

References string_real_pairs_.

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

Definition at line 154 of file Job.cc.

References string_real_pairs_.

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

Definition at line 145 of file Job.cc.

References string_string_pairs_.

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

Definition at line 148 of file Job.cc.

References string_string_pairs_.

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

Definition at line 139 of file Job.cc.

References long_strings_.

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

Definition at line 142 of file Job.cc.

References long_strings_.

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

Definition at line 162 of file Job.cc.

References inner_job_.

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

Definition at line 165 of file Job.hh.

References completed_.

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

Definition at line 147 of file Job.hh.

References status_prefix_.

void protocols::jd2::Job::show ( std::ostream &  out) const
virtual
std::string const& protocols::jd2::Job::status_prefix ( ) const
inline

Definition at line 151 of file Job.hh.

References status_prefix_.

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

Definition at line 159 of file Job.hh.

References bad(), and completed_.

Friends And Related Function Documentation

bool operator!= ( Job const &  a,
Job const &  b 
)
friend

Definition at line 186 of file Job.cc.

std::ostream& operator<< ( std::ostream &  out,
const Job job 
)
friend

Definition at line 239 of file Job.cc.

bool operator== ( Job const &  a,
Job const &  b 
)
friend

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

Definition at line 170 of file Job.cc.

Member Data Documentation

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

container of evaluators

Definition at line 195 of file Job.hh.

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

InnerJobOP protocols::jd2::Job::inner_job_
private

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

Definition at line 175 of file Job.hh.

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.

Definition at line 186 of file Job.hh.

Referenced by add_string(), add_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?

Definition at line 177 of file Job.hh.

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

std::string protocols::jd2::Job::status_prefix_
private

Definition at line 179 of file Job.hh.

Referenced by protocols::jd2::operator==(), set_status_prefix(), show(), and status_prefix().

StringRealPairs protocols::jd2::Job::string_real_pairs_
private

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

Definition at line 190 of file Job.hh.

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

StringStringPairs protocols::jd2::Job::string_string_pairs_
private

string-string pairs. Inserted into SCORE: lines in scorefiles/silentfiles.

Definition at line 188 of file Job.hh.

Referenced by add_string_string_pair(), protocols::jd2::operator==(), output_string_string_pairs_begin(), output_string_string_pairs_end(), and show().


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