vg
tools for working with variation graphs
|
#include "subcommand.hpp"
#include "../gbwt_helper.hpp"
#include "../snarl_distance_index.hpp"
#include "../snarls.hpp"
#include <sdsl/int_vector.hpp>
#include <vg/io/vpkg.hpp>
#include <fstream>
#include <iostream>
#include <tuple>
#include <vector>
#include <getopt.h>
Classes | |
struct | ChainsConfig |
Functions | |
void | write_binary (const std::vector< sdsl::int_vector<>> &chains, std::ostream &out) |
void | write_gfa_paths (const std::vector< sdsl::int_vector<>> &chains, std::ostream &out) |
gbwt::vector_type | extract_chain (const SnarlDistanceIndex &distance_index, const HandleGraph &graph, net_handle_t chain, size_t chain_id) |
gbwt::vector_type | extract_chain (const SnarlManager &snarls, const HandleGraph &graph, const Chain &chain, size_t chain_id) |
sdsl::int_vector | normalize_chain (gbwt::vector_type &chain) |
int | main_chains (int argc, char **argv) |
void | help_chains (char **argv) |
net_handle_t | follow_chain (const SnarlDistanceIndex &distance_index, const HandleGraph &graph, size_t chain_id, net_handle_t curr) |
void | try_append (gbwt::vector_type &chain, gbwt::node_type start, gbwt::node_type end) |
Defines the "vg chains" subcommand, which extracts the handles in top-level chains from a distance index or a snarl file.
NOTE: If a component (~chromosome) does not start with a shared node, the top-level chain is not unique. For example, if the component starts with edges (u, w) and (v, w), the chain may start with either u or v.
TODO: Option to get chain (~contig, chromosome) names from a graph.
TODO: Full GFA format with segments and jumps.
gbwt::vector_type extract_chain | ( | const SnarlDistanceIndex & | distance_index, |
const HandleGraph & | graph, | ||
net_handle_t | chain, | ||
size_t | chain_id | ||
) |
gbwt::vector_type extract_chain | ( | const SnarlManager & | snarls, |
const HandleGraph & | graph, | ||
const Chain & | chain, | ||
size_t | chain_id | ||
) |
net_handle_t follow_chain | ( | const SnarlDistanceIndex & | distance_index, |
const HandleGraph & | graph, | ||
size_t | chain_id, | ||
net_handle_t | curr | ||
) |
void help_chains | ( | char ** | argv | ) |
int main_chains | ( | int | argc, |
char ** | argv | ||
) |
sdsl::int_vector normalize_chain | ( | gbwt::vector_type & | chain | ) |
void try_append | ( | gbwt::vector_type & | chain, |
gbwt::node_type | start, | ||
gbwt::node_type | end | ||
) |
void write_binary | ( | const std::vector< sdsl::int_vector<>> & | chains, |
std::ostream & | out | ||
) |
void write_gfa_paths | ( | const std::vector< sdsl::int_vector<>> & | chains, |
std::ostream & | out | ||
) |