vg
tools for working with variation graphs
Public Member Functions | List of all members
handlegraph::RankedHandleGraph Class Referenceabstract

#include <handle_graph.hpp>

Inheritance diagram for handlegraph::RankedHandleGraph:
handlegraph::HandleGraph handlegraph::VectorizableHandleGraph xg::XG

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
 

Detailed Description

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.

Member Function Documentation

◆ handle_to_rank()

size_t handlegraph::RankedHandleGraph::handle_to_rank ( const handle_t handle) const
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.

◆ id_to_rank()

virtual size_t handlegraph::RankedHandleGraph::id_to_rank ( const nid_t node_id) const
pure virtual

Return the rank of a node (ranks start at 1 and are dense).

Implemented in xg::XG.

◆ rank_to_handle()

handle_t handlegraph::RankedHandleGraph::rank_to_handle ( const size_t &  rank) const
virtual

Return the handle with a given rank.

◆ rank_to_id()

virtual nid_t handlegraph::RankedHandleGraph::rank_to_id ( const size_t &  rank) const
pure virtual

Return the node with a given rank.

Implemented in xg::XG.


The documentation for this class was generated from the following files: