vg
tools for working with variation graphs
Classes | Namespaces
gref.hpp File Reference
#include <bdsg/snarl_distance_index.hpp>
#include "handle.hpp"

Classes

class  vg::GrefCover
 
struct  vg::GrefCover::TopLevelSnarlStats
 

Namespaces

 vg
 

Detailed Description

Interface for computing and querying graph reference path covers.

An gref cover is a set of path fragments (stored as separate paths) in the graph. They are always relative to an existing reference sample (ie GRCh38 or CHM13). Unlike rGFA paths which use complex metadata embedding, gref paths use a simple naming scheme: the base reference path name moved into the "gref_" namespace, with the fragments numbered off it as {gref_base_path_name}_{N}_alt

For example, if the reference path is "CHM13#0#chr1", the cover is written as:

The naming is a convention, not an option: because the prefix lands on the sample, a graph carries both references at once, "is this a gref path/sample" is a prefix test, and the base path a gref path came from is recoverable by dropping the prefix.

The data structures used in this class are always relative to the original paths in the graph. The REFERENCE-sense fragments the cover is written as are output only; nothing reads them back.