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

#include <handle_graph.hpp>

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

Public Member Functions

virtual ~VectorizableHandleGraph ()=default
 
virtual size_t node_vector_offset (const nid_t &node_id) const =0
 
virtual nid_t node_at_vector_offset (const size_t &offset) const =0
 Return the node overlapping the given offset in the implicit node vector. More...
 
virtual size_t edge_index (const edge_t &edge) const =0
 Return a unique index among edges in the graph. More...
 
- Public Member Functions inherited from handlegraph::RankedHandleGraph
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 providing a vectorization of the graph nodes and edges, which can be co-inherited alongside HandleGraph.

Constructor & Destructor Documentation

◆ ~VectorizableHandleGraph()

virtual handlegraph::VectorizableHandleGraph::~VectorizableHandleGraph ( )
virtualdefault

Member Function Documentation

◆ edge_index()

virtual size_t handlegraph::VectorizableHandleGraph::edge_index ( const edge_t edge) const
pure virtual

Return a unique index among edges in the graph.

Implemented in xg::XG.

◆ node_at_vector_offset()

virtual nid_t handlegraph::VectorizableHandleGraph::node_at_vector_offset ( const size_t &  offset) const
pure virtual

Return the node overlapping the given offset in the implicit node vector.

Implemented in xg::XG.

◆ node_vector_offset()

virtual size_t handlegraph::VectorizableHandleGraph::node_vector_offset ( const nid_t node_id) const
pure virtual

Return the start position of the node in a (possibly implict) sorted array constructed from the concatenation of the node sequences

Implemented in xg::XG.


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