vg
tools for working with variation graphs
Loading...
Searching...
No Matches
vg::algorithms::GFATextParser Class Reference

#include <gfa_to_handle.hpp>

Inheritance diagram for vg::algorithms::GFATextParser:
vg::algorithms::GFAParser

Public Member Functions

void parse (istream &in) override
void parse (const string &filename) override
Public Member Functions inherited from vg::algorithms::GFAParser
GFAIDMapInfo & id_map ()
const GFAIDMapInfo & id_map () const
virtual ~GFAParser ()=default

Additional Inherited Members

Public Types inherited from vg::algorithms::GFAParser
using cursor_t = string::const_iterator
using chars_t = pair<cursor_t, cursor_t>
using tag_list_t = vector<string>
using visit_iteratee_t = function<bool(int64_t rank, nid_t node_id, bool is_reverse)>
using visit_source_t = function<void(const visit_iteratee_t&)>
Static Public Member Functions inherited from vg::algorithms::GFAParser
static string extract (const chars_t &range)
static size_t length (const chars_t &range)
static bool empty (const chars_t &range)
static chars_t as_chars (const string &value)
Public Attributes inherited from vg::algorithms::GFAParser
vector< std::function< void(const tag_list_t &tags)> > header_listeners
 These listeners are called for the header line(s), if any.
vector< std::function< void(nid_t id, const chars_t &sequence, const tag_list_t &tags)> > node_listeners
vector< std::function< void(nid_t from, bool from_is_reverse, nid_t to, bool to_is_reverse, const chars_t &overlap, const tag_list_t &tags)> > edge_listeners
vector< std::function< void(const string &name, const visit_source_t &visits, const tag_list_t &tags)> > path_listeners
vector< std::function< void(const string &sample_name, int64_t haplotype, const string &contig_name, const pair< int64_t, int64_t > &subrange, const visit_source_t &visits, const tag_list_t &tags)> > walk_listeners
vector< std::function< void(nid_t id, int64_t offset, size_t length, const string &path_name, int64_t path_rank)> > rgfa_listeners
unique_ptr< GFAIDMapInfo > internal_id_map
GFAIDMapInfo * external_id_map = nullptr
int64_t max_rgfa_rank = -1
bool stop_on_duplicate_paths = false
Protected Types inherited from vg::algorithms::GFAParser
using text_visit_iteratee_t = function<bool(int64_t rank, const chars_t& node_name, bool is_reverse)>
 Callback shape for receiving path/walk visits internally.
using text_visit_source_t = function<void(const text_visit_iteratee_t&)>
 Callback shape for being a producer of path/walk visits.
Protected Member Functions inherited from vg::algorithms::GFAParser
text_visit_iteratee_t wrap (const visit_iteratee_t &iteratee) const
visit_source_t wrap (const text_visit_source_t &source) const
Static Protected Member Functions inherited from vg::algorithms::GFAParser
static tag_list_t parse_tags (const chars_t &tag_range)
static tuple< tag_list_t > parse_h (const string &h_line)
static tuple< string, chars_t, tag_list_t > parse_s (const string &s_line)
static tuple< string, bool, string, bool, chars_t, tag_list_t > parse_l (const string &l_line)
static tuple< string, chars_t, chars_t, tag_list_t > parse_p (const string &p_line)
static tuple< string, size_t, string, pair< int64_t, int64_t >, chars_t, tag_list_t > parse_w (const string &p_line)
static void scan_p_visits (const chars_t &visit_range, function< bool(int64_t rank, const chars_t &node_name, bool is_reverse)> visit_step)
static void scan_w_visits (const chars_t &visit_range, function< bool(int64_t rank, const chars_t &node_name, bool is_reverse)> visit_step)
static void scan_visits (const chars_t &visit_range, char line_type, function< bool(int64_t rank, const chars_t &node_name, bool is_reverse)> visit_step)
static bool decode_rgfa_tags (const tag_list_t &tags, string *out_name=nullptr, int64_t *out_offset=nullptr, int64_t *out_rank=nullptr)
static nid_t assign_new_sequence_id (const string &str, GFAIDMapInfo &id_map_info)
static nid_t find_existing_sequence_id (std::string_view str, const GFAIDMapInfo &id_map_info)

Detailed Description

Text GFA parser implementation.

Member Function Documentation

◆ parse() [1/2]

void vg::algorithms::GFATextParser::parse ( const string & filename)
overridevirtual

Parse GFA from the given filename. The default implementation opens the file as a text GFA stream and calls the stream parser.

Reimplemented from vg::algorithms::GFAParser.

◆ parse() [2/2]

void vg::algorithms::GFATextParser::parse ( istream & in)
overridevirtual

Parse GFA from the given stream.

Implements vg::algorithms::GFAParser.


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