![]() |
Rosetta
2021.16
|
#include <JobGenealogist.hh>

Classes | |
| struct | JGJobNodeOP_hash |
| struct | JGResultNodeOP_hash |
Public Member Functions | |
| JobGenealogist (core::Size num_job_dag_nodes, core::Size num_input_sources) | |
| ~JobGenealogist () override | |
| JGJobNodeOP | register_new_job (core::Size job_dag_node_id, core::Size global_job_id, core::Size input_source_id) |
| register a new job that does not depend on a previous job result but rather takes a pose directly from an input source More... | |
| JGJobNodeOP | register_new_job (core::Size job_dag_node_id, core::Size global_job_id, core::Size job_dag_node_id_of_parent, core::Size global_job_id_of_parent, core::Size result_id_of_parent) |
| register a new job that depends on a single parent job result More... | |
| JGJobNodeOP | register_new_job (core::Size job_dag_node_id, core::Size global_job_id, core::Size job_dag_node_id_of_parent, jd3::JobResultID const &id) |
| register a new job that depends on a single parent job result More... | |
| JGJobNodeOP | register_new_job (core::Size job_dag_node_id, core::Size global_job_id, JGResultNodeAP parent) |
| register a new job that depends on a single parent job result More... | |
| JGJobNodeOP | register_new_job (core::Size job_dag_node_id, core::Size global_job_id, utility::vector1< JGResultNodeAP > const &parents) |
| register a new job that depends on multiple parent job results More... | |
| void | note_job_completed (JGJobNodeAP job_node, core::Size nresults) |
| Creates nresults new JGResultNodes for this job_node. More... | |
| void | note_job_completed (core::Size dag_node_id, core::Size global_job_id, core::Size nresults) |
| wrapper for the other overload. This one is designed to more closely match the argument provided to JobQueen::note_job_completed More... | |
| void | discard_job_result (core::Size job_dag_node, core::Size global_job_id, core::Size result_id) |
| At the end of job_results_that_should_be_discarded(), call this funciton for every JobResultID in the list. More... | |
| void | discard_job_result (core::Size job_dag_node, jd3::JobResultID const &id) |
| At the end of job_results_that_should_be_discarded(), call this funciton for every JobResultID in the list. More... | |
| void | garbage_collection (core::Size job_dag_node, bool delete_downstream_job_if_it_has_no_results, std::list< jd3::JobResultID > &container_for_discarded_result_ids) |
| return every job result id in this job_dag_node that does not have any jobs spawned after it. More... | |
| void | all_job_results_for_node (core::Size job_dag_node, std::list< jd3::JobResultID > &container_for_output) const |
| This method populates the list with every JobResultID for this job dag node. More... | |
| std::string | newick_tree () const |
| This returns the connectivity of the graph as a newick tree. If you graph is not a tree, this will have duplicate elements. More... | |
| core::Size | input_source_for_job (core::Size job_dag_node, core::Size global_job_id) const |
| JGJobNodeCOP | get_const_job_node (core::Size job_dag_node, core::Size global_job_id) const |
| JGResultNodeCAP | get_const_result_node (core::Size node, core::Size global_job_id, core::Size result_id) const |
| void | print_all_nodes () |
| This is more for debugging than anything. Print the global_job_ids for every job dag node to the screen. More... | |
Protected Member Functions | |
| JGJobNodeOP | get_job_node (core::Size job_dag_node, core::Size global_job_id) |
| JGResultNodeAP | get_result_node (core::Size node, core::Size global_job_id, core::Size result_id) |
| void | delete_node (JGJobNodeAP job_node, unsigned int job_dag_node, bool delete_from_vec=true) |
| Are you all done with this JGJobNode? If so, this method deletes it and removes all traces of it. THIS DOES NOT DELETE ANY OF THE CHILDREN. More... | |
| void | delete_node (JGJobNodeAP job_node, bool delete_from_vec=true) |
| Are you all done with this JGJobNode? If so, this method deletes it and removes all traces of it. THIS DOES NOT DELETE ANY OF THE CHILDREN. More... | |
| void | delete_node (JGResultNodeAP result_node) |
| Are you all done with this JGResultNode? If so, this method deletes it and removes all traces of it. THIS DOES NOT DELETE ANY OF THE CHILDREN. More... | |
| unsigned int | input_source_for_node (JGJobNodeCAP job_node) const |
| This is currently just a wrapper for JGJobNode::input_source_id(). I am leaving it as a method because it may become more complicated in the future. More... | |
Private Member Functions | |
| void | add_newick_tree_for_node (JGResultNodeCAP, std::stringstream &) const |
| recursive utility function for std::string newick_tree(); More... | |
Private Attributes | |
| core::Size | num_input_sources_ |
| utility::vector1 < utility::vector1 < JGJobNodeOP > > | job_nodes_for_dag_node_ |
| std::unordered_set < JGJobNodeOP, JGJobNodeOP_hash > | all_job_nodes_ |
| std::unordered_set < JGResultNodeOP, JGResultNodeOP_hash > | all_result_nodes_ |
| compare_job_nodes | sorter_ |
| protocols::jd3::JobGenealogist::JobGenealogist | ( | core::Size | num_job_dag_nodes, |
| core::Size | num_input_sources | ||
| ) |
References all_job_nodes_, all_result_nodes_, and job_nodes_for_dag_node_.
|
override |
|
private |
recursive utility function for std::string newick_tree();
Referenced by newick_tree().
| void protocols::jd3::JobGenealogist::all_job_results_for_node | ( | core::Size | job_dag_node, |
| std::list< jd3::JobResultID > & | container_for_output | ||
| ) | const |
This method populates the list with every JobResultID for this job dag node.
| [out] | container_for_output |
References job_nodes_for_dag_node_.
|
protected |
Are you all done with this JGJobNode? If so, this method deletes it and removes all traces of it. THIS DOES NOT DELETE ANY OF THE CHILDREN.
References all_job_nodes_, core::sequence::end, protocols::jd3::JGJobNode::global_job_id(), job_nodes_for_dag_node_, and sorter_.
Referenced by delete_node(), discard_job_result(), and garbage_collection().
|
inlineprotected |
Are you all done with this JGJobNode? If so, this method deletes it and removes all traces of it. THIS DOES NOT DELETE ANY OF THE CHILDREN.
References delete_node().
|
inlineprotected |
Are you all done with this JGResultNode? If so, this method deletes it and removes all traces of it. THIS DOES NOT DELETE ANY OF THE CHILDREN.
References all_result_nodes_.
| void protocols::jd3::JobGenealogist::discard_job_result | ( | core::Size | job_dag_node, |
| core::Size | global_job_id, | ||
| core::Size | result_id | ||
| ) |
At the end of job_results_that_should_be_discarded(), call this funciton for every JobResultID in the list.
References delete_node(), and get_result_node().
Referenced by discard_job_result().
|
inline |
At the end of job_results_that_should_be_discarded(), call this funciton for every JobResultID in the list.
References discard_job_result().
| void protocols::jd3::JobGenealogist::garbage_collection | ( | core::Size | job_dag_node, |
| bool | delete_downstream_job_if_it_has_no_results, | ||
| std::list< jd3::JobResultID > & | container_for_discarded_result_ids | ||
| ) |
return every job result id in this job_dag_node that does not have any jobs spawned after it.
| [out] | container_for_discarded_result_ids |
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.
References protocols::cluster::calibur::aa, delete_node(), job_nodes_for_dag_node_, print_all_nodes(), core::id::swap(), and protocols::jd3::TR().
| JGJobNodeCOP protocols::jd3::JobGenealogist::get_const_job_node | ( | core::Size | job_dag_node, |
| core::Size | global_job_id | ||
| ) | const |
References core::sequence::end, protocols::jd3::JGJobNode::global_job_id(), job_nodes_for_dag_node_, and sorter_.
Referenced by get_const_result_node(), and input_source_for_job().
| JGResultNodeCAP protocols::jd3::JobGenealogist::get_const_result_node | ( | core::Size | node, |
| core::Size | global_job_id, | ||
| core::Size | result_id | ||
| ) | const |
References get_const_job_node().
|
protected |
References core::sequence::end, protocols::jd3::JGJobNode::global_job_id(), job_nodes_for_dag_node_, and sorter_.
Referenced by get_result_node(), and note_job_completed().
|
protected |
References get_job_node().
Referenced by discard_job_result(), and register_new_job().
|
inline |
References get_const_job_node(), and input_source_for_node().
|
inlineprotected |
This is currently just a wrapper for JGJobNode::input_source_id(). I am leaving it as a method because it may become more complicated in the future.
Referenced by input_source_for_job().
| std::string protocols::jd3::JobGenealogist::newick_tree | ( | ) | const |
This returns the connectivity of the graph as a newick tree. If you graph is not a tree, this will have duplicate elements.
References add_newick_tree_for_node(), job_nodes_for_dag_node_, and num_input_sources_.
| void protocols::jd3::JobGenealogist::note_job_completed | ( | JGJobNodeAP | job_node, |
| core::Size | nresults | ||
| ) |
Creates nresults new JGResultNodes for this job_node.
References all_result_nodes_.
Referenced by note_job_completed().
|
inline |
wrapper for the other overload. This one is designed to more closely match the argument provided to JobQueen::note_job_completed
References get_job_node(), and note_job_completed().
| void protocols::jd3::JobGenealogist::print_all_nodes | ( | ) |
This is more for debugging than anything. Print the global_job_ids for every job dag node to the screen.
References job_nodes_for_dag_node_, and protocols::jd3::TR().
Referenced by garbage_collection().
| JGJobNodeOP protocols::jd3::JobGenealogist::register_new_job | ( | core::Size | job_dag_node_id, |
| core::Size | global_job_id, | ||
| core::Size | input_source_id | ||
| ) |
register a new job that does not depend on a previous job result but rather takes a pose directly from an input source
References all_job_nodes_, core::sequence::end, job_nodes_for_dag_node_, num_input_sources_, and sorter_.
Referenced by register_new_job().
| JGJobNodeOP protocols::jd3::JobGenealogist::register_new_job | ( | core::Size | job_dag_node_id, |
| core::Size | global_job_id, | ||
| core::Size | job_dag_node_id_of_parent, | ||
| core::Size | global_job_id_of_parent, | ||
| core::Size | result_id_of_parent | ||
| ) |
register a new job that depends on a single parent job result
References all_job_nodes_, core::sequence::end, get_result_node(), job_nodes_for_dag_node_, and sorter_.
|
inline |
register a new job that depends on a single parent job result
References register_new_job().
| JGJobNodeOP protocols::jd3::JobGenealogist::register_new_job | ( | core::Size | job_dag_node_id, |
| core::Size | global_job_id, | ||
| JGResultNodeAP | parent | ||
| ) |
register a new job that depends on a single parent job result
References all_job_nodes_, core::sequence::end, job_nodes_for_dag_node_, and sorter_.
| JGJobNodeOP protocols::jd3::JobGenealogist::register_new_job | ( | core::Size | job_dag_node_id, |
| core::Size | global_job_id, | ||
| utility::vector1< JGResultNodeAP > const & | parents | ||
| ) |
register a new job that depends on multiple parent job results
References all_job_nodes_, core::sequence::end, job_nodes_for_dag_node_, and sorter_.
|
private |
Referenced by delete_node(), JobGenealogist(), and register_new_job().
|
private |
Referenced by delete_node(), JobGenealogist(), and note_job_completed().
|
private |
|
private |
Referenced by newick_tree(), and register_new_job().
|
private |
Referenced by delete_node(), get_const_job_node(), get_job_node(), and register_new_job().
1.8.7