|
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_t > | rewrite_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_t > | steps_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::PathMetadata |
virtual | ~PathMetadata ()=default |
|
virtual PathSense | get_sense (const path_handle_t &handle) const |
| What is the given path meant to be representing? More...
|
|
virtual std::string | get_sample_name (const path_handle_t &handle) const |
|
virtual std::string | get_locus_name (const path_handle_t &handle) const |
|
virtual size_t | get_haplotype (const path_handle_t &handle) const |
|
virtual size_t | get_phase_block (const path_handle_t &handle) const |
|
virtual subrange_t | get_subrange (const path_handle_t &handle) const |
|
template<typename Iteratee > |
bool | for_each_path_of_sense (const PathSense &sense, const Iteratee &iteratee) const |
|
template<typename Iteratee > |
bool | for_each_path_of_sample (const std::string &sample, const Iteratee &iteratee) const |
|
template<typename Iteratee > |
bool | for_each_path_matching (const std::unordered_set< PathSense > *senses, const std::unordered_set< std::string > *samples, const std::unordered_set< std::string > *loci, const Iteratee &iteratee) const |
|
template<typename Iteratee > |
bool | for_each_path_matching (const std::unordered_set< PathSense > &senses, const std::unordered_set< std::string > &samples, const std::unordered_set< std::string > &loci, const Iteratee &iteratee) const |
|
template<typename Iteratee > |
bool | for_each_step_of_sense (const handle_t &visited, const PathSense &sense, const Iteratee &iteratee) const |
|
Public Member Functions inherited from handlegraph::MutablePathMetadata |
virtual | ~MutablePathMetadata ()=default |
|
virtual path_handle_t | create_path (const PathSense &sense, const std::string &sample, const std::string &locus, const size_t &haplotype, const size_t &phase_block, const subrange_t &subrange, bool is_circular=false) |
|
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_t > | divide_handle (const handle_t &handle, const std::vector< size_t > &offsets)=0 |
|
std::pair< handle_t, handle_t > | divide_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...
|
|
|
Static Public Member Functions inherited from handlegraph::PathMetadata |
static PathSense | parse_sense (const std::string &path_name) |
|
static std::string | parse_sample_name (const std::string &path_name) |
|
static std::string | parse_locus_name (const std::string &path_name) |
|
static size_t | parse_haplotype (const std::string &path_name) |
|
static size_t | parse_phase_block (const std::string &path_name) |
|
static subrange_t | parse_subrange (const std::string &path_name) |
|
static void | parse_path_name (const std::string &path_name, PathSense &sense, std::string &sample, std::string &locus, size_t &haplotype, size_t &phase_block, subrange_t &subrange) |
| Decompose a formatted path name into metadata. More...
|
|
static std::string | create_path_name (const PathSense &sense, const std::string &sample, const std::string &locus, const size_t &haplotype, const size_t &phase_block, const subrange_t &subrange) |
|
Static Public Attributes inherited from handlegraph::PathMetadata |
static const std::string | NO_SAMPLE_NAME = "" |
|
static const std::string | NO_LOCUS_NAME = "" |
|
static const size_t | NO_HAPLOTYPE = std::numeric_limits<size_t>::max() |
|
static const size_t | NO_PHASE_BLOCK = std::numeric_limits<size_t>::max() |
|
static const subrange_t | NO_SUBRANGE {PathMetadata::NO_END_POSITION, PathMetadata::NO_END_POSITION} |
|
static const offset_t | NO_END_POSITION = std::numeric_limits<offset_t>::max() |
|
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 |
|
Protected Member Functions inherited from handlegraph::PathMetadata |
virtual bool | for_each_path_matching_impl (const std::unordered_set< PathSense > *senses, const std::unordered_set< std::string > *samples, const std::unordered_set< std::string > *loci, const std::function< bool(const path_handle_t &)> &iteratee) const |
|
virtual bool | for_each_step_of_sense_impl (const handle_t &visited, const PathSense &sense, const std::function< bool(const step_handle_t &)> &iteratee) const |
|
This is the interface for a graph which is deletable and which has paths which are also mutable.