vg
tools for working with variation graphs
|
#include <handle_graph.hpp>
Public Member Functions | |
virtual size_t | id_to_rank (const nid_t &node_id) const =0 |
Return the rank of a node (ranks start at 1 and are dense). More... | |
virtual nid_t | rank_to_id (const size_t &rank) const =0 |
Return the node with a given rank. More... | |
virtual size_t | handle_to_rank (const handle_t &handle) const |
virtual handle_t | rank_to_handle (const size_t &rank) const |
Return the handle with a given rank. More... | |
Public Member Functions inherited from handlegraph::HandleGraph | |
virtual | ~HandleGraph ()=default |
virtual bool | has_node (nid_t node_id) const =0 |
Method to check if a node exists by ID. More... | |
virtual handle_t | get_handle (const nid_t &node_id, bool is_reverse=false) const =0 |
Look up the handle for the node with the given ID in the given orientation. More... | |
virtual nid_t | get_id (const handle_t &handle) const =0 |
Get the ID from a handle. More... | |
virtual bool | get_is_reverse (const handle_t &handle) const =0 |
Get the orientation of a handle. More... | |
virtual handle_t | flip (const handle_t &handle) const =0 |
Invert the orientation of a handle (potentially without getting its ID) More... | |
virtual size_t | get_length (const handle_t &handle) const =0 |
Get the length of a node. More... | |
virtual std::string | get_sequence (const handle_t &handle) const =0 |
virtual size_t | get_node_count () const =0 |
Return the number of nodes in the graph. More... | |
virtual nid_t | min_node_id () const =0 |
virtual nid_t | max_node_id () const =0 |
template<typename Iteratee > | |
bool | follow_edges (const handle_t &handle, bool go_left, const Iteratee &iteratee) const |
template<typename Iteratee > | |
bool | for_each_handle (const Iteratee &iteratee, bool parallel=false) const |
virtual size_t | get_degree (const handle_t &handle, bool go_left) const |
virtual bool | has_edge (const handle_t &left, const handle_t &right) const |
bool | has_edge (const edge_t &edge) const |
Convenient wrapper of has_edge for edge_t argument. More... | |
virtual size_t | get_edge_count () const |
virtual size_t | get_total_length () const |
virtual char | get_base (const handle_t &handle, size_t index) const |
virtual std::string | get_subsequence (const handle_t &handle, size_t index, size_t size) const |
handle_t | forward (const handle_t &handle) const |
Get the locally forward version of a handle. More... | |
edge_t | edge_handle (const handle_t &left, const handle_t &right) const |
handle_t | traverse_edge_handle (const edge_t &edge, const handle_t &left) const |
template<typename Iteratee > | |
bool | for_each_edge (const Iteratee &iteratee, bool parallel=false) const |
Additional Inherited Members | |
Protected Member Functions inherited from handlegraph::HandleGraph | |
virtual bool | follow_edges_impl (const handle_t &handle, bool go_left, const std::function< bool(const handle_t &)> &iteratee) const =0 |
virtual bool | for_each_handle_impl (const std::function< bool(const handle_t &)> &iteratee, bool parallel=false) const =0 |
Defines an interface for a handle graph that can rank its nodes and handles.
Doesn't actually require an efficient node lookup by sequence position as in VectorizableHandleGraph.
|
virtual |
Return the rank of a handle (ranks start at 1 and are dense, and each orientation has its own rank). Handle ranks may not have anything to do with node ranks.
|
pure virtual |
Return the rank of a node (ranks start at 1 and are dense).
Implemented in xg::XG.
|
virtual |
Return the handle with a given rank.
|
pure virtual |
Return the node with a given rank.
Implemented in xg::XG.