#include <subgraph_overlay.hpp>
Present a HandleGraph that is a backing HandleGraph but restricted to a subset of nodes. It won't give handles to nodes not in the subset, but it's not bulletproof: handles from outside the subset won't undergo any special checks.
◆ SubgraphOverlay()
| vg::SubgraphOverlay::SubgraphOverlay |
( |
const HandleGraph * | backing, |
|
|
const unordered_set< nid_t > * | node_subset ) |
Make a new PathSubgraphOverlay. The backing graph must not be modified while the overlay exists.
◆ ~SubgraphOverlay()
| vg::SubgraphOverlay::~SubgraphOverlay |
( |
| ) |
|
|
virtual |
◆ flip()
Invert the orientation of a handle (potentially without getting its ID).
◆ follow_edges_impl()
| bool vg::SubgraphOverlay::follow_edges_impl |
( |
const handle_t & | handle, |
|
|
bool | go_left, |
|
|
const std::function< bool(const handle_t &)> & | iteratee ) const |
|
protectedvirtual |
Loop over all the handles to next/previous (right/left) nodes. Passes them to a callback which returns false to stop iterating and true to continue. Returns true if we finished and false if we stopped early.
◆ for_each_handle_impl()
| bool vg::SubgraphOverlay::for_each_handle_impl |
( |
const std::function< bool(const handle_t &)> & | iteratee, |
|
|
bool | parallel = false ) const |
|
protectedvirtual |
Loop over all the nodes in the graph in their local forward orientations, in their internal stored order. Stop if the iteratee returns false. Can be told to run in parallel, in which case stopping after a false return value is on a best-effort basis and iteration order is not defined. Returns true if we finished and false if we stopped early.
◆ get_handle()
| handle_t vg::SubgraphOverlay::get_handle |
( |
const nid_t & | node_id, |
|
|
bool | is_reverse = false ) const |
|
virtual |
Look up the handle for the node with the given ID in the given orientation.
◆ get_id()
| nid_t vg::SubgraphOverlay::get_id |
( |
const handle_t & | handle | ) |
const |
|
virtual |
Get the ID from a handle.
◆ get_is_reverse()
| bool vg::SubgraphOverlay::get_is_reverse |
( |
const handle_t & | handle | ) |
const |
|
virtual |
Get the orientation of a handle.
◆ get_length()
| size_t vg::SubgraphOverlay::get_length |
( |
const handle_t & | handle | ) |
const |
|
virtual |
Get the length of a node.
◆ get_node_count()
| size_t vg::SubgraphOverlay::get_node_count |
( |
| ) |
const |
|
virtual |
Return the number of nodes in the graph.
◆ get_sequence()
| std::string vg::SubgraphOverlay::get_sequence |
( |
const handle_t & | handle | ) |
const |
|
virtual |
Get the sequence of a node, presented in the handle's local forward orientation.
◆ has_node()
| bool vg::SubgraphOverlay::has_node |
( |
nid_t | node_id | ) |
const |
|
virtual |
Method to check if a node exists by ID.
◆ max_node_id()
| nid_t vg::SubgraphOverlay::max_node_id |
( |
| ) |
const |
|
virtual |
Return the largest ID in the graph, or some larger number if the largest ID is unavailable. Return value is unspecified if the graph is empty.
◆ min_node_id()
| nid_t vg::SubgraphOverlay::min_node_id |
( |
| ) |
const |
|
virtual |
Return the smallest ID in the graph, or some smaller number if the smallest ID is unavailable. Return value is unspecified if the graph is empty.
◆ backing_graph
◆ max_node
| nid_t vg::SubgraphOverlay::max_node = 0 |
|
protected |
◆ min_node
| nid_t vg::SubgraphOverlay::min_node = 0 |
|
protected |
◆ node_subset
| const unordered_set<nid_t>* vg::SubgraphOverlay::node_subset |
|
protected |
the node subset. note, we don't own this so its up to client to keep in scope, just like the backing graph
The documentation for this class was generated from the following files: