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

#include <wwPDBJobOutputter.hh>

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

Public Types

typedef
protocols::jd2::FileJobOutputter 
parent
 
- Public Types inherited from protocols::jd2::FileJobOutputter
typedef
protocols::jd2::JobOutputter 
parent
 

Public Member Functions

 wwPDBJobOutputter ()
 
 ~wwPDBJobOutputter () override
 
void final_pose (JobOP job, core::pose::Pose const &pose, std::string const &tag) override
 this function outputs the final result of a job. This implementation will write a wwPDB-format file (plus scores). It calls a pure virtual so that child classes can write PDB or mmCIF format. More...
 
void other_pose (JobOP job, core::pose::Pose const &pose, std::string const &tag, int copy_count=-1, bool score_only=false) override
 this function is intended for saving mid-protocol poses; for example the final centroid structure in a combined centroid/fullatom protocol. This implementation will write a wwPDB-format file (plus scores). It calls a pure virtual so that child classes can write PDB or mmCIF format. More...
 
bool job_has_completed (JobCOP job) override
 this function is not used for output, but it belongs here since it needs to check the same output locations as the class normally writes to. This class checks wherever output goes to see if the job's expected output already exists (on disk or whatever). This is the most basic form of checkpointing. The base implementation looks for a pdb/cif with the job's name already in existence. More...
 
std::string output_name (JobCOP job) override
 this is the master function for determining the unique output identifier for a job More...
 
- Public Member Functions inherited from protocols::jd2::FileJobOutputter
 FileJobOutputter ()
 
 ~FileJobOutputter () override
 
void set_defaults ()
 
void file (JobCOP job, std::string const &data) override
 this function takes a string and writes it to disk (separately from Tracer output). More...
 
utility::file::FileName const & scorefile_name ()
 
bool write_scorefile () const
 
- Public Member Functions inherited from protocols::jd2::JobOutputter
 JobOutputter ()
 constructor – reads cmd-line to initialize evaluators More...
 
 ~JobOutputter () override
 
virtual void flush ()
 this function is meant to be redefined in child classes to allow for flushing of memory buffers. Here's the long version: The SilentFileJobOutputter wanted to buffer output, but needed to guaruntee that the output would be flushed at end of runtime. The original implementation was to A) bend over backward to ensure that the destructor was run (JobOutputter lives inside static JobDistributor, which was previously not destructed because it's static) and B) flush the buffers in the destructor. This caused a problem because the buffer-flushing tried to use the Tracers, which had already been destructed...boom crash. More...
 
virtual void starting_pose (core::pose::Pose const &)
 optionally pass a starting (reference) pose to a JobOutputter for later comparison purposes and/or as interface for initializing evaluators More...
 
virtual std::string filename (JobCOP) const
 
void add_evaluation (evaluation::PoseEvaluatorOP)
 
void set_evaluators (evaluation::PoseEvaluators const &)
 
void clear_evaluators ()
 clear the list of evaluators More...
 
evaluation::PoseEvaluatorsCOP evaluators () const
 
void evaluate (core::pose::Pose &pose, std::string tag, core::io::silent::SilentStruct &pss) const
 
void call_output_observers (core::pose::Pose const &pose, JobOP job) const
 call all output_observers More...
 
void set_defaults ()
 clear the list of evaluators More...
 

Protected Member Functions

virtual std::string extended_name (JobCOP job, std::string const &suffix="")
 this private function provides the extended name, not just the output name. e.g output_name returns 1UBQ_0001, this returns 1UBQ_0001.pdb or 1UBQ_0001.cif. More...
 
virtual std::string extract_data_from_Job (JobCOP job)
 this function extracts the pose's scores and outputs them as a string to be packaged in an output structure. More...
 
virtual void dump_pose (JobCOP job, core::pose::Pose const &pose, utility::io::ozstream &out, std::string const &filename)=0
 This pure virtual is implemented by child functions to actually write a file - this is where mmCIF and PDB output differ. More...
 
void set_path (std::string const &path)
 setter for output file paths, in case child class needs to override -out:path:all with -out:path:[PDB/mmCIF] More...
 
std::string const & get_path ()
 getter for output file path More...
 
void set_extension (std::string const &extension)
 setter for output file extensions, child class must set More...
 
std::string const & get_extension ()
 getter for output file extension More...
 
- Protected Member Functions inherited from protocols::jd2::FileJobOutputter
virtual void scorefile (JobCOP job, core::pose::Pose const &pose, std::string prefix_tag="", std::string suffix_tag="", std::string scorefile="")
 this function will handle the scorefile. If you need to make it virtual do so. Latter two arguments are for redirecting the output to a different scorefile for "other_pose"s. Also adds StringReal job info to the score file. More...
 
- Protected Member Functions inherited from protocols::jd2::JobOutputter
std::string affixed_numbered_name (JobCOP job)
 this function generates the affixed, numbered name for the job as prefix + input + suffix + number (affixes from options system). This function is deliberately not virtual, this should be a common mechanism; your JobOutputter can not call it if it would like. More...
 

Private Attributes

std::string path_
 
std::string extension_
 

Detailed Description

this simplest implementation of JobOutputter outputs raw wwPDBs and associated files, uncompressed.

Member Typedef Documentation

Constructor & Destructor Documentation

protocols::jd2::wwPDBJobOutputter::wwPDBJobOutputter ( )
protocols::jd2::wwPDBJobOutputter::~wwPDBJobOutputter ( )
overridedefault

Member Function Documentation

virtual void protocols::jd2::wwPDBJobOutputter::dump_pose ( JobCOP  job,
core::pose::Pose const &  pose,
utility::io::ozstream &  out,
std::string const &  filename 
)
protectedpure virtual

This pure virtual is implemented by child functions to actually write a file - this is where mmCIF and PDB output differ.

Implemented in protocols::jd2::PDBJobOutputter, protocols::jd2::mmCIFJobOutputter, protocols::jd2::mmtfJobOutputter, and protocols::jd2::SerializedPoseJobOutputter.

Referenced by final_pose(), and other_pose().

std::string protocols::jd2::wwPDBJobOutputter::extended_name ( JobCOP  job,
std::string const &  suffix = "" 
)
protectedvirtual

this private function provides the extended name, not just the output name. e.g output_name returns 1UBQ_0001, this returns 1UBQ_0001.pdb or 1UBQ_0001.cif.

References extension_, and output_name().

Referenced by final_pose(), protocols::dna::PDBOutput::final_pose(), job_has_completed(), and other_pose().

std::string protocols::jd2::wwPDBJobOutputter::extract_data_from_Job ( JobCOP  job)
protectedvirtual

this function extracts the pose's scores and outputs them as a string to be packaged in an output structure.

Refactored in the 2016 Chemical XRW (eXtreme Rosetta Workshop) by Vikram K. Mulligan (vmull.nosp@m.ig@u.nosp@m.w.edu).

Parameters
[in]jobConst-access owning pointer to the job from which the data will be extracted.
[out]data_outA string in which the data will be stored, that can later be passed to whatever container wants it.

score-related functions///////////////////////////////////

Refactored in the 2016 Chemical XRW (eXtreme Rosetta Workshop) by Vikram K. Mulligan (vmull.nosp@m.ig@u.nosp@m.w.edu).

Parameters
[in]jobConst-access owning pointer to the job from which the data will be extracted.
Returns
A string in which the data will be stored, that can later be passed to whatever container wants it.

References core::sequence::end, and core::conformation::membrane::out.

Referenced by protocols::jd2::mmtfJobOutputter::dump_extra_data_file(), protocols::jd2::mmCIFJobOutputter::dump_extra_data_file(), protocols::jd2::PDBJobOutputter::dump_pose(), and protocols::dna::PDBOutput::final_pose().

void protocols::jd2::wwPDBJobOutputter::final_pose ( JobOP  job,
core::pose::Pose const &  pose,
std::string const &  tag 
)
overridevirtual

this function outputs the final result of a job. This implementation will write a wwPDB-format file (plus scores). It calls a pure virtual so that child classes can write PDB or mmCIF format.

originally written for PDBJobOutputter, but works as-is for mmCIF as well. Moved to interstitial wwPDBJO.

Implements protocols::jd2::FileJobOutputter.

References protocols::jd2::JobOutputter::call_output_observers(), dump_pose(), extended_name(), protocols::jd2::FileJobOutputter::file(), core::conformation::membrane::out, path_, protocols::jd2::FileJobOutputter::scorefile(), and protocols::jd2::TR().

Referenced by protocols::enzdes::EnzdesJobOutputter::final_pose().

std::string const & protocols::jd2::wwPDBJobOutputter::get_extension ( )
protected

getter for output file extension

References extension_.

std::string const & protocols::jd2::wwPDBJobOutputter::get_path ( )
protected

getter for output file path

References path_.

bool protocols::jd2::wwPDBJobOutputter::job_has_completed ( JobCOP  job)
overridevirtual

this function is not used for output, but it belongs here since it needs to check the same output locations as the class normally writes to. This class checks wherever output goes to see if the job's expected output already exists (on disk or whatever). This is the most basic form of checkpointing. The base implementation looks for a pdb/cif with the job's name already in existence.

state of output functions/////////////////////////////////

Implements protocols::jd2::FileJobOutputter.

References extended_name(), and path_.

Referenced by protocols::enzdes::EnzdesJobOutputter::job_has_completed().

void protocols::jd2::wwPDBJobOutputter::other_pose ( JobOP  job,
core::pose::Pose const &  pose,
std::string const &  tag,
int  copy_count = -1,
bool  score_only = false 
)
overridevirtual

this function is intended for saving mid-protocol poses; for example the final centroid structure in a combined centroid/fullatom protocol. This implementation will write a wwPDB-format file (plus scores). It calls a pure virtual so that child classes can write PDB or mmCIF format.

originally written for PDBJobOutputter, but works as-is for mmCIF as well. Moved to interstitial wwPDBJO.

Implements protocols::jd2::FileJobOutputter.

References protocols::jd2::JobOutputter::call_output_observers(), dump_pose(), extended_name(), protocols::jd2::FileJobOutputter::file(), core::conformation::membrane::out, path_, protocols::jd2::FileJobOutputter::scorefile(), and protocols::jd2::TR().

std::string protocols::jd2::wwPDBJobOutputter::output_name ( JobCOP  job)
overridevirtual

this is the master function for determining the unique output identifier for a job

determines the unique output identifier for a job

Implements protocols::jd2::FileJobOutputter.

References protocols::jd2::JobOutputter::affixed_numbered_name().

Referenced by extended_name(), and protocols::enzdes::EnzdesJobOutputter::scorefile().

void protocols::jd2::wwPDBJobOutputter::set_extension ( std::string const &  extension)
protected
void protocols::jd2::wwPDBJobOutputter::set_path ( std::string const &  path)
protected

setter for output file paths, in case child class needs to override -out:path:all with -out:path:[PDB/mmCIF]

References protocols::hybridization::path, and path_.

Referenced by protocols::jd2::mmCIFJobOutputter::mmCIFJobOutputter(), protocols::jd2::mmtfJobOutputter::mmtfJobOutputter(), and protocols::jd2::PDBJobOutputter::PDBJobOutputter().

Member Data Documentation

std::string protocols::jd2::wwPDBJobOutputter::extension_
private
std::string protocols::jd2::wwPDBJobOutputter::path_
private

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