vg
tools for working with variation graphs
Classes | Namespaces | Functions
gaf_sorter.hpp File Reference
#include <algorithm>
#include <cstdint>
#include <functional>
#include <iostream>
#include <limits>
#include <memory>
#include <string>
#include <vector>

Classes

struct  vg::str_view
 
struct  vg::GAFSorterRecord
 
struct  vg::GAFSorterFile
 
struct  vg::GAFSorterParameters
 

Namespaces

 vg
 

Functions

bool vg::sort_gaf (const std::string &input_file, const std::string &output_file, const GAFSorterParameters &params)
 
void vg::sort_gaf_lines (std::unique_ptr< std::vector< std::string >> lines, GAFSorterRecord::key_type key_type, bool stable, GAFSorterFile &output)
 
void vg::merge_gaf_records (std::unique_ptr< std::vector< GAFSorterFile >> inputs, GAFSorterFile &output, size_t buffer_size)
 

Detailed Description

Tools for sorting GAF records.

TODO: This could be an independent utility. TODO: Asynchronous I/O. TODO: Option for automatic detection of merge width to guarantee <= 2 rounds. TODO: Switch to std::string_view when we can.