jd3¶
Bindings for protocols::jd3 namespace
- class pyrosetta.rosetta.protocols.jd3.CompletedJobOutput¶
Bases:
pybind11_object
Each Job will return a JobStatus and a list of JobSummary/JobResult pairs. A pair’s index in th job_results vector is used as its identifier for when the JobResult is used as input for another job, or when it is to be output by the JobQueen.
- property job_results¶
- property status¶
- class pyrosetta.rosetta.protocols.jd3.InnerLarvalJob¶
Bases:
pybind11_object
The %InnerLarvalJob class is responsible for holding the input requirements for a given job - how many nstruct, and what the input is. %InnerLarvalJobs are relatively heavy; there is no need to duplicate a series of %InnerLarvalJobs for each index into nstruct. The companion Job class handles the nstruct index and has a pointer to an InnerLarvalJob (which is shared across many Jobs). The JobQueen has considerable leeway in how she shares data held in the %InnerLarvalJobs she creates: if all of the options for a set of %InnerLarvalJob are identical, and they differ only in their input structure, then she can, e.g. share a single JobOptions object between all of them. InnerLarvalJobs are serialized by the JobDistributor and shipped between nodes. For this reason, they should not be loaded with ResourceManager-managed data (that data should not get shipped between nodes, though it should be instantiatable on any node), but they may need to store Poses, as would be necessary in any multi-round protocol, where the JobResults from round i are the starting points for round i+1.
- add_input_job_result_index(self: pyrosetta.rosetta.protocols.jd3.InnerLarvalJob, job_result_id: Tuple[int, int]) None ¶
- Add a required input by the pair representing 1) the global index of the job
that produced the JobResult, and 2) the index of that JobResult among all the results produced by that job.
C++: protocols::jd3::InnerLarvalJob::add_input_job_result_index(struct std::pair<unsigned long, unsigned long>) –> void
- append_input_source(self: pyrosetta.rosetta.protocols.jd3.InnerLarvalJob, setting: protocols::jd3::InputSource) None ¶
Append a InputSource to the vector of them
C++: protocols::jd3::InnerLarvalJob::append_input_source(class std::shared_ptr<const class protocols::jd3::InputSource>) –> void
- assign(self: pyrosetta.rosetta.protocols.jd3.InnerLarvalJob, : pyrosetta.rosetta.protocols.jd3.InnerLarvalJob) pyrosetta.rosetta.protocols.jd3.InnerLarvalJob ¶
C++: protocols::jd3::InnerLarvalJob::operator=(const class protocols::jd3::InnerLarvalJob &) –> class protocols::jd3::InnerLarvalJob &
- bad(self: pyrosetta.rosetta.protocols.jd3.InnerLarvalJob) bool ¶
Has this job been labeled as bad?
C++: protocols::jd3::InnerLarvalJob::bad() const –> bool
- clear_input_sources(self: pyrosetta.rosetta.protocols.jd3.InnerLarvalJob) None ¶
Clear the vector of InputSources
C++: protocols::jd3::InnerLarvalJob::clear_input_sources() –> void
- const_data_map(self: pyrosetta.rosetta.protocols.jd3.InnerLarvalJob) pyrosetta.rosetta.basic.datacache.ConstDataMap ¶
- Write access to the ConstDataMap that the %InnerLarvalJob holds. The objects pointed
to by the const data map can be shared between two %InnerLarvalJobs, but the data maps themselves should not be shared.
C++: protocols::jd3::InnerLarvalJob::const_data_map() –> class basic::datacache::ConstDataMap &
- input_job_result_indices(self: pyrosetta.rosetta.protocols.jd3.InnerLarvalJob) pyrosetta.rosetta.utility.vector1_std_pair_unsigned_long_unsigned_long_t ¶
- The list of the JobResults required to mature this %LarvalJob, by global index of the
already-executed (Lavral)Jobs
C++: protocols::jd3::InnerLarvalJob::input_job_result_indices() const –> const class utility::vector1<struct std::pair<unsigned long, unsigned long>, class std::allocator<struct std::pair<unsigned long, unsigned long> > > &
- input_source(*args, **kwargs)¶
Overloaded function.
input_source(self: pyrosetta.rosetta.protocols.jd3.InnerLarvalJob, setting: protocols::jd3::InputSource) -> None
Set the single InputSource for this job
C++: protocols::jd3::InnerLarvalJob::input_source(class std::shared_ptr<const class protocols::jd3::InputSource>) –> void
input_source(self: pyrosetta.rosetta.protocols.jd3.InnerLarvalJob) -> protocols::jd3::InputSource
- Read access to the InputSource object that describes how the Pose for
this job should be constructed. Requires that there is only a single InputSource for this job.
C++: protocols::jd3::InnerLarvalJob::input_source() const –> const class protocols::jd3::InputSource &
input_source(self: pyrosetta.rosetta.protocols.jd3.InnerLarvalJob, index: int) -> protocols::jd3::InputSource
Retrieve a particular InputSource
C++: protocols::jd3::InnerLarvalJob::input_source(unsigned long) const –> const class protocols::jd3::InputSource &
- input_source_cop(*args, **kwargs)¶
Overloaded function.
input_source_cop(self: pyrosetta.rosetta.protocols.jd3.InnerLarvalJob) -> protocols::jd3::InputSource
C++: protocols::jd3::InnerLarvalJob::input_source_cop() const –> const class std::shared_ptr<const class protocols::jd3::InputSource> &
input_source_cop(self: pyrosetta.rosetta.protocols.jd3.InnerLarvalJob, index: int) -> protocols::jd3::InputSource
C++: protocols::jd3::InnerLarvalJob::input_source_cop(unsigned long) const –> const class std::shared_ptr<const class protocols::jd3::InputSource> &
- input_tag(*args, **kwargs)¶
Overloaded function.
input_tag(self: pyrosetta.rosetta.protocols.jd3.InnerLarvalJob) -> str
- Return the input tag – a string that describes the input structure, but that
is in no way a complete description of the job. The job_tag instead should be looked to as the name to use to identify information about this job: a single input structure may be used for multiple jobs.
C++: protocols::jd3::InnerLarvalJob::input_tag() const –> std::string
input_tag(self: pyrosetta.rosetta.protocols.jd3.InnerLarvalJob, setting: str) -> None
- Set the input tag – if it is not set, then the InputSources will be used,
the file names / tags being concatenated together, separated by underscores.
C++: protocols::jd3::InnerLarvalJob::input_tag(const std::string &) –> void
- job_node(*args, **kwargs)¶
Overloaded function.
job_node(self: pyrosetta.rosetta.protocols.jd3.InnerLarvalJob) -> int
- Return the job node this InnerLarvalJob belongs to
If the Job Node has not been set, we return 0.
C++: protocols::jd3::InnerLarvalJob::job_node() const –> unsigned long
job_node(self: pyrosetta.rosetta.protocols.jd3.InnerLarvalJob, setting: int) -> None
Set the Job Node for this ILJ
C++: protocols::jd3::InnerLarvalJob::job_node(unsigned long) –> void
- job_tag(*args, **kwargs)¶
Overloaded function.
job_tag(self: pyrosetta.rosetta.protocols.jd3.InnerLarvalJob) -> str
- Return the job tag – a string that describes what task is being performed and
and (usually) what input structure that job is being performed upon. This is the tag can be defined by the user in the job-definition XML file.
Can be overridden by child classes that require distinct logic.
C++: protocols::jd3::InnerLarvalJob::job_tag() const –> std::string
job_tag(self: pyrosetta.rosetta.protocols.jd3.InnerLarvalJob, setting: str) -> None
Set the job tag. If not set, then the input tag will be returned.
C++: protocols::jd3::InnerLarvalJob::job_tag(const std::string &) –> void
- jobdef_tag(*args, **kwargs)¶
Overloaded function.
jobdef_tag(self: pyrosetta.rosetta.protocols.jd3.InnerLarvalJob) -> pyrosetta.rosetta.utility.tag.Tag
C++: protocols::jd3::InnerLarvalJob::jobdef_tag() const –> class std::shared_ptr<const class utility::tag::Tag>
jobdef_tag(self: pyrosetta.rosetta.protocols.jd3.InnerLarvalJob, setting: pyrosetta.rosetta.utility.tag.Tag) -> None
C++: protocols::jd3::InnerLarvalJob::jobdef_tag(class std::shared_ptr<const class utility::tag::Tag>) –> void
- n_input_sources(self: pyrosetta.rosetta.protocols.jd3.InnerLarvalJob) int ¶
Return the number of pose input sources for this job.
C++: protocols::jd3::InnerLarvalJob::n_input_sources() const –> unsigned long
- nstruct_max(*args, **kwargs)¶
Overloaded function.
nstruct_max(self: pyrosetta.rosetta.protocols.jd3.InnerLarvalJob) -> int
The number of job replicates to be performed for this %InnerLarvalJob.
C++: protocols::jd3::InnerLarvalJob::nstruct_max() const –> unsigned long
nstruct_max(self: pyrosetta.rosetta.protocols.jd3.InnerLarvalJob, setting: int) -> None
Set the total number of Nstruct for this InnerLarvelJob (IE - how many LarvalJobs will we need?)
C++: protocols::jd3::InnerLarvalJob::nstruct_max(unsigned long) –> void
- outputter(*args, **kwargs)¶
Overloaded function.
outputter(self: pyrosetta.rosetta.protocols.jd3.InnerLarvalJob) -> str
Return the outputter class; i.e. the key used by the PoseOutputterFactory
C++: protocols::jd3::InnerLarvalJob::outputter() const –> std::string
outputter(self: pyrosetta.rosetta.protocols.jd3.InnerLarvalJob, setting: str) -> None
Set the outputter class for this job; i.e. the key used by the PoseOutputterFactory
C++: protocols::jd3::InnerLarvalJob::outputter(const std::string &) –> void
- same_type(self: pyrosetta.rosetta.protocols.jd3.InnerLarvalJob, other: pyrosetta.rosetta.protocols.jd3.InnerLarvalJob) bool ¶
- returns true if this is the same type as other;
does not call other.same_type()
C++: protocols::jd3::InnerLarvalJob::same_type(const class protocols::jd3::InnerLarvalJob &) const –> bool
- set_bad(*args, **kwargs)¶
Overloaded function.
set_bad(self: pyrosetta.rosetta.protocols.jd3.InnerLarvalJob) -> None
set_bad(self: pyrosetta.rosetta.protocols.jd3.InnerLarvalJob, setting: bool) -> None
- Store the fact that this job is bad, for some reason or another, e.g. it has
malformed inputs.
C++: protocols::jd3::InnerLarvalJob::set_bad(bool) –> void
- show(self: pyrosetta.rosetta.protocols.jd3.InnerLarvalJob, out: pyrosetta.rosetta.std.ostream) None ¶
C++: protocols::jd3::InnerLarvalJob::show(std::ostream &) const –> void
- sources_same(self: pyrosetta.rosetta.protocols.jd3.InnerLarvalJob, other: pyrosetta.rosetta.protocols.jd3.InnerLarvalJob) bool ¶
Determine if two jobs are defined with the same set of InputSources
C++: protocols::jd3::InnerLarvalJob::sources_same(const class protocols::jd3::InnerLarvalJob &) const –> bool
- class pyrosetta.rosetta.protocols.jd3.InputSource¶
Bases:
pybind11_object
The %InputSource is a small class for holding data about the starting Pose for a Job and where it comes from (i.e. which of the Inputters claims responsibility for creating a Pose for this instance). The “input_tag” is a string description of the input source and will be used as the “job_tag” to control output – the input tag should not include the file extension. It is perfectly reasonable for complex Inputters to subclass from InputSource to tuck more complex data in the InputSource, though, the string-string map ought to provide considerable flexibility in storing data without deriving new subclasses.
- assign(self: pyrosetta.rosetta.protocols.jd3.InputSource, : pyrosetta.rosetta.protocols.jd3.InputSource) pyrosetta.rosetta.protocols.jd3.InputSource ¶
C++: protocols::jd3::InputSource::operator=(const class protocols::jd3::InputSource &) –> class protocols::jd3::InputSource &
- input_tag(*args, **kwargs)¶
Overloaded function.
input_tag(self: pyrosetta.rosetta.protocols.jd3.InputSource) -> str
C++: protocols::jd3::InputSource::input_tag() const –> const std::string &
input_tag(self: pyrosetta.rosetta.protocols.jd3.InputSource, setting: str) -> None
C++: protocols::jd3::InputSource::input_tag(const std::string &) –> void
- origin(*args, **kwargs)¶
Overloaded function.
origin(self: pyrosetta.rosetta.protocols.jd3.InputSource) -> str
C++: protocols::jd3::InputSource::origin() const –> const std::string &
origin(self: pyrosetta.rosetta.protocols.jd3.InputSource, setting: str) -> None
C++: protocols::jd3::InputSource::origin(const std::string &) –> void
- source_id(*args, **kwargs)¶
Overloaded function.
source_id(self: pyrosetta.rosetta.protocols.jd3.InputSource) -> int
C++: protocols::jd3::InputSource::source_id() const –> unsigned long
source_id(self: pyrosetta.rosetta.protocols.jd3.InputSource, setting: int) -> None
C++: protocols::jd3::InputSource::source_id(unsigned long) –> void
- class pyrosetta.rosetta.protocols.jd3.JGJobNode¶
Bases:
pybind11_object
- add_parent(*args, **kwargs)¶
Overloaded function.
add_parent(self: pyrosetta.rosetta.protocols.jd3.JGJobNode, p: pyrosetta.rosetta.std.weak_ptr_protocols_jd3_JGResultNode_t) -> None
add_parent(self: pyrosetta.rosetta.protocols.jd3.JGJobNode, p: pyrosetta.rosetta.std.weak_ptr_protocols_jd3_JGResultNode_t, tell_parent_to_add_child: bool) -> None
Like humans, the JGJobNode can have more than one parent.
please only set tell_parent_to_add_child to false if you plan on adding this job node to p’s vector of children. The parent/child relationship is very complicated when only one of the two parties knows about the relationship.
C++: protocols::jd3::JGJobNode::add_parent(class std::weak_ptr<class protocols::jd3::JGResultNode>, bool) –> void
- assign(self: pyrosetta.rosetta.protocols.jd3.JGJobNode, : pyrosetta.rosetta.protocols.jd3.JGJobNode) pyrosetta.rosetta.protocols.jd3.JGJobNode ¶
C++: protocols::jd3::JGJobNode::operator=(const class protocols::jd3::JGJobNode &) –> class protocols::jd3::JGJobNode &
- children(self: pyrosetta.rosetta.protocols.jd3.JGJobNode) pyrosetta.rosetta.utility.vector1_std_weak_ptr_protocols_jd3_JGResultNode_t ¶
C++: protocols::jd3::JGJobNode::children() –> class utility::vector1<class std::weak_ptr<class protocols::jd3::JGResultNode>, class std::allocator<class std::weak_ptr<class protocols::jd3::JGResultNode> > > &
- global_job_id(*args, **kwargs)¶
Overloaded function.
global_job_id(self: pyrosetta.rosetta.protocols.jd3.JGJobNode) -> int
C++: protocols::jd3::JGJobNode::global_job_id() const –> unsigned long
global_job_id(self: pyrosetta.rosetta.protocols.jd3.JGJobNode, global_job_id: int) -> None
C++: protocols::jd3::JGJobNode::global_job_id(unsigned long) –> void
- input_source_id(*args, **kwargs)¶
Overloaded function.
input_source_id(self: pyrosetta.rosetta.protocols.jd3.JGJobNode) -> int
C++: protocols::jd3::JGJobNode::input_source_id() const –> unsigned int
input_source_id(self: pyrosetta.rosetta.protocols.jd3.JGJobNode, input_source_id: int) -> None
C++: protocols::jd3::JGJobNode::input_source_id(unsigned int) –> void
- job_dag_node(*args, **kwargs)¶
Overloaded function.
job_dag_node(self: pyrosetta.rosetta.protocols.jd3.JGJobNode) -> int
“Node” is the most over-used word in this file. This method calls node() but has a more descriptive name so that we know what type of node we are talking about.
C++: protocols::jd3::JGJobNode::job_dag_node() const –> unsigned int
job_dag_node(self: pyrosetta.rosetta.protocols.jd3.JGJobNode, node: int) -> None
“Node” is the most over-used word in this file. This method calls node() but has a more descriptive name so that we know what type of node we are talking about.
C++: protocols::jd3::JGJobNode::job_dag_node(unsigned int) –> void
- node(*args, **kwargs)¶
Overloaded function.
node(self: pyrosetta.rosetta.protocols.jd3.JGJobNode) -> int
C++: protocols::jd3::JGJobNode::node() const –> unsigned int
node(self: pyrosetta.rosetta.protocols.jd3.JGJobNode, node: int) -> None
C++: protocols::jd3::JGJobNode::node(unsigned int) –> void
- parents(self: pyrosetta.rosetta.protocols.jd3.JGJobNode) pyrosetta.rosetta.utility.vector1_std_weak_ptr_protocols_jd3_JGResultNode_t ¶
C++: protocols::jd3::JGJobNode::parents() –> class utility::vector1<class std::weak_ptr<class protocols::jd3::JGResultNode>, class std::allocator<class std::weak_ptr<class protocols::jd3::JGResultNode> > > &
- remove_parent(*args, **kwargs)¶
Overloaded function.
remove_parent(self: pyrosetta.rosetta.protocols.jd3.JGJobNode, p: pyrosetta.rosetta.std.weak_ptr_protocols_jd3_JGResultNode_t) -> bool
remove_parent(self: pyrosetta.rosetta.protocols.jd3.JGJobNode, p: pyrosetta.rosetta.std.weak_ptr_protocols_jd3_JGResultNode_t, tell_parent_to_remove_child: bool) -> bool
please only set tell_parent_to_add_child to false if you plan on removing this job node from p’s vector of children. The parent/child relationship is very complicated when only one of the two parties knows that the relationship has ended.
C++: protocols::jd3::JGJobNode::remove_parent(class std::weak_ptr<class protocols::jd3::JGResultNode>, bool) –> bool
- class pyrosetta.rosetta.protocols.jd3.JGResultNode¶
Bases:
pybind11_object
- add_child(*args, **kwargs)¶
Overloaded function.
add_child(self: pyrosetta.rosetta.protocols.jd3.JGResultNode, c: pyrosetta.rosetta.std.weak_ptr_protocols_jd3_JGJobNode_t) -> None
add_child(self: pyrosetta.rosetta.protocols.jd3.JGResultNode, c: pyrosetta.rosetta.std.weak_ptr_protocols_jd3_JGJobNode_t, tell_child_to_add_parent: bool) -> None
Like humans, the JGResultNode can have more than one child.
please only set tell_child_to_add_parent to false if you plan on adding this result node to c’s vector of parents. The parent/child relationship is very complicated when only one of the two parties knows about the relationship.
C++: protocols::jd3::JGResultNode::add_child(class std::weak_ptr<class protocols::jd3::JGJobNode>, bool) –> void
- assign(self: pyrosetta.rosetta.protocols.jd3.JGResultNode, : pyrosetta.rosetta.protocols.jd3.JGResultNode) pyrosetta.rosetta.protocols.jd3.JGResultNode ¶
C++: protocols::jd3::JGResultNode::operator=(const class protocols::jd3::JGResultNode &) –> class protocols::jd3::JGResultNode &
- children(self: pyrosetta.rosetta.protocols.jd3.JGResultNode) pyrosetta.rosetta.utility.vector1_std_weak_ptr_protocols_jd3_JGJobNode_t ¶
Be careful here! The vector is const but the elements are not
C++: protocols::jd3::JGResultNode::children() const –> const class utility::vector1<class std::weak_ptr<class protocols::jd3::JGJobNode>, class std::allocator<class std::weak_ptr<class protocols::jd3::JGJobNode> > > &
- parent(*args, **kwargs)¶
Overloaded function.
parent(self: pyrosetta.rosetta.protocols.jd3.JGResultNode) -> pyrosetta.rosetta.std.weak_ptr_const_protocols_jd3_JGJobNode_t
C++: protocols::jd3::JGResultNode::parent() const –> class std::weak_ptr<const class protocols::jd3::JGJobNode>
parent(self: pyrosetta.rosetta.protocols.jd3.JGResultNode, parent: pyrosetta.rosetta.std.weak_ptr_protocols_jd3_JGJobNode_t) -> None
C++: protocols::jd3::JGResultNode::parent(class std::weak_ptr<class protocols::jd3::JGJobNode>) –> void
- remove_child(*args, **kwargs)¶
Overloaded function.
remove_child(self: pyrosetta.rosetta.protocols.jd3.JGResultNode, c: pyrosetta.rosetta.std.weak_ptr_protocols_jd3_JGJobNode_t) -> bool
remove_child(self: pyrosetta.rosetta.protocols.jd3.JGResultNode, c: pyrosetta.rosetta.std.weak_ptr_protocols_jd3_JGJobNode_t, tell_child_to_remove_parent: bool) -> bool
please only set tell_child_to_remove_parent to false if you plan on removing this result node from c’s vector of parents. The parent/child relationship is very complicated when only one of the two parties knows that the relationship has ended.
C++: protocols::jd3::JGResultNode::remove_child(class std::weak_ptr<class protocols::jd3::JGJobNode>, bool) –> bool
- result_id(*args, **kwargs)¶
Overloaded function.
result_id(self: pyrosetta.rosetta.protocols.jd3.JGResultNode) -> int
C++: protocols::jd3::JGResultNode::result_id() const –> unsigned int
result_id(self: pyrosetta.rosetta.protocols.jd3.JGResultNode, result_id: int) -> None
C++: protocols::jd3::JGResultNode::result_id(unsigned int) –> void
- class pyrosetta.rosetta.protocols.jd3.JQKey¶
Bases:
pybind11_object
This key can be used by to delineate other classes to store/maintain data used by the JQ
- class pyrosetta.rosetta.protocols.jd3.Job¶
Bases:
pybind11_object
%protocols::jd3::Job, which is created by the JobQueen from a LarvalJob, is responsible for executing some protocol from beginning to end in its “run” method. It must write all of its output data to the JobResult object that it creates and returns.
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 inside the JobResult to be eventually retrieved by the JobQueen or by a JobDataOutputter at the end of execution.
- assign(self: pyrosetta.rosetta.protocols.jd3.Job, : pyrosetta.rosetta.protocols.jd3.Job) pyrosetta.rosetta.protocols.jd3.Job ¶
C++: protocols::jd3::Job::operator=(const class protocols::jd3::Job &) –> class protocols::jd3::Job &
- run(self: pyrosetta.rosetta.protocols.jd3.Job) pyrosetta.rosetta.protocols.jd3.CompletedJobOutput ¶
- This is the main function of the Job object. It will be invoked by the JobDistributor.
The Job will return a JobResult at the conclusion of its execution, and the JobResult will be serialized and sent to the appropriate JobQueen for processing and output. The Job itself will be discarded. Large constant data that might be shared between multiple jobs can be held by the Job object (or by classes that the Job object holds) but that data should not be put into the JobResult – large data should not be repeatedly serialized and shipped between nodes.
C++: protocols::jd3::Job::run() –> struct protocols::jd3::CompletedJobOutput
- class pyrosetta.rosetta.protocols.jd3.JobDigraph¶
Bases:
Digraph
A Digraph for storing the relationship between groups of jobs, so that each node in this graph represents a group of jobs, and if the outputs from one group are inputs to another group, then a directed edge from the first group to the second group will be in the graph. The JobDistributor will run all of the jobs in the first group before any of the jobs in the second group will start.
- add_edge(*args, **kwargs)¶
Overloaded function.
add_edge(self: pyrosetta.rosetta.utility.graph.Digraph, tail_node: int, head_node: int) -> pyrosetta.rosetta.utility.graph.DirectedEdge
- add a directed edge between two vertices. Invokes “create_edge” from the derived class.
Returns a pointer to the edge after its been added, allowing the calling function to immediately set data for this edge.
C++: utility::graph::Digraph::add_edge(unsigned long, unsigned long) –> class utility::graph::DirectedEdge *
add_edge(self: pyrosetta.rosetta.utility.graph.Digraph, example_edge: pyrosetta.rosetta.utility.graph.DirectedEdge) -> pyrosetta.rosetta.utility.graph.DirectedEdge
- add an edge to this graph copying the data from an edge in another graph.
Returns a pointer to the edge after its been added, allowing the calling function to immediately set data for this edge.
C++: utility::graph::Digraph::add_edge(const class utility::graph::DirectedEdge *) –> class utility::graph::DirectedEdge *
- add_node(self: pyrosetta.rosetta.utility.graph.Digraph) None ¶
Add a new node to the graph; preserve all of the existing edges in the graph
C++: utility::graph::Digraph::add_node() –> void
- assign(self: pyrosetta.rosetta.protocols.jd3.JobDigraph, source: pyrosetta.rosetta.protocols.jd3.JobDigraph) pyrosetta.rosetta.protocols.jd3.JobDigraph ¶
assignment operator. source and this must have the same type.
C++: protocols::jd3::JobDigraph::operator=(const class protocols::jd3::JobDigraph &) –> class protocols::jd3::JobDigraph &
- const_edge_list_begin(self: pyrosetta.rosetta.utility.graph.Digraph) pyrosetta.rosetta.utility.graph.DirectedEdgeListConstIterator ¶
- returns a const iterator to the beginning of the (unordered) edge list for the graph.
this edge list contains all the edges in the graph, not simply those for a particular vertex
C++: utility::graph::Digraph::const_edge_list_begin() const –> class utility::graph::DirectedEdgeListConstIterator
- const_edge_list_end(self: pyrosetta.rosetta.utility.graph.Digraph) pyrosetta.rosetta.utility.graph.DirectedEdgeListConstIterator ¶
- returns a const iterator to the end of the (unordered) edge list for the graph.
this edge list contains all the edges in the graph, not simply those for a particular vertex
C++: utility::graph::Digraph::const_edge_list_end() const –> class utility::graph::DirectedEdgeListConstIterator
- copy_connectivity(self: pyrosetta.rosetta.utility.graph.Digraph, source: pyrosetta.rosetta.utility.graph.Digraph) None ¶
- copy the edge connectivity from a source graph with a potentially
unknown type.
C++: utility::graph::Digraph::copy_connectivity(const class utility::graph::Digraph &) –> void
- delete_edge(self: pyrosetta.rosetta.protocols.jd3.JobDigraph, edge: pyrosetta.rosetta.utility.graph.DirectedEdge) None ¶
- remove an edge from the graph. (NEW AS OF 12/9/07) Never call C++’s
“delete” function on an edge pointer directly. Derived classes must implement this function. If they wish to use unordered_object_pools to manage their memory
C++: protocols::jd3::JobDigraph::delete_edge(class utility::graph::DirectedEdge *) –> void
- drop_all_edges(self: pyrosetta.rosetta.utility.graph.Digraph) None ¶
delete all the edges present in the graph
C++: utility::graph::Digraph::drop_all_edges() –> void
- drop_all_edges_for_node(self: pyrosetta.rosetta.utility.graph.Digraph, node: int) None ¶
delete all the edges for a single vertex in the graph
C++: utility::graph::Digraph::drop_all_edges_for_node(unsigned long) –> void
- edge_list_begin(self: pyrosetta.rosetta.utility.graph.Digraph) pyrosetta.rosetta.utility.graph.DirectedEdgeListIterator ¶
- returns a non-const iterator to the beginning of the (unordered) edge list for the graph.
this edge list contains all the edges in the graph, not simply those for a particular vertex
C++: utility::graph::Digraph::edge_list_begin() –> class utility::graph::DirectedEdgeListIterator
- edge_list_end(self: pyrosetta.rosetta.utility.graph.Digraph) pyrosetta.rosetta.utility.graph.DirectedEdgeListIterator ¶
- returns a non-const iterator to the end of the (unordered) edge list for the graph.
this edge list contains all the edges in the graph, not simply those for a particular vertex
C++: utility::graph::Digraph::edge_list_end() –> class utility::graph::DirectedEdgeListIterator
- find_edge(self: pyrosetta.rosetta.utility.graph.Digraph, tail_node: int, head_node: int) pyrosetta.rosetta.utility.graph.DirectedEdge ¶
- returns a pointer to the directed edge connecting nodes tail_node and head_node, if that edge exists
in the graph, o.w. returns 0. Focuses the graph on this edge for fast subsequent retrieval.
C++: utility::graph::Digraph::find_edge(unsigned long, unsigned long) –> class utility::graph::DirectedEdge *
- find_job_edge(self: pyrosetta.rosetta.protocols.jd3.JobDigraph, tail_node: int, head_node: int) pyrosetta.rosetta.protocols.jd3.JobDirectedEdge ¶
- returns a pointer to the directed edge connecting nodes tail_node and head_node, if that edge exists
in the graph, o.w. returns 0. Focuses the graph on this edge for fast subsequent retrieval.
C++: protocols::jd3::JobDigraph::find_job_edge(unsigned long, unsigned long) –> class protocols::jd3::JobDirectedEdge *
- focused_edge(self: pyrosetta.rosetta.utility.graph.Digraph) pyrosetta.rosetta.utility.graph.DirectedEdge ¶
returns a pointer to the focused edge
C++: utility::graph::Digraph::focused_edge() –> class utility::graph::DirectedEdge *
- getTotalMemoryUsage(self: pyrosetta.rosetta.utility.graph.Digraph) int ¶
- returns a count of all the memory used by every vertex and edge in a graph
by invoking the polymorphic count_static_memory and count_dynamic_memory of each (possibly derived) node and edge object as well as for the (possibly derived) graph class.
C++: utility::graph::Digraph::getTotalMemoryUsage() const –> unsigned long
- get_edge_exists(self: pyrosetta.rosetta.utility.graph.Digraph, tail_node: int, head_node: int) bool ¶
is an edge already present in the graph? O(V) worst case. O(1) iff all vertices have O(1) edges
C++: utility::graph::Digraph::get_edge_exists(unsigned long, unsigned long) const –> bool
- get_job_node(self: pyrosetta.rosetta.protocols.jd3.JobDigraph, index: int) pyrosetta.rosetta.protocols.jd3.JobDirectedNode ¶
C++: protocols::jd3::JobDigraph::get_job_node(unsigned long) –> class protocols::jd3::JobDirectedNode *
- get_node(self: pyrosetta.rosetta.utility.graph.Digraph, index: int) pyrosetta.rosetta.utility.graph.DirectedNode ¶
C++: utility::graph::Digraph::get_node(unsigned long) –> class utility::graph::DirectedNode *
- get_self_ptr(self: pyrosetta.rosetta.utility.graph.Digraph) pyrosetta.rosetta.utility.graph.Digraph ¶
C++: utility::graph::Digraph::get_self_ptr() –> class std::shared_ptr<class utility::graph::Digraph>
- num_edges(self: pyrosetta.rosetta.utility.graph.Digraph) int ¶
C++: utility::graph::Digraph::num_edges() const –> unsigned long
- num_nodes(self: pyrosetta.rosetta.utility.graph.Digraph) int ¶
the number of nodes in the graph
C++: utility::graph::Digraph::num_nodes() const –> unsigned long
- output_connectivity(self: pyrosetta.rosetta.utility.graph.Digraph, os: pyrosetta.rosetta.std.ostream) None ¶
send an edge list to the stream os.
C++: utility::graph::Digraph::output_connectivity(std::ostream &) const –> void
- output_dimacs(self: pyrosetta.rosetta.utility.graph.Digraph, os: pyrosetta.rosetta.std.ostream) None ¶
describe this graph in dimacs form to the stream os.
C++: utility::graph::Digraph::output_dimacs(std::ostream &) const –> void
- print_vertices(self: pyrosetta.rosetta.utility.graph.Digraph) None ¶
send summary information to the screen for all vertices in the graph
C++: utility::graph::Digraph::print_vertices() const –> void
- set_num_nodes(self: pyrosetta.rosetta.utility.graph.Digraph, num_nodes: int) None ¶
set the number of nodes in the graph – deletes any existing edges in the graph
C++: utility::graph::Digraph::set_num_nodes(unsigned long) –> void
- class pyrosetta.rosetta.protocols.jd3.JobDigraphUpdater¶
Bases:
pybind11_object
This class defines the set of operations that a JobQueen can perform to update the JobDigraph that she originally gave to the JobDistributor. In particular, the JobQueen may only update the JobDigraph by adding new nodes to the graph (which will receive incrementally larger indexes) and then adding edges to the graph such that the head node for the edge must land on one of the newly added nodes in the graph. The JobDistributor will hand the JobQueen a JobDigraphUpdater through the JobQueen’s update_job_digraph method, and in this call, the JobQueen may add as many nodes as she wishes, and as many edges that land on those new nodes, but when the method exits, those nodes petrify: the JobQueen may not add any more edges that land on those new nodes.
- add_edge_to_new_node(self: pyrosetta.rosetta.protocols.jd3.JobDigraphUpdater, tail_node: int, head_node: int) None ¶
- Add an edge to the graph where the head_node for this edge has to be one of the nodes added
to the graph since the creation of this updater
C++: protocols::jd3::JobDigraphUpdater::add_edge_to_new_node(unsigned long, unsigned long) –> void
- add_node(*args, **kwargs)¶
Overloaded function.
add_node(self: pyrosetta.rosetta.protocols.jd3.JobDigraphUpdater) -> None
Add a new node to the JobDigraph that this class holds.
C++: protocols::jd3::JobDigraphUpdater::add_node() –> void
add_node(self: pyrosetta.rosetta.protocols.jd3.JobDigraphUpdater, node_type_label: str) -> None
Add a new node to the JobDigraph that this class holds, setting the node type
C++: protocols::jd3::JobDigraphUpdater::add_node(std::string) –> void
- job_dag(self: pyrosetta.rosetta.protocols.jd3.JobDigraphUpdater) pyrosetta.rosetta.protocols.jd3.JobDigraph ¶
Read access to the JobDigraph that the updater holds
C++: protocols::jd3::JobDigraphUpdater::job_dag() const –> class std::shared_ptr<const class protocols::jd3::JobDigraph>
- orig_num_nodes(self: pyrosetta.rosetta.protocols.jd3.JobDigraphUpdater) int ¶
C++: protocols::jd3::JobDigraphUpdater::orig_num_nodes() const –> unsigned long
- class pyrosetta.rosetta.protocols.jd3.JobDirectedEdge¶
Bases:
DirectedEdge
A run-of-the-mill directed edge to use in JobDigraphs
- copy_from(self: pyrosetta.rosetta.protocols.jd3.JobDirectedEdge, source: pyrosetta.rosetta.utility.graph.DirectedEdge) None ¶
- copy-from for use in Digraph::operator= and copy ctors. The source node
must be a JobDirectedEdge
C++: protocols::jd3::JobDirectedEdge::copy_from(const class utility::graph::DirectedEdge *) –> void
- count_dynamic_memory(self: pyrosetta.rosetta.protocols.jd3.JobDirectedEdge) int ¶
- how much memory is dynamically allocated by this edge – must be recursively invoked
by a derived class.
C++: protocols::jd3::JobDirectedEdge::count_dynamic_memory() const –> unsigned long
- count_static_memory(self: pyrosetta.rosetta.protocols.jd3.JobDirectedEdge) int ¶
how much memory is statically allocated by this edge
C++: protocols::jd3::JobDirectedEdge::count_static_memory() const –> unsigned long
- get_head_node(self: pyrosetta.rosetta.utility.graph.DirectedEdge) pyrosetta.rosetta.utility.graph.DirectedNode ¶
returns a pointer to the head node
C++: utility::graph::DirectedEdge::get_head_node() –> class utility::graph::DirectedNode *
- get_head_node_ind(self: pyrosetta.rosetta.utility.graph.DirectedEdge) int ¶
returns the index of the upper node
C++: utility::graph::DirectedEdge::get_head_node_ind() const –> unsigned long
- get_other_ind(self: pyrosetta.rosetta.utility.graph.DirectedEdge, node_index: int) int ¶
- returns the index of the one node given the index of the other.
node_index must be one of the two nodes that this edge is incident upon.
C++: utility::graph::DirectedEdge::get_other_ind(unsigned long) const –> unsigned long
- get_other_node(self: pyrosetta.rosetta.utility.graph.DirectedEdge, node_index: int) pyrosetta.rosetta.utility.graph.DirectedNode ¶
- returns a non-const pointer to one node given the index of the other.
node_index must be one of the two nodes that this edge is incident upon.
C++: utility::graph::DirectedEdge::get_other_node(unsigned long) –> class utility::graph::DirectedNode *
- get_tail_node(self: pyrosetta.rosetta.utility.graph.DirectedEdge) pyrosetta.rosetta.utility.graph.DirectedNode ¶
returns a pointer to the tail node
C++: utility::graph::DirectedEdge::get_tail_node() –> class utility::graph::DirectedNode *
- get_tail_node_ind(self: pyrosetta.rosetta.utility.graph.DirectedEdge) int ¶
returns the index of the tail node
C++: utility::graph::DirectedEdge::get_tail_node_ind() const –> unsigned long
- is_head_node(self: pyrosetta.rosetta.utility.graph.DirectedEdge, node_index: int) bool ¶
C++: utility::graph::DirectedEdge::is_head_node(unsigned long) –> bool
- is_tail_node(self: pyrosetta.rosetta.utility.graph.DirectedEdge, node_index: int) bool ¶
C++: utility::graph::DirectedEdge::is_tail_node(unsigned long) –> bool
- same_edge(self: pyrosetta.rosetta.utility.graph.DirectedEdge, tail_node: int, head_node: int) bool ¶
- Is this the same edge as another edge (tail_node,head_node)? Note:
this graph does not work for multi-graphs. DirectedEdges must be unique.
C++: utility::graph::DirectedEdge::same_edge(unsigned long, unsigned long) const –> bool
- set_pos_in_owners_list(self: pyrosetta.rosetta.utility.graph.DirectedEdge, edge_iterator: pyrosetta.rosetta.utility.graph.DirectedEdgeListIterator) None ¶
- called only by class Digraph, this function gives the DirectedEdge the data it needs
to later delete itself from its owner’s edge list in constant time.
C++: utility::graph::DirectedEdge::set_pos_in_owners_list(class utility::graph::DirectedEdgeListIterator) –> void
- class pyrosetta.rosetta.protocols.jd3.JobDirectedNode¶
Bases:
DirectedNode
A node to use in JobDigraphs that holds information about how much work has completed for the set of jobs that it represents.
- add_incoming_edge(self: pyrosetta.rosetta.protocols.jd3.JobDirectedNode, edge_ptr: pyrosetta.rosetta.utility.graph.DirectedEdge, : pyrosetta.rosetta.utility.graph.DirectedEdgeListIterator) None ¶
C++: protocols::jd3::JobDirectedNode::add_incoming_edge(class utility::graph::DirectedEdge *, class utility::graph::DirectedEdgeListIterator &) –> void
- add_outgoing_edge(self: pyrosetta.rosetta.utility.graph.DirectedNode, edge_ptr: utility::graph::DirectedEdge, : pyrosetta.rosetta.utility.graph.DirectedEdgeListIterator) None ¶
- adds an edge pointer to node’s edge list as an outgoing edge
i.e. this node is the tail of the arrow; returns an iterator to the new list element. Virtual so derived classes can observe when incoming edges are added.
C++: utility::graph::DirectedNode::add_outgoing_edge(class utility::graph::DirectedEdge *, class utility::graph::DirectedEdgeListIterator &) –> void
- all_jobs_completed(*args, **kwargs)¶
Overloaded function.
all_jobs_completed(self: pyrosetta.rosetta.protocols.jd3.JobDirectedNode, setting: bool) -> None
C++: protocols::jd3::JobDirectedNode::all_jobs_completed(bool) –> void
all_jobs_completed(self: pyrosetta.rosetta.protocols.jd3.JobDirectedNode) -> bool
C++: protocols::jd3::JobDirectedNode::all_jobs_completed() const –> bool
- all_jobs_started(*args, **kwargs)¶
Overloaded function.
all_jobs_started(self: pyrosetta.rosetta.protocols.jd3.JobDirectedNode, setting: bool) -> None
C++: protocols::jd3::JobDirectedNode::all_jobs_started(bool) –> void
all_jobs_started(self: pyrosetta.rosetta.protocols.jd3.JobDirectedNode) -> bool
C++: protocols::jd3::JobDirectedNode::all_jobs_started() const –> bool
- const_edge_list_begin(self: pyrosetta.rosetta.utility.graph.DirectedNode) pyrosetta.rosetta.utility.graph.DirectedEdgeListConstIterator ¶
returns a const iterator to the beginning of its edge list
C++: utility::graph::DirectedNode::const_edge_list_begin() const –> class utility::graph::DirectedEdgeListConstIterator
- const_edge_list_end(self: pyrosetta.rosetta.utility.graph.DirectedNode) pyrosetta.rosetta.utility.graph.DirectedEdgeListConstIterator ¶
returns a const iterator to the end of its edge list
C++: utility::graph::DirectedNode::const_edge_list_end() const –> class utility::graph::DirectedEdgeListConstIterator
- const_incoming_edge_list_begin(self: pyrosetta.rosetta.utility.graph.DirectedNode) pyrosetta.rosetta.utility.graph.DirectedEdgeListConstIterator ¶
returns a const iterator to the beginning of its incoming-edge list
C++: utility::graph::DirectedNode::const_incoming_edge_list_begin() const –> class utility::graph::DirectedEdgeListConstIterator
- const_incoming_edge_list_end(self: pyrosetta.rosetta.utility.graph.DirectedNode) pyrosetta.rosetta.utility.graph.DirectedEdgeListConstIterator ¶
returns a const iterator to the end of its lower-edge list
C++: utility::graph::DirectedNode::const_incoming_edge_list_end() const –> class utility::graph::DirectedEdgeListConstIterator
- const_outgoing_edge_list_begin(self: pyrosetta.rosetta.utility.graph.DirectedNode) pyrosetta.rosetta.utility.graph.DirectedEdgeListConstIterator ¶
returns a const iterator to the beginning of its outgoing-edge list
C++: utility::graph::DirectedNode::const_outgoing_edge_list_begin() const –> class utility::graph::DirectedEdgeListConstIterator
- const_outgoing_edge_list_end(self: pyrosetta.rosetta.utility.graph.DirectedNode) pyrosetta.rosetta.utility.graph.DirectedEdgeListConstIterator ¶
returns a const iterator to the end of its outgoing-edge list
C++: utility::graph::DirectedNode::const_outgoing_edge_list_end() const –> class utility::graph::DirectedEdgeListConstIterator
- copy_from(self: pyrosetta.rosetta.protocols.jd3.JobDirectedNode, source: pyrosetta.rosetta.utility.graph.DirectedNode) None ¶
- invoked during graph assignment operators to copy any
node data from one graph to another graph. The source node must be the same type as this node.
C++: protocols::jd3::JobDirectedNode::copy_from(const class utility::graph::DirectedNode *) –> void
- count_dynamic_memory(self: pyrosetta.rosetta.protocols.jd3.JobDirectedNode) int ¶
memory accounting scheme
C++: protocols::jd3::JobDirectedNode::count_dynamic_memory() const –> unsigned long
- count_static_memory(self: pyrosetta.rosetta.protocols.jd3.JobDirectedNode) int ¶
memory accounting scheme
C++: protocols::jd3::JobDirectedNode::count_static_memory() const –> unsigned long
- drop_all_edges(self: pyrosetta.rosetta.utility.graph.DirectedNode) None ¶
deletes all edges incident upon this node
C++: utility::graph::DirectedNode::drop_all_edges() –> void
- drop_edge(self: pyrosetta.rosetta.utility.graph.DirectedNode, edge_iterator: pyrosetta.rosetta.utility.graph.DirectedEdgeListIterator) None ¶
removes an edge iterator from the node’s edge list. Only called by DirectedEdge class.
C++: utility::graph::DirectedNode::drop_edge(class utility::graph::DirectedEdgeListIterator) –> void
- edge_list_begin(self: pyrosetta.rosetta.utility.graph.DirectedNode) pyrosetta.rosetta.utility.graph.DirectedEdgeListIterator ¶
returns a non-const iterator to the beginning of its edge list
C++: utility::graph::DirectedNode::edge_list_begin() –> class utility::graph::DirectedEdgeListIterator
- edge_list_end(self: pyrosetta.rosetta.utility.graph.DirectedNode) pyrosetta.rosetta.utility.graph.DirectedEdgeListIterator ¶
returns a non-const iterator to the end of its edge list
C++: utility::graph::DirectedNode::edge_list_end() –> class utility::graph::DirectedEdgeListIterator
- find_edge_from(self: pyrosetta.rosetta.utility.graph.DirectedNode, head_node: int) utility::graph::DirectedEdge ¶
a “slow” (linear) search for an edge.
C++: utility::graph::DirectedNode::find_edge_from(unsigned long) –> class utility::graph::DirectedEdge *
- find_edge_to(self: pyrosetta.rosetta.utility.graph.DirectedNode, tail_node: int) utility::graph::DirectedEdge ¶
a “slow” (linear) search for an edge.
C++: utility::graph::DirectedNode::find_edge_to(unsigned long) –> class utility::graph::DirectedEdge *
- get_node_index(self: pyrosetta.rosetta.utility.graph.DirectedNode) int ¶
the index for this node
C++: utility::graph::DirectedNode::get_node_index() const –> unsigned long
- get_node_label(self: pyrosetta.rosetta.protocols.jd3.JobDirectedNode) str ¶
Get this Node’s primary type
Can be used to create the Job for this Job Node. Ex. Linear set of 2 stages per input structure, we would use 2 node labels to construct Jobs for each input based on a common job.
C++: protocols::jd3::JobDirectedNode::get_node_label() const –> std::string
- incoming_edge_list_begin(self: pyrosetta.rosetta.utility.graph.DirectedNode) pyrosetta.rosetta.utility.graph.DirectedEdgeListIterator ¶
returns a non-const iterator to the beginning of its incoming-edge list
C++: utility::graph::DirectedNode::incoming_edge_list_begin() –> class utility::graph::DirectedEdgeListIterator
- incoming_edge_list_end(self: pyrosetta.rosetta.utility.graph.DirectedNode) pyrosetta.rosetta.utility.graph.DirectedEdgeListIterator ¶
returns a non-const iterator to the end of its lower-edge list
C++: utility::graph::DirectedNode::incoming_edge_list_end() –> class utility::graph::DirectedEdgeListIterator
- indegree(self: pyrosetta.rosetta.utility.graph.DirectedNode) int ¶
the number of incoming edges
C++: utility::graph::DirectedNode::indegree() const –> unsigned long
- n_predecessors_w_outstanding_jobs(self: pyrosetta.rosetta.protocols.jd3.JobDirectedNode) int ¶
C++: protocols::jd3::JobDirectedNode::n_predecessors_w_outstanding_jobs() const –> unsigned long
- num_edges(self: pyrosetta.rosetta.utility.graph.DirectedNode) int ¶
the number of edges incident on this node, which may include a loop edge
C++: utility::graph::DirectedNode::num_edges() const –> unsigned long
- num_neighbors_counting_self(self: pyrosetta.rosetta.utility.graph.DirectedNode) int ¶
the number of neighbors counting “self” as a neighbor.
C++: utility::graph::DirectedNode::num_neighbors_counting_self() const –> unsigned long
- outdegree(self: pyrosetta.rosetta.utility.graph.DirectedNode) int ¶
the number of outgoing edges
C++: utility::graph::DirectedNode::outdegree() const –> unsigned long
- outgoing_edge_list_begin(self: pyrosetta.rosetta.utility.graph.DirectedNode) pyrosetta.rosetta.utility.graph.DirectedEdgeListIterator ¶
returns a non-const iterator to the beginning of its outgoing-edge list
C++: utility::graph::DirectedNode::outgoing_edge_list_begin() –> class utility::graph::DirectedEdgeListIterator
- outgoing_edge_list_end(self: pyrosetta.rosetta.utility.graph.DirectedNode) pyrosetta.rosetta.utility.graph.DirectedEdgeListIterator ¶
returns a non-const iterator to the end of its outgoing-edge list
C++: utility::graph::DirectedNode::outgoing_edge_list_end() –> class utility::graph::DirectedEdgeListIterator
- print(self: pyrosetta.rosetta.utility.graph.DirectedNode) None ¶
send summaray data about this node to the screen
C++: utility::graph::DirectedNode::print() const –> void
- set_node_label(self: pyrosetta.rosetta.protocols.jd3.JobDirectedNode, node_label: str) None ¶
Set the primary node type label.
Can be used to create the Job for this Job Node. Ex. Linear set of 2 stages per input structure, we would use 2 node labels to construct Jobs for each input based on a common job.
C++: protocols::jd3::JobDirectedNode::set_node_label(const std::string &) –> void
- class pyrosetta.rosetta.protocols.jd3.JobDistributor¶
Bases:
pybind11_object
OK – I don’t know what the division of labor between a JobDistributor base class and a JobDistributor subclass, so I’m just going to start writing a simple JobDistributor and then follow it by writing an MPI job distributor and then I’ll see what shakes out.
- assign(self: pyrosetta.rosetta.protocols.jd3.JobDistributor, : pyrosetta.rosetta.protocols.jd3.JobDistributor) pyrosetta.rosetta.protocols.jd3.JobDistributor ¶
C++: protocols::jd3::JobDistributor::operator=(const class protocols::jd3::JobDistributor &) –> class protocols::jd3::JobDistributor &
- class pyrosetta.rosetta.protocols.jd3.JobDistributorFactory¶
Bases:
pybind11_object
- static create_job_distributor() pyrosetta.rosetta.protocols.jd3.JobDistributor ¶
C++: protocols::jd3::JobDistributorFactory::create_job_distributor() –> class std::shared_ptr<class protocols::jd3::JobDistributor>
- class pyrosetta.rosetta.protocols.jd3.JobGenealogist¶
Bases:
pybind11_object
- all_job_results_for_node(self: pyrosetta.rosetta.protocols.jd3.JobGenealogist, job_dag_node: int, container_for_output: pyrosetta.rosetta.std.list_std_pair_unsigned_long_unsigned_long_t) None ¶
This method populates the list with every JobResultID for this job dag node
C++: protocols::jd3::JobGenealogist::all_job_results_for_node(unsigned long, class std::list<struct std::pair<unsigned long, unsigned long>, class std::allocator<struct std::pair<unsigned long, unsigned long> > > &) const –> void
- assign(self: pyrosetta.rosetta.protocols.jd3.JobGenealogist, : pyrosetta.rosetta.protocols.jd3.JobGenealogist) pyrosetta.rosetta.protocols.jd3.JobGenealogist ¶
C++: protocols::jd3::JobGenealogist::operator=(const class protocols::jd3::JobGenealogist &) –> class protocols::jd3::JobGenealogist &
- discard_job_result(*args, **kwargs)¶
Overloaded function.
discard_job_result(self: pyrosetta.rosetta.protocols.jd3.JobGenealogist, job_dag_node: int, global_job_id: int, result_id: int) -> None
At the end of job_results_that_should_be_discarded(), call this funciton for every JobResultID in the list
C++: protocols::jd3::JobGenealogist::discard_job_result(unsigned long, unsigned long, unsigned long) –> void
discard_job_result(self: pyrosetta.rosetta.protocols.jd3.JobGenealogist, job_dag_node: int, id: Tuple[int, int]) -> None
At the end of job_results_that_should_be_discarded(), call this funciton for every JobResultID in the list
C++: protocols::jd3::JobGenealogist::discard_job_result(unsigned long, const struct std::pair<unsigned long, unsigned long> &) –> void
- garbage_collection(self: pyrosetta.rosetta.protocols.jd3.JobGenealogist, job_dag_node: int, delete_downstream_job_if_it_has_no_results: bool, container_for_discarded_result_ids: pyrosetta.rosetta.std.list_std_pair_unsigned_long_unsigned_long_t) None ¶
return every job result id in this job_dag_node that does not have any jobs spawned after it.
Consider the patter Job1 -> Result1 -> Job5 and Job5 has no children (results). Should Job1/Result1 be garbage collected? If so, set delete_downstream_job_if_it_has_no_results to true.
C++: protocols::jd3::JobGenealogist::garbage_collection(unsigned long, bool, class std::list<struct std::pair<unsigned long, unsigned long>, class std::allocator<struct std::pair<unsigned long, unsigned long> > > &) –> void
- get_const_job_node(self: pyrosetta.rosetta.protocols.jd3.JobGenealogist, job_dag_node: int, global_job_id: int) pyrosetta.rosetta.protocols.jd3.JGJobNode ¶
C++: protocols::jd3::JobGenealogist::get_const_job_node(unsigned long, unsigned long) const –> class std::shared_ptr<const class protocols::jd3::JGJobNode>
- input_source_for_job(self: pyrosetta.rosetta.protocols.jd3.JobGenealogist, job_dag_node: int, global_job_id: int) int ¶
C++: protocols::jd3::JobGenealogist::input_source_for_job(unsigned long, unsigned long) const –> unsigned long
- newick_tree(self: pyrosetta.rosetta.protocols.jd3.JobGenealogist) str ¶
This returns the connectivity of the graph as a newick tree. If you graph is not a tree, this will have duplicate elements.
C++: protocols::jd3::JobGenealogist::newick_tree() const –> std::string
- note_job_completed(*args, **kwargs)¶
Overloaded function.
note_job_completed(self: pyrosetta.rosetta.protocols.jd3.JobGenealogist, job_node: pyrosetta.rosetta.std.weak_ptr_protocols_jd3_JGJobNode_t, nresults: int) -> None
Creates nresults new JGResultNodes for this job_node
C++: protocols::jd3::JobGenealogist::note_job_completed(class std::weak_ptr<class protocols::jd3::JGJobNode>, unsigned long) –> void
note_job_completed(self: pyrosetta.rosetta.protocols.jd3.JobGenealogist, dag_node_id: int, global_job_id: int, nresults: int) -> None
wrapper for the other overload. This one is designed to more closely match the argument provided to JobQueen::note_job_completed
C++: protocols::jd3::JobGenealogist::note_job_completed(unsigned long, unsigned long, unsigned long) –> void
- print_all_nodes(self: pyrosetta.rosetta.protocols.jd3.JobGenealogist) None ¶
This is more for debugging than anything. Print the global_job_ids for every job dag node to the screen
C++: protocols::jd3::JobGenealogist::print_all_nodes() –> void
- register_new_job(*args, **kwargs)¶
Overloaded function.
register_new_job(self: pyrosetta.rosetta.protocols.jd3.JobGenealogist, job_dag_node_id: int, global_job_id: int, input_source_id: int) -> pyrosetta.rosetta.protocols.jd3.JGJobNode
register a new job that does not depend on a previous job result but rather takes a pose directly from an input source
C++: protocols::jd3::JobGenealogist::register_new_job(unsigned long, unsigned long, unsigned long) –> class std::shared_ptr<class protocols::jd3::JGJobNode>
register_new_job(self: pyrosetta.rosetta.protocols.jd3.JobGenealogist, job_dag_node_id: int, global_job_id: int, job_dag_node_id_of_parent: int, global_job_id_of_parent: int, result_id_of_parent: int) -> pyrosetta.rosetta.protocols.jd3.JGJobNode
register a new job that depends on a single parent job result
C++: protocols::jd3::JobGenealogist::register_new_job(unsigned long, unsigned long, unsigned long, unsigned long, unsigned long) –> class std::shared_ptr<class protocols::jd3::JGJobNode>
register_new_job(self: pyrosetta.rosetta.protocols.jd3.JobGenealogist, job_dag_node_id: int, global_job_id: int, job_dag_node_id_of_parent: int, id: Tuple[int, int]) -> pyrosetta.rosetta.protocols.jd3.JGJobNode
register a new job that depends on a single parent job result
C++: protocols::jd3::JobGenealogist::register_new_job(unsigned long, unsigned long, unsigned long, const struct std::pair<unsigned long, unsigned long> &) –> class std::shared_ptr<class protocols::jd3::JGJobNode>
register_new_job(self: pyrosetta.rosetta.protocols.jd3.JobGenealogist, job_dag_node_id: int, global_job_id: int, parent: pyrosetta.rosetta.std.weak_ptr_protocols_jd3_JGResultNode_t) -> pyrosetta.rosetta.protocols.jd3.JGJobNode
register a new job that depends on a single parent job result
C++: protocols::jd3::JobGenealogist::register_new_job(unsigned long, unsigned long, class std::weak_ptr<class protocols::jd3::JGResultNode>) –> class std::shared_ptr<class protocols::jd3::JGJobNode>
register_new_job(self: pyrosetta.rosetta.protocols.jd3.JobGenealogist, job_dag_node_id: int, global_job_id: int, parents: pyrosetta.rosetta.utility.vector1_std_weak_ptr_protocols_jd3_JGResultNode_t) -> pyrosetta.rosetta.protocols.jd3.JGJobNode
register a new job that depends on multiple parent job results
C++: protocols::jd3::JobGenealogist::register_new_job(unsigned long, unsigned long, const class utility::vector1<class std::weak_ptr<class protocols::jd3::JGResultNode>, class std::allocator<class std::weak_ptr<class protocols::jd3::JGResultNode> > > &) –> class std::shared_ptr<class protocols::jd3::JGJobNode>
- class pyrosetta.rosetta.protocols.jd3.JobOutputIndex¶
Bases:
pybind11_object
The %JobOutputIndex holds the four relevant counts for describing the “name” for an output (e.g. a Pose) that is going to be written out to disk
- assign(self: pyrosetta.rosetta.protocols.jd3.JobOutputIndex, : pyrosetta.rosetta.protocols.jd3.JobOutputIndex) pyrosetta.rosetta.protocols.jd3.JobOutputIndex ¶
C++: protocols::jd3::JobOutputIndex::operator=(const struct protocols::jd3::JobOutputIndex &) –> struct protocols::jd3::JobOutputIndex &
- property n_primary_outputs¶
- property n_secondary_outputs¶
- property primary_output_index¶
- property secondary_output_index¶
- class pyrosetta.rosetta.protocols.jd3.JobQueen¶
Bases:
pybind11_object
The %JobQueen class (think of a queen bee) has quite a few responsibilities: - determining what jobs should be run and representing them as larval job objects - taking a larval job object and maturing it into a fully functional Job that can be run - processing the JobResult produced by a Job when it runs - determining the number of rounds of larval-job creation and job execution that should
be performed.
The %JobQueen is responsible for creating all of the LarvalJobs, grouped into “batches” which are dispatched by the JobDistributor; the queen then matures the larval jobs into the mature form (a Job, e.g. a Mover/Pose pair) and gives them up to the JobDistributor to actually execute the work. The JobDistributor then actually calls the Job’s “run” method, which produces a JobResult. It then hands this JobResult (e.g. a Pose or several Poses) back to the %JobQueen for output. In fact, in MPI contexts, the JobDistributor guarantees that it will hand all of the completed JobResults for a single batch to a single %JobQueen, so that she can compute aggregate statistics (e.g. averaging energies) or can look at the
results from that round of jobs and decide which to carry forward into the next
round of execution.
- assign(self: pyrosetta.rosetta.protocols.jd3.JobQueen, : pyrosetta.rosetta.protocols.jd3.JobQueen) pyrosetta.rosetta.protocols.jd3.JobQueen ¶
C++: protocols::jd3::JobQueen::operator=(const class protocols::jd3::JobQueen &) –> class protocols::jd3::JobQueen &
- completed_job_summary(self: pyrosetta.rosetta.protocols.jd3.JobQueen, job: protocols::jd3::LarvalJob, result_index: pyrosetta.rosetta.utility.StrongT_unsigned_long_protocols_jd3_ResultIndex_t, summary: protocols::jd3::JobSummary) None ¶
- The JobDistributor guarnatees that exactly one JobQueen will see every
JobSummary generated within a Job batch. This guarantee allows the JobQueen to aggregate data across all of the Jobs so that Rosetta is able to compute data from structures instead of forcing that computation into accessory scripts.
C++: protocols::jd3::JobQueen::completed_job_summary(class std::shared_ptr<const class protocols::jd3::LarvalJob>, struct utility::StrongT<unsigned long, struct protocols::jd3::ResultIndex_>, class std::shared_ptr<class protocols::jd3::JobSummary>) –> void
- create_and_set_initial_job_dag(self: pyrosetta.rosetta.protocols.jd3.JobQueen) pyrosetta.rosetta.protocols.jd3.JobDigraph ¶
Creates the initial job dag using create_initial_job_dag function and sets it to the JQ.
Decorator to create_initial_job_dag
C++: protocols::jd3::JobQueen::create_and_set_initial_job_dag() –> class std::shared_ptr<class protocols::jd3::JobDigraph>
- deallocation_messages(self: pyrosetta.rosetta.protocols.jd3.JobQueen) pyrosetta.rosetta.std.list_std_shared_ptr_protocols_jd3_deallocation_DeallocationMessage_t ¶
- Are there any deallocation messages that the JobQueen would like to have delivered
to the JobQueens living on remote hosts? If there are none, the derived JobQueen may return an empty list. The JobDistributor guarantees to send the deallocation message to all remote hosts. The JobDistributor will ask the JobQueen on the head node for a set of deallocation messages after each set of jobs from determine_job_list have been distributed. (i.e., before the next call to determine_job_list is made).
C++: protocols::jd3::JobQueen::deallocation_messages() –> class std::list<class std::shared_ptr<class protocols::jd3::deallocation::DeallocationMessage>, class std::allocator<class std::shared_ptr<class protocols::jd3::deallocation::DeallocationMessage> > >
- determine_job_list(self: pyrosetta.rosetta.protocols.jd3.JobQueen, job_dag_node_index: pyrosetta.rosetta.utility.StrongT_unsigned_long_protocols_jd3_JobDAGNodeID_t, max_njobs: int) pyrosetta.rosetta.std.list_std_shared_ptr_protocols_jd3_LarvalJob_t ¶
- The JobDistributor asks the JobQueen for a list of jobs that should be performed.
This function neither knows nor cares what jobs are already complete on disk/memory - it just figures out what ones should exist given the input. The JobDistributor tells the %JobQueen which node in the JobDAG it is requesting jobs for, and puts a limit on the number of LarvalJobs that the JobQueen should return. The JobDistributor will call this function repeatedly for a single node until the %JobQueen returns an empty list, at which point, the JobDistributor will consider the node’s jobs exhausted.
C++: protocols::jd3::JobQueen::determine_job_list(struct utility::StrongT<unsigned long, struct protocols::jd3::JobDAGNodeID_>, unsigned long) –> class std::list<class std::shared_ptr<class protocols::jd3::LarvalJob>, class std::allocator<class std::shared_ptr<class protocols::jd3::LarvalJob> > >
- determine_job_list_and_track(self: pyrosetta.rosetta.protocols.jd3.JobQueen, job_dag_node_index: pyrosetta.rosetta.utility.StrongT_unsigned_long_protocols_jd3_JobDAGNodeID_t, max_njobs: int) pyrosetta.rosetta.std.list_std_shared_ptr_protocols_jd3_LarvalJob_t ¶
Call determine_job_list in derived classes and track the jobs using the JobTracker.
Decorator to determine_job_list
C++: protocols::jd3::JobQueen::determine_job_list_and_track(struct utility::StrongT<unsigned long, struct protocols::jd3::JobDAGNodeID_>, unsigned long) –> class std::list<class std::shared_ptr<class protocols::jd3::LarvalJob>, class std::allocator<class std::shared_ptr<class protocols::jd3::LarvalJob> > >
- flush(self: pyrosetta.rosetta.protocols.jd3.JobQueen) None ¶
- Send all buffered output to disk – called by the JobDistributor right before it shuts down
if it hits an error or catches an exception that it cannot ignore.
C++: protocols::jd3::JobQueen::flush() –> void
- has_job_previously_been_output(self: pyrosetta.rosetta.protocols.jd3.JobQueen, job: protocols::jd3::LarvalJob) bool ¶
- The JobQueen must be able to determine if a particular job has already
been output. The JobQueen returns “true” if the job has already been written, and “false” otherwise. Used for overwrite behavior.
C++: protocols::jd3::JobQueen::has_job_previously_been_output(class std::shared_ptr<const class protocols::jd3::LarvalJob>) –> bool
- job_definition_xsd(self: pyrosetta.rosetta.protocols.jd3.JobQueen) str ¶
- All JobQueens must describe their job input XML format in the form of an XSD
(XML Schema Definition), and they must validate their job input files against their XSDs. If the JobDistributor is awakened with the flag “jd3::output_job_xsd <output file>” on the command line, then the JobDistributor will write out the XSD to the output file.
C++: protocols::jd3::JobQueen::job_definition_xsd() const –> std::string
- job_results_that_should_be_discarded(self: pyrosetta.rosetta.protocols.jd3.JobQueen) pyrosetta.rosetta.std.list_std_pair_unsigned_long_unsigned_long_t ¶
- The JobDistributor, to manage memory use, asks the JobQueen which JobResults may be
discarded because they will not be used in the future. The JobDistributor will exit with an error message if the %JobQueen gives it a LarvalJob that lists one of these discarded JobResults as a required input for that LarvalJob.
C++: protocols::jd3::JobQueen::job_results_that_should_be_discarded() –> class std::list<struct std::pair<unsigned long, unsigned long>, class std::allocator<struct std::pair<unsigned long, unsigned long> > >
- jobs_that_should_be_output(self: pyrosetta.rosetta.protocols.jd3.JobQueen) pyrosetta.rosetta.std.list_std_shared_ptr_protocols_jd3_output_OutputSpecification_t ¶
- The JobDistributor asks the JobQueen which JobResults should be queued for output.
The JobQueen should reply by returning a list of OutputSpecification objects. Each OutputSpecification indicates a particular JobResult using the JobResultID object that the Specification holds. It also indicates how the JobResult should be output by whatever object will be doing to job outputting. The JobQueen should ask for a given JobResult to be output only once. After a job result is output, the JobDistributor will discard the JobResult, so the JobQueen should not tell the JobDistributor to output a job if it will be used as an input to another job in the future. Note that this method will only be called on the master-node JobQueen (aka JQ0), but that she will not necessarily be the JobQueen to actually return the ResultOutputter for the jobs that will be output. The JobDistributor holds the option to distribute output to other nodes
C++: protocols::jd3::JobQueen::jobs_that_should_be_output() –> class std::list<class std::shared_ptr<class protocols::jd3::output::OutputSpecification>, class std::allocator<class std::shared_ptr<class protocols::jd3::output::OutputSpecification> > >
- note_job_completed(self: pyrosetta.rosetta.protocols.jd3.JobQueen, job: protocols::jd3::LarvalJob, status: pyrosetta.rosetta.protocols.jd3.JobStatus, nresults: int) None ¶
- The JobDistributor will call this function to inform the JobQueen that
a job has “completed” – in the sense that it will not be run in the future. It does not guarantee that the job was run on this CPU or that it successfully completed anywhere. The JobStatus indicates whether the job completed or whether it failed. The nresults count lists how many JobSummary/JobResult pairs were produced by the completed job.
C++: protocols::jd3::JobQueen::note_job_completed(class std::shared_ptr<const class protocols::jd3::LarvalJob>, enum protocols::jd3::JobStatus, unsigned long) –> void
- note_job_completed_and_track(self: pyrosetta.rosetta.protocols.jd3.JobQueen, job: protocols::jd3::LarvalJob, status: pyrosetta.rosetta.protocols.jd3.JobStatus, nresults: int) None ¶
Call note_job_completed in derived classes and track the job using the JobTracker.
Decorator to note_job_completed
C++: protocols::jd3::JobQueen::note_job_completed_and_track(class std::shared_ptr<const class protocols::jd3::LarvalJob>, enum protocols::jd3::JobStatus, unsigned long) –> void
- process_deallocation_message(self: pyrosetta.rosetta.protocols.jd3.JobQueen, message: protocols::jd3::deallocation::DeallocationMessage) None ¶
- A deallocation message first sent to the JobDistributor on this host originating from
a remote JobQueen
C++: protocols::jd3::JobQueen::process_deallocation_message(class std::shared_ptr<class protocols::jd3::deallocation::DeallocationMessage>) –> void
- resource_definition_xsd(self: pyrosetta.rosetta.protocols.jd3.JobQueen) str ¶
- JobQueens may optionally define an XSD for their resource definition file
which is fed to their resource manager (if they control one). If the JobDistributor is awakened with the flag “jd3::output_resource_xsd <output file>” on the command line, and if the derived JobQueen defines an XSD for resources she uses, then the JobDistributor will write out the resource definition XSD to the output file. The derived queen may return an empty string to indicate that no resources are definable for the resource manager.
C++: protocols::jd3::JobQueen::resource_definition_xsd() const –> std::string
- result_outputter(self: pyrosetta.rosetta.protocols.jd3.JobQueen, output_specification: protocols::jd3::output::OutputSpecification) protocols::jd3::output::ResultOutputter ¶
- The JobDistributor will ask the JobQueen to provide an outputter for a result
giving it an annotated-with-job-distributor-specific-prefix OutputSpecification. The JobQueen must guarantee that a distinct ResultOutputter is given for each distinct JD prefix and that no two ResultOutputters share non-(bitwise-)constant data as the JobDistributor may use multiple threads to perform output. Note that the JobQueen that creates the outputter may not have been the JobQueen to request that output be performed. This function is thus similar to mature_larval_job: it requires that the JobQueen make few assumptions about the state of her data in order for this behavior to translate from the VanillaJobDistributor to the MPIWorkPoolJobDistributor.
C++: protocols::jd3::JobQueen::result_outputter(const class protocols::jd3::output::OutputSpecification &) –> class std::shared_ptr<class protocols::jd3::output::ResultOutputter>
- update_job_dag(self: pyrosetta.rosetta.protocols.jd3.JobQueen, updater: pyrosetta.rosetta.protocols.jd3.JobDigraphUpdater) None ¶
- The JobQueen is allowed to update the JobDigraph over the course of execution
but only in a particular way: by adding new nodes, and then by adding edges that land on those new nodes. The JobQueen is not allowed to add edges that land on an old node.
C++: protocols::jd3::JobQueen::update_job_dag(class protocols::jd3::JobDigraphUpdater &) –> void
- class pyrosetta.rosetta.protocols.jd3.JobResult¶
Bases:
pybind11_object
%JobResult class holds the output that’s generated by a Job over the course of its execution. The %JobResult is handed by the JobQueen to the JobOutputWriter objects, each of which have the opportunity to pull data out of the JobResult class.
- assign(self: pyrosetta.rosetta.protocols.jd3.JobResult, : pyrosetta.rosetta.protocols.jd3.JobResult) pyrosetta.rosetta.protocols.jd3.JobResult ¶
C++: protocols::jd3::JobResult::operator=(const class protocols::jd3::JobResult &) –> class protocols::jd3::JobResult &
- status(self: pyrosetta.rosetta.protocols.jd3.JobResult) pyrosetta.rosetta.protocols.jd3.JobStatus ¶
C++: protocols::jd3::JobResult::status() const –> enum protocols::jd3::JobStatus
- class pyrosetta.rosetta.protocols.jd3.JobStatus¶
Bases:
pybind11_object
Members:
jd3_job_status_success
jd3_job_previously_executed
jd3_job_status_inputs_were_bad
jd3_job_status_failed_w_exception
jd3_job_status_failed_retry
jd3_job_status_failed_max_retries
jd3_job_status_failed_do_not_retry
- jd3_job_previously_executed = <JobStatus.jd3_job_previously_executed: 1>¶
- jd3_job_status_failed_do_not_retry = <JobStatus.jd3_job_status_failed_do_not_retry: 6>¶
- jd3_job_status_failed_max_retries = <JobStatus.jd3_job_status_failed_max_retries: 5>¶
- jd3_job_status_failed_retry = <JobStatus.jd3_job_status_failed_retry: 4>¶
- jd3_job_status_failed_w_exception = <JobStatus.jd3_job_status_failed_w_exception: 3>¶
- jd3_job_status_inputs_were_bad = <JobStatus.jd3_job_status_inputs_were_bad: 2>¶
- jd3_job_status_success = <JobStatus.jd3_job_status_success: 0>¶
- property name¶
- property value¶
- class pyrosetta.rosetta.protocols.jd3.JobSummary¶
Bases:
pybind11_object
%JobSummary class holds the output that’s generated by a Job over the course of its execution. The %JobSummary is handed by the JobQueen to the JobOutputWriter objects, each of which have the opportunity to pull data out of the JobSummary class.
- assign(self: pyrosetta.rosetta.protocols.jd3.JobSummary, : pyrosetta.rosetta.protocols.jd3.JobSummary) pyrosetta.rosetta.protocols.jd3.JobSummary ¶
C++: protocols::jd3::JobSummary::operator=(const class protocols::jd3::JobSummary &) –> class protocols::jd3::JobSummary &
- class pyrosetta.rosetta.protocols.jd3.JobTracker¶
Bases:
pybind11_object
A simple class for tracking job progress within JD3.
- assign(self: pyrosetta.rosetta.protocols.jd3.JobTracker, : pyrosetta.rosetta.protocols.jd3.JobTracker) pyrosetta.rosetta.protocols.jd3.JobTracker ¶
C++: protocols::jd3::JobTracker::operator=(const class protocols::jd3::JobTracker &) –> class protocols::jd3::JobTracker &
- clone(self: pyrosetta.rosetta.protocols.jd3.JobTracker) pyrosetta.rosetta.protocols.jd3.JobTracker ¶
C++: protocols::jd3::JobTracker::clone() const –> class std::shared_ptr<class protocols::jd3::JobTracker>
- completed_jobs(self: pyrosetta.rosetta.protocols.jd3.JobTracker) pyrosetta.rosetta.numeric.DiscreteIntervalEncodingTree_unsigned_long_t ¶
- Read access for which jobs have completed and how; if a job-id is a member
of this DIET, then it has completed (either in success or failure).
C++: protocols::jd3::JobTracker::completed_jobs() const –> const class numeric::DiscreteIntervalEncodingTree<unsigned long> &
- completed_jobs_for_node(self: pyrosetta.rosetta.protocols.jd3.JobTracker, job_dag_node: int) pyrosetta.rosetta.numeric.DiscreteIntervalEncodingTree_unsigned_long_t ¶
C++: protocols::jd3::JobTracker::completed_jobs_for_node(unsigned long) const –> const class numeric::DiscreteIntervalEncodingTree<unsigned long> &
- current_job_index(self: pyrosetta.rosetta.protocols.jd3.JobTracker) int ¶
Get the current larval job index
C++: protocols::jd3::JobTracker::current_job_index() const –> unsigned long
- failed_jobs(self: pyrosetta.rosetta.protocols.jd3.JobTracker) pyrosetta.rosetta.numeric.DiscreteIntervalEncodingTree_unsigned_long_t ¶
- Read access for which jobs have completed and how; if a job-id is a member
of this DIET, then it completed unsuccessfully.
C++: protocols::jd3::JobTracker::failed_jobs() const –> const class numeric::DiscreteIntervalEncodingTree<unsigned long> &
- increment_current_job_index(self: pyrosetta.rosetta.protocols.jd3.JobTracker) None ¶
Increment the current job index tracked by the JobTracker.
Used to set the job_index for LarvalJobs during determine_job_list
C++: protocols::jd3::JobTracker::increment_current_job_index() –> void
- last_job_for_input_source_id(self: pyrosetta.rosetta.protocols.jd3.JobTracker, input_pose_index: int) int ¶
Last job index of a particular pose id from all starting jobs.
C++: protocols::jd3::JobTracker::last_job_for_input_source_id(unsigned long) const –> unsigned long
- last_jobs_for_inputs_sources(self: pyrosetta.rosetta.protocols.jd3.JobTracker) pyrosetta.rosetta.std.map_unsigned_long_unsigned_long ¶
Get the map of last job indexes and input source ids
C++: protocols::jd3::JobTracker::last_jobs_for_inputs_sources() const –> const class std::map<unsigned long, unsigned long, struct std::less<unsigned long>, class std::allocator<struct std::pair<const unsigned long, unsigned long> > > &
- started_jobs(self: pyrosetta.rosetta.protocols.jd3.JobTracker) pyrosetta.rosetta.numeric.DiscreteIntervalEncodingTree_unsigned_long_t ¶
Read access for jobs have been given out to the JD through determine_job_list.
C++: protocols::jd3::JobTracker::started_jobs() const –> const class numeric::DiscreteIntervalEncodingTree<unsigned long> &
- started_jobs_for_node(self: pyrosetta.rosetta.protocols.jd3.JobTracker, job_dag_node: int) pyrosetta.rosetta.numeric.DiscreteIntervalEncodingTree_unsigned_long_t ¶
Read access to all job indexes started for a particular job node.
C++: protocols::jd3::JobTracker::started_jobs_for_node(unsigned long) const –> const class numeric::DiscreteIntervalEncodingTree<unsigned long> &
- successful_jobs(self: pyrosetta.rosetta.protocols.jd3.JobTracker) pyrosetta.rosetta.numeric.DiscreteIntervalEncodingTree_unsigned_long_t ¶
- Read access for which jobs have completed and how; if a job-id is a member
of this DIET, then it completed successfully.
C++: protocols::jd3::JobTracker::successful_jobs() const –> const class numeric::DiscreteIntervalEncodingTree<unsigned long> &
- track_completed_job(self: pyrosetta.rosetta.protocols.jd3.JobTracker, key: pyrosetta.rosetta.protocols.jd3.JQKey, larval_job: protocols::jd3::LarvalJob, status: pyrosetta.rosetta.protocols.jd3.JobStatus) None ¶
- Note the completed job by Job Dag node and by Status.
Only the JobQueen is allowed to call this method.
C++: protocols::jd3::JobTracker::track_completed_job(class protocols::jd3::JQKey, const class protocols::jd3::LarvalJob &, enum protocols::jd3::JobStatus) –> void
- track_starting_job_list(self: pyrosetta.rosetta.protocols.jd3.JobTracker, key: pyrosetta.rosetta.protocols.jd3.JQKey, starting_jobs: pyrosetta.rosetta.std.list_std_shared_ptr_protocols_jd3_LarvalJob_t) None ¶
C++: protocols::jd3::JobTracker::track_starting_job_list(class protocols::jd3::JQKey, const class std::list<class std::shared_ptr<class protocols::jd3::LarvalJob>, class std::allocator<class std::shared_ptr<class protocols::jd3::LarvalJob> > > &) –> void
- class pyrosetta.rosetta.protocols.jd3.LarvalJob¶
Bases:
pybind11_object
%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.
- assign(self: pyrosetta.rosetta.protocols.jd3.LarvalJob, : pyrosetta.rosetta.protocols.jd3.LarvalJob) pyrosetta.rosetta.protocols.jd3.LarvalJob ¶
C++: protocols::jd3::LarvalJob::operator=(const class protocols::jd3::LarvalJob &) –> class protocols::jd3::LarvalJob &
- bad(*args, **kwargs)¶
Overloaded function.
bad(self: pyrosetta.rosetta.protocols.jd3.LarvalJob) -> bool
C++: protocols::jd3::LarvalJob::bad() const –> bool
bad(self: pyrosetta.rosetta.protocols.jd3.LarvalJob, setting: bool) -> None
C++: protocols::jd3::LarvalJob::bad(bool) –> void
- completed(*args, **kwargs)¶
Overloaded function.
completed(self: pyrosetta.rosetta.protocols.jd3.LarvalJob) -> bool
C++: protocols::jd3::LarvalJob::completed() const –> bool
completed(self: pyrosetta.rosetta.protocols.jd3.LarvalJob, setting: bool) -> None
C++: protocols::jd3::LarvalJob::completed(bool) –> void
- defines_retry_limit(self: pyrosetta.rosetta.protocols.jd3.LarvalJob) bool ¶
C++: protocols::jd3::LarvalJob::defines_retry_limit() const –> bool
- inner_job(self: pyrosetta.rosetta.protocols.jd3.LarvalJob) pyrosetta.rosetta.protocols.jd3.InnerLarvalJob ¶
read access to the inner-job
C++: protocols::jd3::LarvalJob::inner_job() const –> class std::shared_ptr<const class protocols::jd3::InnerLarvalJob>
- input_job_result_indices(self: pyrosetta.rosetta.protocols.jd3.LarvalJob) pyrosetta.rosetta.utility.vector1_std_pair_unsigned_long_unsigned_long_t ¶
- 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.
C++: protocols::jd3::LarvalJob::input_job_result_indices() const –> const class utility::vector1<struct std::pair<unsigned long, unsigned long>, class std::allocator<struct std::pair<unsigned long, unsigned long> > > &
- input_tag(self: pyrosetta.rosetta.protocols.jd3.LarvalJob) str ¶
- 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.
C++: protocols::jd3::LarvalJob::input_tag() const –> std::string
- job_index(self: pyrosetta.rosetta.protocols.jd3.LarvalJob) pyrosetta.rosetta.utility.StrongT_unsigned_long_protocols_jd3_GlobalJobID_t ¶
The “global” index for this job among all jobs created by the JobQueen
C++: protocols::jd3::LarvalJob::job_index() const –> struct utility::StrongT<unsigned long, struct protocols::jd3::GlobalJobID_>
- job_node(self: pyrosetta.rosetta.protocols.jd3.LarvalJob) int ¶
- What is the Job Node for this LarvalJob?
Returned from the InnerLarvalJob
C++: protocols::jd3::LarvalJob::job_node() const –> unsigned long
- job_tag(self: pyrosetta.rosetta.protocols.jd3.LarvalJob) str ¶
- 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.
C++: protocols::jd3::LarvalJob::job_tag() const –> std::string
- job_tag_with_index_suffix(*args, **kwargs)¶
Overloaded function.
job_tag_with_index_suffix(self: pyrosetta.rosetta.protocols.jd3.LarvalJob, output_index: pyrosetta.rosetta.protocols.jd3.JobOutputIndex) -> str
job_tag_with_index_suffix(self: pyrosetta.rosetta.protocols.jd3.LarvalJob, output_index: pyrosetta.rosetta.protocols.jd3.JobOutputIndex, min_digits: int) -> str
- For output purposes, construct a string for a particular output of this job given
a JobOutputIndex.
C++: protocols::jd3::LarvalJob::job_tag_with_index_suffix(const struct protocols::jd3::JobOutputIndex &, const unsigned long) const –> std::string
- nonconst_inner_job(self: pyrosetta.rosetta.protocols.jd3.LarvalJob) pyrosetta.rosetta.protocols.jd3.InnerLarvalJob ¶
- write access to the inner-job; this should be reserved for the JobQueen only
as she edits the inner job during its construction
C++: protocols::jd3::LarvalJob::nonconst_inner_job() const –> class std::shared_ptr<class protocols::jd3::InnerLarvalJob>
- nstruct_index(self: pyrosetta.rosetta.protocols.jd3.LarvalJob) pyrosetta.rosetta.utility.StrongT_unsigned_long_protocols_jd3_NStructIndex_t ¶
- 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”)
C++: protocols::jd3::LarvalJob::nstruct_index() const –> struct utility::StrongT<unsigned long, struct protocols::jd3::NStructIndex_>
- nstruct_max(self: pyrosetta.rosetta.protocols.jd3.LarvalJob) int ¶
The total number of jobs with the same inputs, but different random number seeds.
C++: protocols::jd3::LarvalJob::nstruct_max() const –> unsigned long
- retry_limit(*args, **kwargs)¶
Overloaded function.
retry_limit(self: pyrosetta.rosetta.protocols.jd3.LarvalJob) -> int
C++: protocols::jd3::LarvalJob::retry_limit() const –> unsigned long
retry_limit(self: pyrosetta.rosetta.protocols.jd3.LarvalJob, setting: int) -> None
C++: protocols::jd3::LarvalJob::retry_limit(unsigned long) –> void
- set_status_prefix(self: pyrosetta.rosetta.protocols.jd3.LarvalJob, prefix: str) None ¶
C++: protocols::jd3::LarvalJob::set_status_prefix(const std::string &) –> void
- set_status_suffix(self: pyrosetta.rosetta.protocols.jd3.LarvalJob, suffix: str) None ¶
C++: protocols::jd3::LarvalJob::set_status_suffix(const std::string &) –> void
- show(self: pyrosetta.rosetta.protocols.jd3.LarvalJob, out: pyrosetta.rosetta.std.ostream) None ¶
C++: protocols::jd3::LarvalJob::show(std::ostream &) const –> void
- status_prefix(self: pyrosetta.rosetta.protocols.jd3.LarvalJob) str ¶
C++: protocols::jd3::LarvalJob::status_prefix() const –> const std::string &
- status_suffix(self: pyrosetta.rosetta.protocols.jd3.LarvalJob) str ¶
C++: protocols::jd3::LarvalJob::status_suffix() const –> const std::string &
- to_do(self: pyrosetta.rosetta.protocols.jd3.LarvalJob) bool ¶
C++: protocols::jd3::LarvalJob::to_do() const –> bool
- pyrosetta.rosetta.protocols.jd3.add_residue_selectors_to_datamap(tag: pyrosetta.rosetta.utility.tag.Tag, datamap: pyrosetta.rosetta.basic.datacache.DataMap) None ¶
Add all residue selectors to a given datamap from a tag.
C++: protocols::jd3::add_residue_selectors_to_datamap(class std::shared_ptr<const class utility::tag::Tag>, class basic::datacache::DataMap &) –> void
- pyrosetta.rosetta.protocols.jd3.append_residue_selector_subelements(job_definition_xsd: utility::tag::XMLSchemaDefinition, job_ct_gen: utility::tag::XMLSchemaComplexTypeGenerator) None ¶
Append Residue Selector elements for your JD file.
C++: protocols::jd3::append_residue_selector_subelements(class utility::tag::XMLSchemaDefinition &, class utility::tag::XMLSchemaComplexTypeGenerator &) –> void
- pyrosetta.rosetta.protocols.jd3.append_single_scorefxn_subelement(job_definition_xsd: utility::tag::XMLSchemaDefinition, job_ct_gen: utility::tag::XMLSchemaComplexTypeGenerator) None ¶
Append the ability to have a SINGLE ScoreFunction set.
Used to have the scorefunction defined for the entire job.
C++: protocols::jd3::append_single_scorefxn_subelement(class utility::tag::XMLSchemaDefinition &, class utility::tag::XMLSchemaComplexTypeGenerator &) –> void
- class pyrosetta.rosetta.protocols.jd3.compare_job_nodes¶
Bases:
pybind11_object
- assign(self: pyrosetta.rosetta.protocols.jd3.compare_job_nodes, : pyrosetta.rosetta.protocols.jd3.compare_job_nodes) pyrosetta.rosetta.protocols.jd3.compare_job_nodes ¶
C++: protocols::jd3::compare_job_nodes::operator=(const struct protocols::jd3::compare_job_nodes &) –> struct protocols::jd3::compare_job_nodes &
- pyrosetta.rosetta.protocols.jd3.nstruct_for_job(job_tag: pyrosetta.rosetta.utility.tag.Tag) int ¶
Get the nstruct from the job_tag, or fallback to the cmd-line
C++: protocols::jd3::nstruct_for_job(class std::shared_ptr<const class utility::tag::Tag>) –> unsigned long
- pyrosetta.rosetta.protocols.jd3.option_type_from_key(key: pyrosetta.rosetta.utility.options.OptionKey) pyrosetta.rosetta.utility.options.OptionTypes ¶
Get the OptionType from a key
C++: protocols::jd3::option_type_from_key(const class utility::options::OptionKey &) –> enum utility::options::OptionTypes
- pyrosetta.rosetta.protocols.jd3.options_for_job(option_keys: pyrosetta.rosetta.std.list_utility_keys_VariantKey_utility_options_OptionKey_t, inner_job: pyrosetta.rosetta.protocols.jd3.InnerLarvalJob, common_block_tags: pyrosetta.rosetta.utility.tag.Tag) pyrosetta.rosetta.utility.options.OptionCollection ¶
Create a local options collection from an InnerLarvalJob.
C++: protocols::jd3::options_for_job(const class std::list<class utility::keys::VariantKey<class utility::options::OptionKey>, class std::allocator<class utility::keys::VariantKey<class utility::options::OptionKey> > > &, const class protocols::jd3::InnerLarvalJob &, class std::shared_ptr<const class utility::tag::Tag>) –> class std::shared_ptr<class utility::options::OptionCollection>
- pyrosetta.rosetta.protocols.jd3.options_from_tag(option_keys: pyrosetta.rosetta.std.list_utility_keys_VariantKey_utility_options_OptionKey_t, job_options_tags: pyrosetta.rosetta.utility.tag.Tag, common_block_tags: pyrosetta.rosetta.utility.tag.Tag) pyrosetta.rosetta.utility.options.OptionCollection ¶
Create a local options collection from a tag.
C++: protocols::jd3::options_from_tag(const class std::list<class utility::keys::VariantKey<class utility::options::OptionKey>, class std::allocator<class utility::keys::VariantKey<class utility::options::OptionKey> > > &, class std::shared_ptr<const class utility::tag::Tag>, class std::shared_ptr<const class utility::tag::Tag>) –> class std::shared_ptr<class utility::options::OptionCollection>
- pyrosetta.rosetta.protocols.jd3.parse_single_residue_selector(tag: pyrosetta.rosetta.utility.tag.Tag, selector_name: str) pyrosetta.rosetta.core.select.residue_selector.ResidueSelector ¶
Return a single residue selector from tag.
C++: protocols::jd3::parse_single_residue_selector(class std::shared_ptr<const class utility::tag::Tag>, const std::string &) –> class std::shared_ptr<const class core::select::residue_selector::ResidueSelector>
- pyrosetta.rosetta.protocols.jd3.print_job_template() None ¶
Prints the job template to a Tracer.
C++: protocols::jd3::print_job_template() –> void
- pyrosetta.rosetta.protocols.jd3.value_attribute_type_for_option(key: pyrosetta.rosetta.utility.options.OptionTypes) utility::tag::XMLSchemaType ¶
- Get the XMLSchemaType for an option key.
Used during SJQ’s xsd parsing
C++: protocols::jd3::value_attribute_type_for_option(const enum utility::options::OptionTypes &) –> class utility::tag::XMLSchemaType