Rosetta 3.4
Public Types | Public Member Functions | Protected Types | Protected Member Functions
protocols::jobdist::PlainRawJobDistributor Class Reference

Distributor for use with raw files. More...

#include <JobDistributors.hh>

Inheritance diagram for protocols::jobdist::PlainRawJobDistributor:
Inheritance graph
[legend]
Collaboration diagram for protocols::jobdist::PlainRawJobDistributor:
Collaboration graph
[legend]

List of all members.

Public Types

typedef BaseJobDistributor parent

Public Member Functions

 PlainRawJobDistributor (JobVector jobs, std::string outfile_name)
virtual ~PlainRawJobDistributor ()
virtual void dump_pose_and_map (std::string const &tag, core::pose::Pose &pose)
 Writes pose and basic score data to a standard silent file.
virtual std::string get_output_filename (std::string const &tag)
 Translates an output tag name to an output PDB file name.
virtual std::string get_output_tag (int const &struct_n)
void score_map (std::map< std::string, core::Real > &score_map_in)
 Virtual function for score_map that is needed for main_plain_mover sets the score_map.

Protected Types

typedef utility::vector1
< BasicJobOP
JobVector

Protected Member Functions

virtual bool is_finished (BasicJobOP const &job, int struct_n)
 Is the given nstruct number of the given input job already finished by the local process? To be implemented by subclasses.

Detailed Description

Distributor for use with raw files.

This class is deliberately designed for each process to work on its own silent file (and preferrably in its own directory); unlike Rosetta++, we DO NOT share silent files among multiple processes. First, true atomic file locking is impossible on most distributed file systems (e.g. NFS), meaning that files may be corrupted by multiple simultaneous writes. For long-running processes, collisions may be rare, but as we scale to more processors it becomes increasingly dangerous. Second, many processes writing to the same file (or even directory) can cause tremendous file system bottlenecks, possibly bringing down the cluster; ask Keith or Chance in the Baker lab for details.


Member Typedef Documentation


Constructor & Destructor Documentation

protocols::jobdist::PlainRawJobDistributor::PlainRawJobDistributor ( JobVector  jobs,
std::string  outfile_name 
)
protocols::jobdist::PlainRawJobDistributor::~PlainRawJobDistributor ( ) [virtual]

Member Function Documentation

void protocols::jobdist::PlainRawJobDistributor::dump_pose_and_map ( std::string const &  tag,
core::pose::Pose pose 
) [virtual]
std::string protocols::jobdist::PlainRawJobDistributor::get_output_filename ( std::string const &  tag) [virtual]

Translates an output tag name to an output PDB file name.

References protocols::wum::mpi_rank().

std::string protocols::jobdist::PlainRawJobDistributor::get_output_tag ( int const &  struct_n) [virtual]

References TAG_NUM_FORMAT_LENGTH.

bool protocols::jobdist::PlainRawJobDistributor::is_finished ( BasicJobOP const &  job,
int  struct_n 
) [protected, virtual]

Is the given nstruct number of the given input job already finished by the local process? To be implemented by subclasses.

Implements protocols::jobdist::BaseJobDistributor.

References protocols::jobdist::BaseJobDistributor::get_output_filename().

void protocols::jobdist::PlainRawJobDistributor::score_map ( std::map< std::string, core::Real > &  ) [inline, virtual]

Virtual function for score_map that is needed for main_plain_mover sets the score_map.

Needed if a score_map is to be output by the derived class

Reimplemented from protocols::jobdist::BaseJobDistributor.


The documentation for this class was generated from the following files:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines