| |
- builtins.object
-
- BaseJobDistributor
-
- AtomTreeDiffJobDistributor
- PlainPdbJobDistributor
- PlainRawJobDistributor
- PlainSilentFileJobDistributor
- BasicJob
class AtomTreeDiffJobDistributor(BaseJobDistributor) |
|
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
Distributor for use with atomtree_diff silent 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. |
|
- Method resolution order:
- AtomTreeDiffJobDistributor
- BaseJobDistributor
- builtins.object
Methods defined here:
- __init__(...) from builtins.PyCapsule
- __init__(self : handle, jobs : rosetta.utility.vector1_std_shared_ptr_protocols_jobdist_BasicJob_t, outfile_name : str) -> NoneType
- __new__(*args, **kwargs) from builtins.type
- Create and return a new object. See help(type) for accurate signature.
- dump_pose(...) from builtins.PyCapsule
- dump_pose(self : rosetta.protocols.jobdist.AtomTreeDiffJobDistributor, tag : str, scores : rosetta.std.map_std_string_double, ref_pose : rosetta.core.pose.Pose, pose : rosetta.core.pose.Pose) -> NoneType
Appends pose to the silent file
- set_precision(...) from builtins.PyCapsule
- set_precision(self : rosetta.protocols.jobdist.AtomTreeDiffJobDistributor, bb_precision : int, sc_precision : int, bondlen_precision : int) -> NoneType
Sets number of digits used in writing atomtree diff.
- shutdown(...) from builtins.PyCapsule
- shutdown(rosetta.protocols.jobdist.AtomTreeDiffJobDistributor) -> NoneType
Methods inherited from BaseJobDistributor:
- begin_critical_section(...) from builtins.PyCapsule
- begin_critical_section(rosetta.protocols.jobdist.BaseJobDistributor) -> NoneType
Signal that if at all possible, we would like to not be killed while in the critical section.
If overriden by a subclass, it MUST call the superclass implementation.
- disable_ignorefinished(...) from builtins.PyCapsule
- disable_ignorefinished(rosetta.protocols.jobdist.BaseJobDistributor) -> NoneType
- disable_inprogress(...) from builtins.PyCapsule
- disable_inprogress(rosetta.protocols.jobdist.BaseJobDistributor) -> NoneType
- disable_output(...) from builtins.PyCapsule
- disable_output(rosetta.protocols.jobdist.BaseJobDistributor) -> NoneType
- dump_pose_and_map(...) from builtins.PyCapsule
- dump_pose_and_map(self : rosetta.protocols.jobdist.BaseJobDistributor, : str, : rosetta.core.pose.Pose) -> NoneType
Virtual function for dump_pose that is needed for main_plain_mover
- enable_ignorefinished(...) from builtins.PyCapsule
- enable_ignorefinished(rosetta.protocols.jobdist.BaseJobDistributor) -> NoneType
- enable_inprogress(...) from builtins.PyCapsule
- enable_inprogress(rosetta.protocols.jobdist.BaseJobDistributor) -> NoneType
- enable_output(...) from builtins.PyCapsule
- enable_output(rosetta.protocols.jobdist.BaseJobDistributor) -> NoneType
- end_critical_section(...) from builtins.PyCapsule
- end_critical_section(rosetta.protocols.jobdist.BaseJobDistributor) -> NoneType
Signal that if at all possible, we would like to not be killed while in the critical section.
If overriden by a subclass, it MUST call the superclass implementation.
- get_current_output_tag(...) from builtins.PyCapsule
- get_current_output_tag(rosetta.protocols.jobdist.BaseJobDistributor) -> str
get output_tag for current job's current nstruct
by default return current_job's current_nstruct' output_tag.
Overridden in derived PlainSilentFileJobDistributor to return names with "S_" at the beginning
- get_output_filename(...) from builtins.PyCapsule
- get_output_filename(rosetta.protocols.jobdist.BaseJobDistributor) -> str
- ignorefinished(...) from builtins.PyCapsule
- ignorefinished(rosetta.protocols.jobdist.BaseJobDistributor) -> bool
- inprogress(...) from builtins.PyCapsule
- inprogress(rosetta.protocols.jobdist.BaseJobDistributor) -> bool
- next_job(...) from builtins.PyCapsule
- next_job(self : rosetta.protocols.jobdist.BaseJobDistributor, job : rosetta.protocols.jobdist.BasicJob, struct_n : int) -> bool
If true, sets the next Job and nstruct number to be processed.
Deliberately not virtual: should not be overriden. Uses the "find_available_job"
method, which is common to both MPI and standard protocols, but used in slightly
different manners.
- nooutput(...) from builtins.PyCapsule
- nooutput(rosetta.protocols.jobdist.BaseJobDistributor) -> bool
- score_map(...) from builtins.PyCapsule
- score_map(self : rosetta.protocols.jobdist.BaseJobDistributor, : rosetta.std.map_std_string_double) -> NoneType
Virtual function for score_map that is needed for main_plain_mover
sets the score_map
- set_proc_id(...) from builtins.PyCapsule
- set_proc_id(self : rosetta.protocols.jobdist.BaseJobDistributor, proc_id : int, nproc : int) -> NoneType
- startup(...) from builtins.PyCapsule
- startup(rosetta.protocols.jobdist.BaseJobDistributor) -> NoneType
Must be called by client before first call to next_job().
If overriden by a subclass, it MUST call the superclass implementation.
- temp_file(...) from builtins.PyCapsule
- temp_file(self : rosetta.protocols.jobdist.BaseJobDistributor, : str) -> NoneType
Virtual function for temp_file main_plain_mover
|
class BaseJobDistributor(builtins.object) |
|
Coordinates processing of jobs across multiple Rosetta processes.
Job distributors need to be customized in three different ways:
- by cluster architecture (none/Condor, MPI, BOINC, etc)
- by local test for job completion (PDB exists, tag already in silent file, etc)
- by type of input (single PDB file, pair of PDB files, list of tag IDs, etc)
Cluster architecture is a GLOBAL COMPILE-TIME decision: it's handled by scons,
it's the same for all executables built at that time, and it should be implemented
using ifdef's in this base class, by modifying the next_job() method directly.
Test for job completion is a PER-EXECUTABLE decision: it's handled
by subclassing BaseJobDistributor and implementing the is_finished() method.
BaseJobDistributor will consult is_finished() in whatever way is appropriate
for the current cluster architecture to ensure that jobs are not repeated.
Type of input is handled by templating the job distributor on a Job object.
BasicJob has been provided already, but you can subclass it if you need
to carry around additional information about the inputs. |
|
Methods defined here:
- __init__(...) from builtins.PyCapsule
- __init__(*args, **kwargs)
Overloaded function.
1. __init__(self : rosetta.protocols.jobdist.BaseJobDistributor, jobs : rosetta.utility.vector1_std_shared_ptr_protocols_jobdist_BasicJob_t) -> NoneType
2. __init__(rosetta.protocols.jobdist.BaseJobDistributor, rosetta.protocols.jobdist.BaseJobDistributor) -> NoneType
- __new__(*args, **kwargs) from builtins.type
- Create and return a new object. See help(type) for accurate signature.
- begin_critical_section(...) from builtins.PyCapsule
- begin_critical_section(rosetta.protocols.jobdist.BaseJobDistributor) -> NoneType
Signal that if at all possible, we would like to not be killed while in the critical section.
If overriden by a subclass, it MUST call the superclass implementation.
- disable_ignorefinished(...) from builtins.PyCapsule
- disable_ignorefinished(rosetta.protocols.jobdist.BaseJobDistributor) -> NoneType
- disable_inprogress(...) from builtins.PyCapsule
- disable_inprogress(rosetta.protocols.jobdist.BaseJobDistributor) -> NoneType
- disable_output(...) from builtins.PyCapsule
- disable_output(rosetta.protocols.jobdist.BaseJobDistributor) -> NoneType
- dump_pose_and_map(...) from builtins.PyCapsule
- dump_pose_and_map(self : rosetta.protocols.jobdist.BaseJobDistributor, : str, : rosetta.core.pose.Pose) -> NoneType
Virtual function for dump_pose that is needed for main_plain_mover
- enable_ignorefinished(...) from builtins.PyCapsule
- enable_ignorefinished(rosetta.protocols.jobdist.BaseJobDistributor) -> NoneType
- enable_inprogress(...) from builtins.PyCapsule
- enable_inprogress(rosetta.protocols.jobdist.BaseJobDistributor) -> NoneType
- enable_output(...) from builtins.PyCapsule
- enable_output(rosetta.protocols.jobdist.BaseJobDistributor) -> NoneType
- end_critical_section(...) from builtins.PyCapsule
- end_critical_section(rosetta.protocols.jobdist.BaseJobDistributor) -> NoneType
Signal that if at all possible, we would like to not be killed while in the critical section.
If overriden by a subclass, it MUST call the superclass implementation.
- get_current_output_tag(...) from builtins.PyCapsule
- get_current_output_tag(rosetta.protocols.jobdist.BaseJobDistributor) -> str
get output_tag for current job's current nstruct
by default return current_job's current_nstruct' output_tag.
Overridden in derived PlainSilentFileJobDistributor to return names with "S_" at the beginning
- get_output_filename(...) from builtins.PyCapsule
- get_output_filename(rosetta.protocols.jobdist.BaseJobDistributor) -> str
- ignorefinished(...) from builtins.PyCapsule
- ignorefinished(rosetta.protocols.jobdist.BaseJobDistributor) -> bool
- inprogress(...) from builtins.PyCapsule
- inprogress(rosetta.protocols.jobdist.BaseJobDistributor) -> bool
- next_job(...) from builtins.PyCapsule
- next_job(self : rosetta.protocols.jobdist.BaseJobDistributor, job : rosetta.protocols.jobdist.BasicJob, struct_n : int) -> bool
If true, sets the next Job and nstruct number to be processed.
Deliberately not virtual: should not be overriden. Uses the "find_available_job"
method, which is common to both MPI and standard protocols, but used in slightly
different manners.
- nooutput(...) from builtins.PyCapsule
- nooutput(rosetta.protocols.jobdist.BaseJobDistributor) -> bool
- score_map(...) from builtins.PyCapsule
- score_map(self : rosetta.protocols.jobdist.BaseJobDistributor, : rosetta.std.map_std_string_double) -> NoneType
Virtual function for score_map that is needed for main_plain_mover
sets the score_map
- set_proc_id(...) from builtins.PyCapsule
- set_proc_id(self : rosetta.protocols.jobdist.BaseJobDistributor, proc_id : int, nproc : int) -> NoneType
- shutdown(...) from builtins.PyCapsule
- shutdown(rosetta.protocols.jobdist.BaseJobDistributor) -> NoneType
Must be called by client after last call to next_job().
If overriden by a subclass, it MUST call the superclass implementation.
- startup(...) from builtins.PyCapsule
- startup(rosetta.protocols.jobdist.BaseJobDistributor) -> NoneType
Must be called by client before first call to next_job().
If overriden by a subclass, it MUST call the superclass implementation.
- temp_file(...) from builtins.PyCapsule
- temp_file(self : rosetta.protocols.jobdist.BaseJobDistributor, : str) -> NoneType
Virtual function for temp_file main_plain_mover
|
class BasicJob(builtins.object) |
|
Each Job object describes a particular input to Rosetta.
Ordinarily, an input is just a single PDB file.
In other cases, e.g. docking, input might be a pair of PDB files.
In still other cases, input might be a list of tags to extract from a silent file.
And so on.
One BasicJob class is defined below that should meet most needs,
but if you need to carry additional information, you can subclass it.
Contains a map of strings to strings that can be used to store arbitrary
extra data if you're too lazy to make a subclass.
Templated get/set functions accept anything that can be
read from and written to a C++ stream with >> and << operators.
All data is stored as strings internally.
Some numeric data may experience slight round-off error,
though I think we're storing enough digits to avoid that.
Example:
BasicJob jobdata("1abc.pdb", 10);
jobdata.set("cmp_to", "1xyz.pdb");
jobdata.set("score", 42.42);
std::string cmp_to;
core::Real score;
if( jobdata.get("cmp_to", cmp_to) ) std::cout << "cmp_to = " << cmp_to << std::endl;
else std::cout << "Unable to recover cmp_to!" << std::endl;
if( jobdata.get("score", score) ) std::cout << "score = " << score << std::endl;
else std::cout << "Unable to recover score!" << std::endl;
Although Jobs are small objects, it is common for Rosetta to loop many times over the same input.
In order to avoid creating (size of -s and -l) * (nstruct) JobData objects,
each Job also has an nstruct counter.
So, each Job represents a unique input,
and each tuple of (Job, struct_n) represents a unique output. |
|
Methods defined here:
- __init__(...) from builtins.PyCapsule
- __init__(*args, **kwargs)
Overloaded function.
1. __init__(handle, str, str) -> NoneType
doc
2. __init__(self : handle, input_tag : str, native_tag : str, nstruct : int) -> NoneType
3. __init__(handle, rosetta.protocols.jobdist.BasicJob) -> NoneType
- __new__(*args, **kwargs) from builtins.type
- Create and return a new object. See help(type) for accurate signature.
- assign(...) from builtins.PyCapsule
- assign(self : rosetta.protocols.jobdist.BasicJob, : rosetta.protocols.jobdist.BasicJob) -> rosetta.protocols.jobdist.BasicJob
- get(...) from builtins.PyCapsule
- get(self : rosetta.protocols.jobdist.BasicJob, key : str, value : str) -> bool
Specialization for strings.
- input_tag(...) from builtins.PyCapsule
- input_tag(rosetta.protocols.jobdist.BasicJob) -> str
The tag supplied at create time.
- native_tag(...) from builtins.PyCapsule
- native_tag(rosetta.protocols.jobdist.BasicJob) -> str
The tag supplied at create time.
- nstruct(...) from builtins.PyCapsule
- nstruct(rosetta.protocols.jobdist.BasicJob) -> int
The number of times this job should be repeated.
- output_file_name(...) from builtins.PyCapsule
- output_file_name(rosetta.protocols.jobdist.BasicJob) -> str
The tag supplied at create time plus the nstruct number (from 1 to nstruct inclusive).
- output_tag(...) from builtins.PyCapsule
- output_tag(self : rosetta.protocols.jobdist.BasicJob, struct_n : int) -> str
The tag supplied at create time plus the nstruct number (from 1 to nstruct inclusive).
- set(...) from builtins.PyCapsule
- set(self : rosetta.protocols.jobdist.BasicJob, key : str, value : str) -> NoneType
Specialization for strings.
- set_output_file_name(...) from builtins.PyCapsule
- set_output_file_name(self : rosetta.protocols.jobdist.BasicJob, str : str) -> NoneType
The tag supplied at create time plus the nstruct number (from 1 to nstruct inclusive).
- set_preserve_whole_input_tag(...) from builtins.PyCapsule
- set_preserve_whole_input_tag(self : rosetta.protocols.jobdist.BasicJob, setting : bool) -> NoneType
|
class PlainPdbJobDistributor(BaseJobDistributor) |
|
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
Distributor for use with plain old PDB files.
Use is strongly discouraged in production environments!
This class is deliberately designed for each process to write
its own PDB files in its own directory; it checks for pre-existing files only
for use by stopped and re-started jobs, NOT for coordinating between processes.
(To coordinate, it would have to "touch" the non-existant file in next_job()
before starting to process it, but see AtomtreeDiffJobDistributor for an
explanation of why coordinating processes via the filesystem is a bad idea.) |
|
- Method resolution order:
- PlainPdbJobDistributor
- BaseJobDistributor
- builtins.object
Methods defined here:
- __init__(...) from builtins.PyCapsule
- __init__(*args, **kwargs)
Overloaded function.
1. __init__(handle, rosetta.utility.vector1_std_shared_ptr_protocols_jobdist_BasicJob_t) -> NoneType
doc
2. __init__(self : handle, jobs : rosetta.utility.vector1_std_shared_ptr_protocols_jobdist_BasicJob_t, outfile_name : str) -> NoneType
3. __init__(handle, rosetta.protocols.jobdist.PlainPdbJobDistributor) -> NoneType
- __new__(*args, **kwargs) from builtins.type
- Create and return a new object. See help(type) for accurate signature.
- dump_pose_and_map(...) from builtins.PyCapsule
- dump_pose_and_map(self : rosetta.protocols.jobdist.PlainPdbJobDistributor, tag : str, pose : rosetta.core.pose.Pose) -> NoneType
Writes pose and basic score data to a standard PDB file.
- get_output_filename(...) from builtins.PyCapsule
- get_output_filename(self : rosetta.protocols.jobdist.PlainPdbJobDistributor, tag : str) -> str
Translates an output tag name to an output PDB file name.
- score_map(...) from builtins.PyCapsule
- score_map(self : rosetta.protocols.jobdist.PlainPdbJobDistributor, score_map_in : rosetta.std.map_std_string_double) -> NoneType
- startup(...) from builtins.PyCapsule
- startup(rosetta.protocols.jobdist.PlainPdbJobDistributor) -> NoneType
Allows setting of inprogress.
- temp_file(...) from builtins.PyCapsule
- temp_file(self : rosetta.protocols.jobdist.PlainPdbJobDistributor, tag : str) -> NoneType
Opens a temp file (.in_progress)
Methods inherited from BaseJobDistributor:
- begin_critical_section(...) from builtins.PyCapsule
- begin_critical_section(rosetta.protocols.jobdist.BaseJobDistributor) -> NoneType
Signal that if at all possible, we would like to not be killed while in the critical section.
If overriden by a subclass, it MUST call the superclass implementation.
- disable_ignorefinished(...) from builtins.PyCapsule
- disable_ignorefinished(rosetta.protocols.jobdist.BaseJobDistributor) -> NoneType
- disable_inprogress(...) from builtins.PyCapsule
- disable_inprogress(rosetta.protocols.jobdist.BaseJobDistributor) -> NoneType
- disable_output(...) from builtins.PyCapsule
- disable_output(rosetta.protocols.jobdist.BaseJobDistributor) -> NoneType
- enable_ignorefinished(...) from builtins.PyCapsule
- enable_ignorefinished(rosetta.protocols.jobdist.BaseJobDistributor) -> NoneType
- enable_inprogress(...) from builtins.PyCapsule
- enable_inprogress(rosetta.protocols.jobdist.BaseJobDistributor) -> NoneType
- enable_output(...) from builtins.PyCapsule
- enable_output(rosetta.protocols.jobdist.BaseJobDistributor) -> NoneType
- end_critical_section(...) from builtins.PyCapsule
- end_critical_section(rosetta.protocols.jobdist.BaseJobDistributor) -> NoneType
Signal that if at all possible, we would like to not be killed while in the critical section.
If overriden by a subclass, it MUST call the superclass implementation.
- get_current_output_tag(...) from builtins.PyCapsule
- get_current_output_tag(rosetta.protocols.jobdist.BaseJobDistributor) -> str
get output_tag for current job's current nstruct
by default return current_job's current_nstruct' output_tag.
Overridden in derived PlainSilentFileJobDistributor to return names with "S_" at the beginning
- ignorefinished(...) from builtins.PyCapsule
- ignorefinished(rosetta.protocols.jobdist.BaseJobDistributor) -> bool
- inprogress(...) from builtins.PyCapsule
- inprogress(rosetta.protocols.jobdist.BaseJobDistributor) -> bool
- next_job(...) from builtins.PyCapsule
- next_job(self : rosetta.protocols.jobdist.BaseJobDistributor, job : rosetta.protocols.jobdist.BasicJob, struct_n : int) -> bool
If true, sets the next Job and nstruct number to be processed.
Deliberately not virtual: should not be overriden. Uses the "find_available_job"
method, which is common to both MPI and standard protocols, but used in slightly
different manners.
- nooutput(...) from builtins.PyCapsule
- nooutput(rosetta.protocols.jobdist.BaseJobDistributor) -> bool
- set_proc_id(...) from builtins.PyCapsule
- set_proc_id(self : rosetta.protocols.jobdist.BaseJobDistributor, proc_id : int, nproc : int) -> NoneType
- shutdown(...) from builtins.PyCapsule
- shutdown(rosetta.protocols.jobdist.BaseJobDistributor) -> NoneType
Must be called by client after last call to next_job().
If overriden by a subclass, it MUST call the superclass implementation.
|
class PlainRawJobDistributor(BaseJobDistributor) |
|
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
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. |
|
- Method resolution order:
- PlainRawJobDistributor
- BaseJobDistributor
- builtins.object
Methods defined here:
- __init__(...) from builtins.PyCapsule
- __init__(*args, **kwargs)
Overloaded function.
1. __init__(self : handle, jobs : rosetta.utility.vector1_std_shared_ptr_protocols_jobdist_BasicJob_t, outfile_name : str) -> NoneType
2. __init__(handle, rosetta.protocols.jobdist.PlainRawJobDistributor) -> NoneType
- __new__(*args, **kwargs) from builtins.type
- Create and return a new object. See help(type) for accurate signature.
- dump_pose_and_map(...) from builtins.PyCapsule
- dump_pose_and_map(self : rosetta.protocols.jobdist.PlainRawJobDistributor, tag : str, pose : rosetta.core.pose.Pose) -> NoneType
Writes pose and basic score data to a standard silent file.
- get_output_filename(...) from builtins.PyCapsule
- get_output_filename(self : rosetta.protocols.jobdist.PlainRawJobDistributor, tag : str) -> str
Translates an output tag name to an output PDB file name.
- get_output_tag(...) from builtins.PyCapsule
- get_output_tag(self : rosetta.protocols.jobdist.PlainRawJobDistributor, struct_n : int) -> str
- score_map(...) from builtins.PyCapsule
- score_map(self : rosetta.protocols.jobdist.PlainRawJobDistributor, score_map_in : rosetta.std.map_std_string_double) -> NoneType
Methods inherited from BaseJobDistributor:
- begin_critical_section(...) from builtins.PyCapsule
- begin_critical_section(rosetta.protocols.jobdist.BaseJobDistributor) -> NoneType
Signal that if at all possible, we would like to not be killed while in the critical section.
If overriden by a subclass, it MUST call the superclass implementation.
- disable_ignorefinished(...) from builtins.PyCapsule
- disable_ignorefinished(rosetta.protocols.jobdist.BaseJobDistributor) -> NoneType
- disable_inprogress(...) from builtins.PyCapsule
- disable_inprogress(rosetta.protocols.jobdist.BaseJobDistributor) -> NoneType
- disable_output(...) from builtins.PyCapsule
- disable_output(rosetta.protocols.jobdist.BaseJobDistributor) -> NoneType
- enable_ignorefinished(...) from builtins.PyCapsule
- enable_ignorefinished(rosetta.protocols.jobdist.BaseJobDistributor) -> NoneType
- enable_inprogress(...) from builtins.PyCapsule
- enable_inprogress(rosetta.protocols.jobdist.BaseJobDistributor) -> NoneType
- enable_output(...) from builtins.PyCapsule
- enable_output(rosetta.protocols.jobdist.BaseJobDistributor) -> NoneType
- end_critical_section(...) from builtins.PyCapsule
- end_critical_section(rosetta.protocols.jobdist.BaseJobDistributor) -> NoneType
Signal that if at all possible, we would like to not be killed while in the critical section.
If overriden by a subclass, it MUST call the superclass implementation.
- get_current_output_tag(...) from builtins.PyCapsule
- get_current_output_tag(rosetta.protocols.jobdist.BaseJobDistributor) -> str
get output_tag for current job's current nstruct
by default return current_job's current_nstruct' output_tag.
Overridden in derived PlainSilentFileJobDistributor to return names with "S_" at the beginning
- ignorefinished(...) from builtins.PyCapsule
- ignorefinished(rosetta.protocols.jobdist.BaseJobDistributor) -> bool
- inprogress(...) from builtins.PyCapsule
- inprogress(rosetta.protocols.jobdist.BaseJobDistributor) -> bool
- next_job(...) from builtins.PyCapsule
- next_job(self : rosetta.protocols.jobdist.BaseJobDistributor, job : rosetta.protocols.jobdist.BasicJob, struct_n : int) -> bool
If true, sets the next Job and nstruct number to be processed.
Deliberately not virtual: should not be overriden. Uses the "find_available_job"
method, which is common to both MPI and standard protocols, but used in slightly
different manners.
- nooutput(...) from builtins.PyCapsule
- nooutput(rosetta.protocols.jobdist.BaseJobDistributor) -> bool
- set_proc_id(...) from builtins.PyCapsule
- set_proc_id(self : rosetta.protocols.jobdist.BaseJobDistributor, proc_id : int, nproc : int) -> NoneType
- shutdown(...) from builtins.PyCapsule
- shutdown(rosetta.protocols.jobdist.BaseJobDistributor) -> NoneType
Must be called by client after last call to next_job().
If overriden by a subclass, it MUST call the superclass implementation.
- startup(...) from builtins.PyCapsule
- startup(rosetta.protocols.jobdist.BaseJobDistributor) -> NoneType
Must be called by client before first call to next_job().
If overriden by a subclass, it MUST call the superclass implementation.
- temp_file(...) from builtins.PyCapsule
- temp_file(self : rosetta.protocols.jobdist.BaseJobDistributor, : str) -> NoneType
Virtual function for temp_file main_plain_mover
|
class PlainSilentFileJobDistributor(BaseJobDistributor) |
|
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
Distributor for use with silent 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. |
|
- Method resolution order:
- PlainSilentFileJobDistributor
- BaseJobDistributor
- builtins.object
Methods defined here:
- __init__(...) from builtins.PyCapsule
- __init__(self : handle, jobs : rosetta.utility.vector1_std_shared_ptr_protocols_jobdist_BasicJob_t) -> NoneType
- __new__(*args, **kwargs) from builtins.type
- Create and return a new object. See help(type) for accurate signature.
- dump_pose(...) from builtins.PyCapsule
- dump_pose(self : rosetta.protocols.jobdist.PlainSilentFileJobDistributor, job : rosetta.protocols.jobdist.BasicJob, nstruct : int, fullatom : bool, pose : rosetta.core.pose.Pose) -> NoneType
Writes pose and basic score data to a standard silent file.
- dump_silent(...) from builtins.PyCapsule
- dump_silent(*args, **kwargs)
Overloaded function.
1. dump_silent(self : rosetta.protocols.jobdist.PlainSilentFileJobDistributor, struct_n : int, silent_struct : rosetta.core.io.silent.SilentStruct) -> NoneType
Writes the silent_struct to a silen file
2. dump_silent(self : rosetta.protocols.jobdist.PlainSilentFileJobDistributor, silent_file : rosetta.core.io.silent.SilentFileData) -> NoneType
- get_current_output_tag(...) from builtins.PyCapsule
- get_current_output_tag(rosetta.protocols.jobdist.PlainSilentFileJobDistributor) -> str
- get_output_filename(...) from builtins.PyCapsule
- get_output_filename(rosetta.protocols.jobdist.PlainSilentFileJobDistributor) -> str
- get_output_tag(...) from builtins.PyCapsule
- get_output_tag(self : rosetta.protocols.jobdist.PlainSilentFileJobDistributor, job : rosetta.protocols.jobdist.BasicJob, struct_n : int) -> str
- shutdown(...) from builtins.PyCapsule
- shutdown(rosetta.protocols.jobdist.PlainSilentFileJobDistributor) -> NoneType
- startup(...) from builtins.PyCapsule
- startup(rosetta.protocols.jobdist.PlainSilentFileJobDistributor) -> NoneType
Methods inherited from BaseJobDistributor:
- begin_critical_section(...) from builtins.PyCapsule
- begin_critical_section(rosetta.protocols.jobdist.BaseJobDistributor) -> NoneType
Signal that if at all possible, we would like to not be killed while in the critical section.
If overriden by a subclass, it MUST call the superclass implementation.
- disable_ignorefinished(...) from builtins.PyCapsule
- disable_ignorefinished(rosetta.protocols.jobdist.BaseJobDistributor) -> NoneType
- disable_inprogress(...) from builtins.PyCapsule
- disable_inprogress(rosetta.protocols.jobdist.BaseJobDistributor) -> NoneType
- disable_output(...) from builtins.PyCapsule
- disable_output(rosetta.protocols.jobdist.BaseJobDistributor) -> NoneType
- dump_pose_and_map(...) from builtins.PyCapsule
- dump_pose_and_map(self : rosetta.protocols.jobdist.BaseJobDistributor, : str, : rosetta.core.pose.Pose) -> NoneType
Virtual function for dump_pose that is needed for main_plain_mover
- enable_ignorefinished(...) from builtins.PyCapsule
- enable_ignorefinished(rosetta.protocols.jobdist.BaseJobDistributor) -> NoneType
- enable_inprogress(...) from builtins.PyCapsule
- enable_inprogress(rosetta.protocols.jobdist.BaseJobDistributor) -> NoneType
- enable_output(...) from builtins.PyCapsule
- enable_output(rosetta.protocols.jobdist.BaseJobDistributor) -> NoneType
- end_critical_section(...) from builtins.PyCapsule
- end_critical_section(rosetta.protocols.jobdist.BaseJobDistributor) -> NoneType
Signal that if at all possible, we would like to not be killed while in the critical section.
If overriden by a subclass, it MUST call the superclass implementation.
- ignorefinished(...) from builtins.PyCapsule
- ignorefinished(rosetta.protocols.jobdist.BaseJobDistributor) -> bool
- inprogress(...) from builtins.PyCapsule
- inprogress(rosetta.protocols.jobdist.BaseJobDistributor) -> bool
- next_job(...) from builtins.PyCapsule
- next_job(self : rosetta.protocols.jobdist.BaseJobDistributor, job : rosetta.protocols.jobdist.BasicJob, struct_n : int) -> bool
If true, sets the next Job and nstruct number to be processed.
Deliberately not virtual: should not be overriden. Uses the "find_available_job"
method, which is common to both MPI and standard protocols, but used in slightly
different manners.
- nooutput(...) from builtins.PyCapsule
- nooutput(rosetta.protocols.jobdist.BaseJobDistributor) -> bool
- score_map(...) from builtins.PyCapsule
- score_map(self : rosetta.protocols.jobdist.BaseJobDistributor, : rosetta.std.map_std_string_double) -> NoneType
Virtual function for score_map that is needed for main_plain_mover
sets the score_map
- set_proc_id(...) from builtins.PyCapsule
- set_proc_id(self : rosetta.protocols.jobdist.BaseJobDistributor, proc_id : int, nproc : int) -> NoneType
- temp_file(...) from builtins.PyCapsule
- temp_file(self : rosetta.protocols.jobdist.BaseJobDistributor, : str) -> NoneType
Virtual function for temp_file main_plain_mover
| |