Rosetta Protocols  2014.35
Public Types | Public Member Functions | Private Attributes | Friends | List of all members
protocols::jd2::Job Class Reference

#include <Job.hh>

Public Types

typedef std::list< std::stringStrings
 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)
 
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
 
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 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.

Member Typedef Documentation

TODO these should be maps rather than lists.

Constructor & Destructor Documentation

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

Referenced by copy_without_output().

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

Member Function Documentation

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

add a string/real pair

References string_real_pairs_.

Referenced by protocols::ligand_docking::InterfaceScoreCalculator::add_scores_to_job(), protocols::rosetta_scripts::ParsedProtocol::add_values_to_job(), protocols::canonical_sampling::BiasEnergy::add_values_to_job(), protocols::flexpep_docking::FlexPepDockingProtocol::addLowResStatistics(), protocols::ligand_docking::append_automorphic_rmsd(), protocols::qsar::scoring_grid::GridManager::append_cached_scores(), protocols::ligand_docking::append_interface_deltas(), protocols::ligand_docking::append_ligand_grid_scores(), protocols::ligand_docking::append_ligand_travel(), protocols::ligand_docking::append_multi_residue_ligand_RMSD(), protocols::ligand_docking::append_radius_of_gyration(), protocols::loop_build::LoopBuildMover::apply(), protocols::simple_moves::AddJobPairData::apply(), protocols::anchored_design::AnchoredDesignMover::apply(), protocols::canonical_sampling::SidechainMetropolisHastingsMover::apply(), protocols::simple_filters::ConstraintScoreCutoffFilter::apply(), protocols::ncbb::NcbbDockDesignProtocol::apply(), protocols::ncbb::oop::OopDockDesignProtocol::apply(), protocols::surface_docking::SurfaceDockingProtocol::apply(), protocols::ligand_docking::LigandDockMain::apply(), protocols::ligand_docking::Transform::apply(), protocols::symmetric_docking::SymDockProtocol::apply(), protocols::docking::DockingProtocol::apply(), protocols::rosetta_scripts::ParsedProtocol::apply_filter(), protocols::anchored_design::AnchoredDesignMover::calculate_rmsd(), protocols::floppy_tail::create_extra_output(), protocols::antibody::AntibodyModelerProtocol::echo_metrics_to_jd2(), protocols::jd2::ScreeningJobInputter::fill_jobs(), protocols::jd2::AtomTreeDiffJobInputter::fill_jobs(), protocols::canonical_sampling::TemperingBase::initialize_simulation(), protocols::features::JobDataFeatures::load_string_real_data(), protocols::canonical_sampling::mc_convergence_checks::Pool_ConvergenceCheck::operator()(), protocols::surface_docking::FullatomRelaxMover::output_solution_state(), protocols::comparative_modeling::ThreadingJobInputter::pose_from_job(), protocols::simple_filters::Operator::report_sm(), protocols::simple_filters::ShapeComplementarityFilter::report_sm(), protocols::docking::DockingPrepackProtocol::score_and_output(), protocols::canonical_sampling::TemperingBase::set_current_temp(), and protocols::flexpep_docking::FlexPepDockingProtocol::storeJobStatistics().

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

add output strings

adds output strings

References long_strings_.

Referenced by protocols::RotamerDump::RotamerDumpMover::apply(), and protocols::jd2::JobDistributor::go_main().

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

References inner_job_.

Referenced by to_do().

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_, Job(), and nstruct_index_.

Referenced by protocols::jd2::JobDistributor::clear_current_job_output(), and get_pose().

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 ( ) const
inline
StringStringPairs protocols::jd2::Job::get_string_string_pairs ( ) const
inline
Strings protocols::jd2::Job::get_strings ( ) const
inline

References long_strings_.

InnerJobCOP protocols::jd2::Job::inner_job ( ) const
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_.

Referenced by protocols::jd2::Parser::generate_mover_from_job(), and protocols::jd2::JobInputter::load_pose_into_job().

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

return the input tag (a short string, generally)

References inner_job_.

Referenced by protocols::loop_build::LoopBuildMover::apply(), protocols::frag_picker::nonlocal::NonlocalFrags::apply(), protocols::protein_interface_design::movers::InterfaceRecapitulationMover::apply(), protocols::protein_interface_design::filters::FilterScanFilter::apply(), protocols::protein_interface_design::movers::DockWithHotspotMover::apply(), protocols::ligand_docking::StartFrom::apply(), protocols::features::ReportToDB::ensure_structure_tags_are_ready(), protocols::jd2::Parser::generate_mover_from_job(), protocols::jd2::JD2ResourceManager::get_option(), protocols::jd2::JD2ResourceManager::get_resource(), protocols::jd2::JobDistributor::go_main(), protocols::jd2::JD2ResourceManager::has_option(), protocols::simple_moves::SequenceProfileMover::parse_my_tag(), protocols::jd2::LazySilentFileJobInputter::pose_from_job(), protocols::jd2::ScreeningJobInputter::pose_from_job(), protocols::protein_interface_design::ParserJobInputter::pose_from_job(), protocols::jd2::PDBJobInputter::pose_from_job(), protocols::enzdes::EnzdesJobInputter::pose_from_job(), protocols::make_rot_lib::MakeRotLibJobInputter::pose_from_job(), protocols::jd2::SilentFileJobInputter::pose_from_job(), protocols::jd2::AtomTreeDiffJobInputter::pose_from_job(), protocols::features::DatabaseJobInputter::pose_from_job(), protocols::jd2::JD2ResourceManagerJobInputter::pose_from_job(), protocols::jd2::MPIFileBufJobDistributor::process_message(), and protocols::rotamer_recovery::RRReporterSQLite::report_rotamer_recovery_full().

core::Size protocols::jd2::Job::nstruct_index ( ) const
core::Size protocols::jd2::Job::nstruct_max ( ) const
Job::StringRealPairs::const_iterator protocols::jd2::Job::output_string_real_pairs_begin ( ) const
Job::StringRealPairs::const_iterator protocols::jd2::Job::output_string_real_pairs_end ( ) const
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::set_bad ( bool  value = true)

References inner_job_.

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

References completed_.

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

References status_prefix_.

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::completed_
private

container of evaluators

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)

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(), 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().

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(), 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

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

Referenced by add_string_string_pair(), get_string_string_pairs(), 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: