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

#include <mutable_path_deletable_handle_graph.hpp>

Inheritance diagram for handlegraph::MutablePathDeletableHandleGraph:
handlegraph::MutablePathMutableHandleGraph handlegraph::DeletableHandleGraph handlegraph::MutablePathHandleGraph handlegraph::MutableHandleGraph handlegraph::MutableHandleGraph handlegraph::PathHandleGraph handlegraph::MutablePathMetadata handlegraph::HandleGraph handlegraph::HandleGraph handlegraph::HandleGraph handlegraph::PathMetadata handlegraph::PathMetadata vg::VG

Public Member Functions

virtual ~MutablePathDeletableHandleGraph ()=default
 
- Public Member Functions inherited from handlegraph::MutablePathMutableHandleGraph
virtual ~MutablePathMutableHandleGraph ()=default
 
- Public Member Functions inherited from handlegraph::MutablePathHandleGraph
virtual ~MutablePathHandleGraph ()=default
 
virtual void destroy_path (const path_handle_t &path_handle)=0
 
virtual void destroy_paths (const std::vector< path_handle_t > &paths)
 
virtual path_handle_t create_path_handle (const std::string &name, bool is_circular=false)=0
 
virtual path_handle_t rename_path (const path_handle_t &path_handle, const std::string &new_name)
 
virtual step_handle_t append_step (const path_handle_t &path, const handle_t &to_append)=0
 
virtual step_handle_t prepend_step (const path_handle_t &path, const handle_t &to_prepend)=0
 
virtual void pop_front_step (const path_handle_t &path_handle)
 
virtual void pop_back_step (const path_handle_t &path_handle)
 
virtual std::pair< step_handle_t, step_handle_trewrite_segment (const step_handle_t &segment_begin, const step_handle_t &segment_end, const std::vector< handle_t > &new_segment)=0
 
virtual void set_circularity (const path_handle_t &path, bool circular)=0
 
- Public Member Functions inherited from handlegraph::PathHandleGraph
virtual ~PathHandleGraph ()=default
 
virtual size_t get_path_count () const =0
 Returns the number of paths stored in the graph. More...
 
virtual bool has_path (const std::string &path_name) const =0
 Determine if a path name exists and is legal to get a path handle for. More...
 
virtual path_handle_t get_path_handle (const std::string &path_name) const =0
 
virtual std::string get_path_name (const path_handle_t &path_handle) const =0
 Look up the name of a path from a handle to it. More...
 
virtual bool get_is_circular (const path_handle_t &path_handle) const =0
 Look up whether a path is circular. More...
 
virtual size_t get_step_count (const path_handle_t &path_handle) const =0
 Returns the number of node steps in the path. More...
 
virtual size_t get_step_count (const handle_t &handle) const
 Returns the number of node steps on a handle. More...
 
virtual handle_t get_handle_of_step (const step_handle_t &step_handle) const =0
 Get a node handle (node ID and orientation) from a handle to an step on a path. More...
 
virtual path_handle_t get_path_handle_of_step (const step_handle_t &step_handle) const =0
 Returns a handle to the path that an step is on. More...
 
virtual step_handle_t path_begin (const path_handle_t &path_handle) const =0
 
virtual step_handle_t path_end (const path_handle_t &path_handle) const =0
 
virtual step_handle_t path_back (const path_handle_t &path_handle) const =0
 
virtual step_handle_t path_front_end (const path_handle_t &path_handle) const =0
 
virtual bool has_next_step (const step_handle_t &step_handle) const =0
 Returns true if the step is not the last step in a non-circular path. More...
 
virtual bool has_previous_step (const step_handle_t &step_handle) const =0
 Returns true if the step is not the first step in a non-circular path. More...
 
virtual step_handle_t get_next_step (const step_handle_t &step_handle) const =0
 
virtual step_handle_t get_previous_step (const step_handle_t &step_handle) const =0
 
template<typename Iteratee >
bool for_each_path_handle (const Iteratee &iteratee) const
 
template<typename Iteratee >
bool for_each_step_on_handle (const handle_t &handle, const Iteratee &iteratee) const
 
virtual std::vector< step_handle_tsteps_of_handle (const handle_t &handle, bool match_orientation=false) const
 
virtual bool is_empty (const path_handle_t &path_handle) const
 Returns true if the given path is empty, and false otherwise. More...
 
PathForEachSocket scan_path (const path_handle_t &path) const
 
template<typename Iteratee >
bool for_each_step_in_path (const path_handle_t &path, const Iteratee &iteratee) const
 
- 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
 
- Public Member Functions inherited from handlegraph::MutableHandleGraph
virtual ~MutableHandleGraph ()=default
 
virtual handle_t create_handle (const std::string &sequence)=0
 
virtual handle_t create_handle (const std::string &sequence, const nid_t &id)=0
 
virtual void create_edge (const handle_t &left, const handle_t &right)=0
 
void create_edge (const edge_t &edge)
 Convenient wrapper for create_edge. More...
 
virtual handle_t apply_orientation (const handle_t &handle)=0
 
virtual std::vector< handle_tdivide_handle (const handle_t &handle, const std::vector< size_t > &offsets)=0
 
std::pair< handle_t, handle_tdivide_handle (const handle_t &handle, size_t offset)
 Specialization of divide_handle for a single division point. More...
 
virtual void optimize (bool allow_id_reassignment=true)=0
 
virtual bool apply_ordering (const std::vector< handle_t > &order, bool compact_ids=false)=0
 
virtual void set_id_increment (const nid_t &min_id)=0
 
virtual void increment_node_ids (nid_t increment)
 
virtual void increment_node_ids (long increment)
 This specialization for long appears to be needed to avoid confusion about nid_t. More...
 
virtual void reassign_node_ids (const std::function< nid_t(const nid_t &)> &get_new_id)=0
 
- Public Member Functions inherited from handlegraph::DeletableHandleGraph
virtual ~DeletableHandleGraph ()=default
 
virtual void destroy_handle (const handle_t &handle)=0
 
virtual void destroy_edge (const handle_t &left, const handle_t &right)=0
 
virtual handle_t truncate_handle (const handle_t &handle, bool trunc_left, size_t offset)
 
void destroy_edge (const edge_t &edge)
 Convenient wrapper for destroy_edge. More...
 
virtual void clear ()=0
 Remove all nodes and edges. May also remove all paths, if applicable. More...
 

Additional Inherited Members

- Protected Member Functions inherited from handlegraph::PathHandleGraph
virtual bool for_each_path_handle_impl (const std::function< bool(const path_handle_t &)> &iteratee) const =0
 
virtual bool for_each_step_on_handle_impl (const handle_t &handle, const std::function< bool(const step_handle_t &)> &iteratee) const =0
 
- 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

This is the interface for a graph which is deletable and which has paths which are also mutable.

Constructor & Destructor Documentation

◆ ~MutablePathDeletableHandleGraph()

virtual handlegraph::MutablePathDeletableHandleGraph::~MutablePathDeletableHandleGraph ( )
virtualdefault

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