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

#include <chunker.hpp>

Public Member Functions

 PathChunker (const PathPositionHandleGraph *graph=NULL)
 
 ~PathChunker ()
 
void extract_subgraph (const Region &region, int64_t context, int64_t length, bool forward_only, MutablePathMutableHandleGraph &subgraph, Region &out_region)
 
void extract_path_component (const string &path_name, MutablePathMutableHandleGraph &subgraph, Region &out_region)
 
void extract_component (const unordered_set< nid_t > &node_ids, MutablePathMutableHandleGraph &subgraph, bool subpath_naming)
 
void extract_id_range (vg::id_t start, vg::id_t end, int64_t context, int64_t length, bool forward_only, MutablePathMutableHandleGraph &subgraph, Region &out_region)
 
set< pair< pair< id_t, bool >, pair< id_t, bool > > > get_path_edge_index (step_handle_t start_step, step_handle_t end_step, int64_t context) const
 

Public Attributes

const PathPositionHandleGraphgraph
 

Detailed Description

Chunk up a graph along a path, using a given number of context expansion steps to fill out the chunks. Most of the work done by exising xg functions.

Constructor & Destructor Documentation

◆ PathChunker()

vg::PathChunker::PathChunker ( const PathPositionHandleGraph graph = NULL)

◆ ~PathChunker()

vg::PathChunker::~PathChunker ( )

Member Function Documentation

◆ extract_component()

void vg::PathChunker::extract_component ( const unordered_set< nid_t > &  node_ids,
MutablePathMutableHandleGraph subgraph,
bool  subpath_naming 
)

Extract a connected component starting from an id set

◆ extract_id_range()

void vg::PathChunker::extract_id_range ( vg::id_t  start,
vg::id_t  end,
int64_t  context,
int64_t  length,
bool  forward_only,
MutablePathMutableHandleGraph subgraph,
Region out_region 
)

Like above, but use (inclusive) id range instead of region on path.

◆ extract_path_component()

void vg::PathChunker::extract_path_component ( const string &  path_name,
MutablePathMutableHandleGraph subgraph,
Region out_region 
)

Extract a connected component containing a given path

◆ extract_subgraph()

void vg::PathChunker::extract_subgraph ( const Region region,
int64_t  context,
int64_t  length,
bool  forward_only,
MutablePathMutableHandleGraph subgraph,
Region out_region 
)

Extract subgraph corresponding to given path region into its own vg graph, and send it to out_stream. The boundaries of the extracted graph (which can be different because we expand context and don't cut nodes) are written to out_region. If forward_only set, context is only expanded in the forward direction

NOTE: we follow convention of Region coordinates being 0-based inclusive.

◆ get_path_edge_index()

set< pair< pair< id_t, bool >, pair< id_t, bool > > > vg::PathChunker::get_path_edge_index ( step_handle_t  start_step,
step_handle_t  end_step,
int64_t  context 
) const

Get a set of all edges in the graph along a path region (to check for discontinuities later on)

Member Data Documentation

◆ graph

const PathPositionHandleGraph* vg::PathChunker::graph

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