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

protocols::jd3::LarvalJob, which is initialized by the JobQueen, during its intitialize_job_list method, is an immature form of the. It is matured into a Job that can be run by the JobQueen's mature_job method. A LarvalJob may be one of several LarvalJobs that have the same inputs, but differ in their random number seed (i.e. replicates); two jobs that share the same input are meant to point to the same "InnerLarvalJob" to avoid spending too much memory representing identical data. More...

#include <LarvalJob.hh>

Inheritance diagram for protocols::jd3::LarvalJob:
Inheritance graph
[legend]

Public Member Functions

 LarvalJob (InnerLarvalJobOP inner_job, NStructIndex nstruct_index, core::Size job_index)
 
 ~LarvalJob () override
 
virtual bool operator== (LarvalJob const &rhs) const
 Are these two jobs equivalent? (It does not ask if they are equal). Used for the sake of identifying bad jobs. This method ignores the nstruct_index_, which is unlikely to be equal, and should instead focus on the data that determines how a job would run. If the two jobs share identical input files and parameters (besides the random number seed), then they should be considered equivalent. Derived LarvalJob objects should invoke the base class's version of this function. More...
 
virtual bool operator!= (LarvalJob const &rhs) const
 
virtual void show (std::ostream &out) const
 
InnerLarvalJobCOP inner_job () const
 read access to the inner-job More...
 
InnerLarvalJobOP nonconst_inner_job () const
 write access to the inner-job; this should be reserved for the JobQueen only as she edits the inner job during its construction More...
 
std::string input_tag () const
 The input tag (a short string, generally), is used to specify the input structure, but is not a complete description of the LarvalJob, and certainly not the identifier with which to identify output structures. More...
 
std::string job_tag () const
 The job tag is a combination of the input tag and any other data that the JobQueen uses to describe the job, or that has been provided by the user in the job-definition XML file. More...
 
std::string job_tag_with_index_suffix (JobOutputIndex const &output_index, core::Size const min_digits=4) const
 For output purposes, construct a string for a particular output of this job given a JobOutputIndex. More...
 
NStructIndex nstruct_index () const
 The index used to identify which job this is out of many that have identical inputs but different random number seeds (controlled by the command-line flag "nstruct") More...
 
core::Size nstruct_max () const
 The total number of jobs with the same inputs, but different random number seeds. More...
 
GlobalJobID job_index () const
 The "global" index for this job among all jobs created by the JobQueen. More...
 
core::Size job_node () const
 What is the Job Node for this LarvalJob? Returned from the InnerLarvalJob. More...
 
utility::vector1< JobResultID >
const & 
input_job_result_indices () const
 The list of the JobResults required to mature this LarvalJob, by global index of the already-executed (Lavral)Jobs and the result_index for that job. More...
 
void set_status_prefix (std::string const &prefix)
 
void set_status_suffix (std::string const &suffix)
 
std::string const & status_prefix () const
 
std::string const & status_suffix () const
 
bool completed () const
 
bool to_do () const
 
bool bad () const
 
bool defines_retry_limit () const
 
core::Size retry_limit () const
 
void completed (bool setting)
 
void bad (bool setting)
 
void retry_limit (core::Size setting)
 

Private Attributes

InnerLarvalJobOP inner_job_
 a pointer to the "heavy" InnerLarvalJob which maintains the data in common with all of the LarvalJobs (that themselves differ only in their nstruct index). More...
 
NStructIndex nstruct_index_
 which nstruct is this for the given InnerLarvalJob More...
 
GlobalJobID job_index_
 What is the unique global index for this job? Every LarvalJob created by the JobQueen must be assigned a unique index. More...
 
std::string status_prefix_
 string giving a brief indication for whether or not the job has failed (but for when the structure generated by this job should none the less be written as output). More...
 
std::string status_suffix_
 string giving a brief indication for whether or not the job has failed (but for when the structure generated by this job should none the less be written as output). More...
 
bool completed_
 
bool bad_
 
bool defines_retry_limit_
 
core::Size retry_limit_
 

Detailed Description

protocols::jd3::LarvalJob, which is initialized by the JobQueen, during its intitialize_job_list method, is an immature form of the. It is matured into a Job that can be run by the JobQueen's mature_job method. A LarvalJob may be one of several LarvalJobs that have the same inputs, but differ in their random number seed (i.e. replicates); two jobs that share the same input are meant to point to the same "InnerLarvalJob" to avoid spending too much memory representing identical data.

Note that in JD2, the currently running Job was globally accessible. That is not the case in JD3. Any data that should be output by a running job must be tucked by a Mover inside the JobOutputData to be eventually retrieved by the JobQueen or by a JobDataOutputter at the end of execution.

Constructor & Destructor Documentation

protocols::jd3::LarvalJob::LarvalJob ( InnerLarvalJobOP  inner_job,
NStructIndex  nstruct_index,
core::Size  job_index 
)
protocols::jd3::LarvalJob::~LarvalJob ( )
overridedefault

Member Function Documentation

bool protocols::jd3::LarvalJob::bad ( ) const

References bad_.

void protocols::jd3::LarvalJob::bad ( bool  setting)

References bad_.

bool protocols::jd3::LarvalJob::completed ( ) const

References completed_.

void protocols::jd3::LarvalJob::completed ( bool  setting)

References completed_.

bool protocols::jd3::LarvalJob::defines_retry_limit ( ) const

References defines_retry_limit_.

InnerLarvalJobCOP protocols::jd3::LarvalJob::inner_job ( ) const
utility::vector1< JobResultID > const & protocols::jd3::LarvalJob::input_job_result_indices ( ) const

The list of the JobResults required to mature this LarvalJob, by global index of the already-executed (Lavral)Jobs and the result_index for that job.

References inner_job_.

std::string protocols::jd3::LarvalJob::input_tag ( ) const

The input tag (a short string, generally), is used to specify the input structure, but is not a complete description of the LarvalJob, and certainly not the identifier with which to identify output structures.

References inner_job_.

GlobalJobID protocols::jd3::LarvalJob::job_index ( ) const

The "global" index for this job among all jobs created by the JobQueen.

References job_index_.

Referenced by protocols::jd3::JobTracker::track_completed_job().

core::Size protocols::jd3::LarvalJob::job_node ( ) const

What is the Job Node for this LarvalJob? Returned from the InnerLarvalJob.

References inner_job_.

Referenced by protocols::jd3::JobTracker::track_completed_job().

std::string protocols::jd3::LarvalJob::job_tag ( ) const

The job tag is a combination of the input tag and any other data that the JobQueen uses to describe the job, or that has been provided by the user in the job-definition XML file.

References inner_job_.

std::string protocols::jd3::LarvalJob::job_tag_with_index_suffix ( JobOutputIndex const &  output_index,
core::Size const  min_digits = 4 
) const
InnerLarvalJobOP protocols::jd3::LarvalJob::nonconst_inner_job ( ) const

write access to the inner-job; this should be reserved for the JobQueen only as she edits the inner job during its construction

References inner_job_.

NStructIndex protocols::jd3::LarvalJob::nstruct_index ( ) const

The index used to identify which job this is out of many that have identical inputs but different random number seeds (controlled by the command-line flag "nstruct")

References nstruct_index_.

Referenced by protocols::jd3::pose_outputters::PDBPoseOutputter::output_name().

core::Size protocols::jd3::LarvalJob::nstruct_max ( ) const

The total number of jobs with the same inputs, but different random number seeds.

References inner_job_.

Referenced by protocols::jd3::pose_outputters::PDBPoseOutputter::output_name().

bool protocols::jd3::LarvalJob::operator!= ( LarvalJob const &  rhs) const
virtual
bool protocols::jd3::LarvalJob::operator== ( LarvalJob const &  rhs) const
virtual

Are these two jobs equivalent? (It does not ask if they are equal). Used for the sake of identifying bad jobs. This method ignores the nstruct_index_, which is unlikely to be equal, and should instead focus on the data that determines how a job would run. If the two jobs share identical input files and parameters (besides the random number seed), then they should be considered equivalent. Derived LarvalJob objects should invoke the base class's version of this function.

Are two larval jobs equivalent? This ignores the data that describes the status of the job's execution. Intentionally ignored data members include: nstruct_index_, status_prefix_, completed_, and bad_

References inner_job_.

core::Size protocols::jd3::LarvalJob::retry_limit ( ) const

References retry_limit_.

void protocols::jd3::LarvalJob::retry_limit ( core::Size  setting)
void protocols::jd3::LarvalJob::set_status_prefix ( std::string const &  prefix)

References status_prefix_.

void protocols::jd3::LarvalJob::set_status_suffix ( std::string const &  suffix)

References status_suffix_.

void protocols::jd3::LarvalJob::show ( std::ostream &  out) const
virtual
std::string const & protocols::jd3::LarvalJob::status_prefix ( ) const
std::string const & protocols::jd3::LarvalJob::status_suffix ( ) const
bool protocols::jd3::LarvalJob::to_do ( ) const

References bad_, and completed_.

Member Data Documentation

bool protocols::jd3::LarvalJob::bad_
private

Referenced by bad(), and to_do().

bool protocols::jd3::LarvalJob::completed_
private

Referenced by completed(), and to_do().

bool protocols::jd3::LarvalJob::defines_retry_limit_
private

Referenced by defines_retry_limit(), and retry_limit().

InnerLarvalJobOP protocols::jd3::LarvalJob::inner_job_
private

a pointer to the "heavy" InnerLarvalJob which maintains the data in common with all of the LarvalJobs (that themselves differ only in their nstruct index).

Referenced by inner_job(), input_job_result_indices(), input_tag(), job_node(), job_tag(), job_tag_with_index_suffix(), nonconst_inner_job(), nstruct_max(), and operator==().

GlobalJobID protocols::jd3::LarvalJob::job_index_
private

What is the unique global index for this job? Every LarvalJob created by the JobQueen must be assigned a unique index.

Referenced by job_index().

NStructIndex protocols::jd3::LarvalJob::nstruct_index_
private

which nstruct is this for the given InnerLarvalJob

Referenced by nstruct_index().

core::Size protocols::jd3::LarvalJob::retry_limit_
private

Referenced by retry_limit().

std::string protocols::jd3::LarvalJob::status_prefix_
private

string giving a brief indication for whether or not the job has failed (but for when the structure generated by this job should none the less be written as output).

Referenced by set_status_prefix(), and status_prefix().

std::string protocols::jd3::LarvalJob::status_suffix_
private

string giving a brief indication for whether or not the job has failed (but for when the structure generated by this job should none the less be written as output).

Referenced by set_status_suffix(), and status_suffix().


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