#include <dagified_graph.hpp>
|
| const HandleGraph * | graph = nullptr |
| | The underlying graph we're dagifiying.
|
| unordered_map< handle_t, size_t > | layout_order |
| vector< uint64_t > | scc_of_handle |
| vector< uint64_t > | scc_copy_count |
| uint64_t | min_handle = std::numeric_limits<uint64_t>::max() |
| | The minimum value of a handle in the underlying graph, interpreted as an integer.
|
| uint64_t | handle_val_range = 0 |
| | The width of the range of values that handles in the underlying graph take.
|
| size_t | node_count = 0 |
| | The number of nodes including duplicated nodes, computed during construction.
|
| id_t | max_id = std::numeric_limits<uint64_t>::min() |
| | The maximum ID of the graph, computed during construction.
|
A HandleGraph implementation that wraps some other handle graph and converts it into a DAG, preserving all paths up a a minimum length.
◆ DagifiedGraph() [1/2]
| vg::DagifiedGraph::DagifiedGraph |
( |
const HandleGraph * | graph, |
|
|
size_t | min_preserved_path_length, |
|
|
size_t | max_num_duplications = std::numeric_limits<size_t>::max() ) |
Expand a single-stranded graph into a DAG, preserving all walks up to the minimum length. If max duplications is provided, limits the number of times any node is copied.
◆ DagifiedGraph() [2/2]
| vg::DagifiedGraph::DagifiedGraph |
( |
| ) |
|
|
default |
Default constructor – not actually functional.
◆ ~DagifiedGraph()
| vg::DagifiedGraph::~DagifiedGraph |
( |
| ) |
|
|
default |
◆ flip()
Invert the orientation of a handle (potentially without getting its ID).
◆ follow_edges_impl()
| bool vg::DagifiedGraph::follow_edges_impl |
( |
const handle_t & | handle, |
|
|
bool | go_left, |
|
|
const function< bool(const handle_t &)> & | iteratee ) const |
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::DagifiedGraph::for_each_handle_impl |
( |
const function< bool(const handle_t &)> & | iteratee, |
|
|
bool | parallel = false ) const |
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.
◆ get_handle()
| handle_t vg::DagifiedGraph::get_handle |
( |
const id_t & | node_id, |
|
|
bool | is_reverse = false ) const |
Look up the handle for the node with the given ID in the given orientation.
◆ get_id()
| id_t vg::DagifiedGraph::get_id |
( |
const handle_t & | handle | ) |
const |
Get the ID from a handle.
◆ get_is_reverse()
| bool vg::DagifiedGraph::get_is_reverse |
( |
const handle_t & | handle | ) |
const |
Get the orientation of a handle.
◆ get_length()
| size_t vg::DagifiedGraph::get_length |
( |
const handle_t & | handle | ) |
const |
Get the length of a node.
◆ get_node_count()
| size_t vg::DagifiedGraph::get_node_count |
( |
| ) |
const |
Return the number of nodes in the graph.
◆ get_sequence()
| string vg::DagifiedGraph::get_sequence |
( |
const handle_t & | handle | ) |
const |
Get the sequence of a node, presented in the handle's local forward orientation.
◆ get_underlying_handle()
| handle_t vg::DagifiedGraph::get_underlying_handle |
( |
const handle_t & | handle | ) |
const |
ExpandingOverlayGraph interface.
Returns the handle in the underlying graph that corresponds to a handle in the overlay
◆ get_underlying_id()
| id_t vg::DagifiedGraph::get_underlying_id |
( |
const id_t & | node_id | ) |
const |
|
protected |
Helper function to identify the node ID in the original graph that corresponds to a node in the dagified graph
◆ has_node()
| bool vg::DagifiedGraph::has_node |
( |
id_t | node_id | ) |
const |
◆ layout_order_of_handle()
| size_t vg::DagifiedGraph::layout_order_of_handle |
( |
const handle_t & | handle | ) |
const |
|
protected |
Helper function that returns the layout order of a handle from the underlying graph.
◆ max_node_id()
| id_t vg::DagifiedGraph::max_node_id |
( |
| ) |
const |
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()
| id_t vg::DagifiedGraph::min_node_id |
( |
| ) |
const |
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.
◆ nth_copy_of_handle()
| handle_t vg::DagifiedGraph::nth_copy_of_handle |
( |
const handle_t & | handle, |
|
|
const uint64_t & | n ) const |
|
protected |
Helper function, returns the n-th copy in the dagified graph of a handle in the underlying graph.
◆ scc_copy_of_handle()
| uint64_t vg::DagifiedGraph::scc_copy_of_handle |
( |
const handle_t & | handle | ) |
const |
|
protected |
Helper function to identify which ordinal copy of a strongly connected component in the underlying graph the handle belongs to
◆ scc_copy_of_node_id()
| uint64_t vg::DagifiedGraph::scc_copy_of_node_id |
( |
const id_t & | node_id | ) |
const |
|
protected |
Helper function to identify which ordinal copy of a strongly connected component in the underlying graph the node ID belongs to
◆ graph
The underlying graph we're dagifiying.
◆ handle_val_range
| uint64_t vg::DagifiedGraph::handle_val_range = 0 |
|
protected |
The width of the range of values that handles in the underlying graph take.
◆ layout_order
| unordered_map<handle_t, size_t> vg::DagifiedGraph::layout_order |
|
protected |
Map from a canonical orientation of underlying handles (not necessarily forward!) to the ordinal position of the node in a low-FAS layout
◆ max_id
| id_t vg::DagifiedGraph::max_id = std::numeric_limits<uint64_t>::min() |
|
protected |
The maximum ID of the graph, computed during construction.
◆ min_handle
| uint64_t vg::DagifiedGraph::min_handle = std::numeric_limits<uint64_t>::max() |
|
protected |
The minimum value of a handle in the underlying graph, interpreted as an integer.
◆ node_count
| size_t vg::DagifiedGraph::node_count = 0 |
|
protected |
The number of nodes including duplicated nodes, computed during construction.
◆ scc_copy_count
| vector<uint64_t> vg::DagifiedGraph::scc_copy_count |
|
protected |
The number of times each strongly connected component is duplicated in the dagified graph
◆ scc_of_handle
| vector<uint64_t> vg::DagifiedGraph::scc_of_handle |
|
protected |
The ID of the strongly connected component that the handle at each layout position belongs to
The documentation for this class was generated from the following files: