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

#include <multipath_alignment_emitter.hpp>

Public Member Functions

 MultipathAlignmentEmitter (ostream &out, int num_threads, const HandleGraph &graph, const string out_format="gamp")
 
 ~MultipathAlignmentEmitter ()
 
void set_read_group (const string &read_group)
 Choose a read group to apply to all emitted alignments. More...
 
void set_sample_name (const string &sample_name)
 Choose a sample name to apply to all emitted alignments. More...
 
void emit_pairs (const string &name_1, const string &name_2, vector< pair< multipath_alignment_t, multipath_alignment_t >> &&mp_aln_pairs)
 Emit paired read mappings as interleaved protobuf messages. More...
 
void emit_singles (const string &name, vector< multipath_alignment_t > &&mp_alns)
 Emit read mappings as protobuf messages. More...
 

Private Member Functions

void convert_multipath_alignment (const multipath_alignment_t &mp_aln, Alignment &aln, const string *prev_name=nullptr, const string *next_name=nullptr) const
 

Private Attributes

const HandleGraphgraph
 the graph we're aligning against More...
 
ostream & out
 the stream that everything is emitted into More...
 
vg::io::StreamMultiplexer multiplexer
 shared multiplexer across streams More...
 
vector< unique_ptr< vg::io::ProtobufEmitter< Alignment > > > aln_emitters
 an Alignment emitter for each thread More...
 
vector< unique_ptr< vg::io::ProtobufEmitter< MultipathAlignment > > > mp_aln_emitters
 a MultipathAlignment emitter for each thread More...
 
string read_group
 read group applied to alignments More...
 
string sample_name
 sample name applied to alignments More...
 

Constructor & Destructor Documentation

◆ MultipathAlignmentEmitter()

vg::MultipathAlignmentEmitter::MultipathAlignmentEmitter ( ostream &  out,
int  num_threads,
const HandleGraph graph,
const string  out_format = "gamp" 
)

Initialize with the intended output stream and the maximum number of threads that will be outputting. Optionally converts to single path alignments in either "gam" or "gaf" format.

◆ ~MultipathAlignmentEmitter()

vg::MultipathAlignmentEmitter::~MultipathAlignmentEmitter ( )

Member Function Documentation

◆ convert_multipath_alignment()

void vg::MultipathAlignmentEmitter::convert_multipath_alignment ( const multipath_alignment_t mp_aln,
Alignment aln,
const string *  prev_name = nullptr,
const string *  next_name = nullptr 
) const
private

◆ emit_pairs()

void vg::MultipathAlignmentEmitter::emit_pairs ( const string &  name_1,
const string &  name_2,
vector< pair< multipath_alignment_t, multipath_alignment_t >> &&  mp_aln_pairs 
)

Emit paired read mappings as interleaved protobuf messages.

◆ emit_singles()

void vg::MultipathAlignmentEmitter::emit_singles ( const string &  name,
vector< multipath_alignment_t > &&  mp_alns 
)

Emit read mappings as protobuf messages.

◆ set_read_group()

void vg::MultipathAlignmentEmitter::set_read_group ( const string &  read_group)

Choose a read group to apply to all emitted alignments.

◆ set_sample_name()

void vg::MultipathAlignmentEmitter::set_sample_name ( const string &  sample_name)

Choose a sample name to apply to all emitted alignments.

Member Data Documentation

◆ aln_emitters

vector<unique_ptr<vg::io::ProtobufEmitter<Alignment> > > vg::MultipathAlignmentEmitter::aln_emitters
private

an Alignment emitter for each thread

◆ graph

const HandleGraph& vg::MultipathAlignmentEmitter::graph
private

the graph we're aligning against

◆ mp_aln_emitters

vector<unique_ptr<vg::io::ProtobufEmitter<MultipathAlignment> > > vg::MultipathAlignmentEmitter::mp_aln_emitters
private

a MultipathAlignment emitter for each thread

◆ multiplexer

vg::io::StreamMultiplexer vg::MultipathAlignmentEmitter::multiplexer
private

shared multiplexer across streams

◆ out

ostream& vg::MultipathAlignmentEmitter::out
private

the stream that everything is emitted into

◆ read_group

string vg::MultipathAlignmentEmitter::read_group
private

read group applied to alignments

◆ sample_name

string vg::MultipathAlignmentEmitter::sample_name
private

sample name applied to alignments


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