|
| ProtoHandleGraph (const Graph *graph) |
| Initialize as a wrapper for a Protobuf graph. More...
|
|
| ProtoHandleGraph ()=default |
| Default constructor – not actually functional. More...
|
|
| ~ProtoHandleGraph ()=default |
| Default destructor. More...
|
|
handle_t | get_handle_by_index (const size_t &i) const |
| Non-HandleGraph methods from Protobuf. More...
|
|
size_t | edge_size () const |
| Returns the number of edges in the graph. More...
|
|
edge_t | get_edge_by_index (const size_t &i) const |
| Get a handle to the i-th edge. More...
|
|
virtual bool | has_node (id_t node_id) const |
| HandleGraph interface. More...
|
|
virtual handle_t | 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. More...
|
|
virtual id_t | get_id (const handle_t &handle) const |
| Get the ID from a handle. More...
|
|
virtual bool | get_is_reverse (const handle_t &handle) const |
| Get the orientation of a handle. More...
|
|
virtual handle_t | flip (const handle_t &handle) const |
| Invert the orientation of a handle (potentially without getting its ID) More...
|
|
virtual size_t | get_length (const handle_t &handle) const |
| Get the length of a node. More...
|
|
virtual string | get_sequence (const handle_t &handle) const |
|
virtual bool | follow_edges_impl (const handle_t &handle, bool go_left, const function< bool(const handle_t &)> &iteratee) const |
|
virtual bool | for_each_handle_impl (const function< bool(const handle_t &)> &iteratee, bool parallel=false) const |
|
virtual size_t | get_node_count () const |
| Return the number of nodes in the graph. More...
|
|
virtual id_t | min_node_id () const |
|
virtual id_t | max_node_id () const |
|
virtual bool | for_each_edge (const function< bool(const edge_t &)> &iteratee, bool parallel=false) const |
|
Public Member Functions inherited from handlegraph::HandleGraph |
virtual | ~HandleGraph ()=default |
|
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 |
|
THIS IS NOT AN EFFICIENT GRAPH IMPLMENTATION. It is a HandleGraph wrapper for an unindexed Protobuf graph, which is primarily intended to provide a shim that eases the transition away from using Protobuf. In particular, it does not maintain adjacency lists, so edge and node lookup are O(N). However, it does provide the ability to look up nodes and edges by ordinal index in addition to the standard HandleGraph interface.