vg
tools for working with variation graphs
|
#include <alignment_emitter.hpp>
Public Member Functions | |
virtual void | emit_singles (vector< Alignment > &&aln_batch)=0 |
Emit a batch of Alignments. More... | |
virtual void | emit_mapped_singles (vector< vector< Alignment >> &&alns_batch)=0 |
Emit batch of Alignments with secondaries. All secondaries must have is_secondary set already. More... | |
virtual void | emit_pairs (vector< Alignment > &&aln1_batch, vector< Alignment > &&aln2_batch, vector< int64_t > &&tlen_limit_batch)=0 |
virtual void | emit_mapped_pairs (vector< vector< Alignment >> &&alns1_batch, vector< vector< Alignment >> &&alns2_batch, vector< int64_t > &&tlen_limit_batch)=0 |
virtual void | emit_extra_message (const std::string &tag, std::string &&data) |
Emit some extra type-tagged data, if the backing format supports it. More... | |
virtual void | emit_single (Alignment &&aln) |
Emit a single Alignment. More... | |
virtual void | emit_mapped_single (vector< Alignment > &&alns) |
Emit a single Alignment with secondaries. All secondaries must have is_secondary set already. More... | |
virtual void | emit_pair (Alignment &&aln1, Alignment &&aln2, int64_t tlen_limit=0) |
virtual void | emit_mapped_pair (vector< Alignment > &&alns1, vector< Alignment > &&alns2, int64_t tlen_limit=0) |
virtual | ~AlignmentEmitter ()=default |
Allow destruction through base class pointer. More... | |
Base class for a sink that takes alignments, possibly with pairing/secondary relationships, and writes them out somewhere.
All implementations must be thread safe.
All implementations assume OMP threading.
|
virtualdefault |
Allow destruction through base class pointer.
|
virtual |
Emit some extra type-tagged data, if the backing format supports it.
Reimplemented in vg::io::VGAlignmentEmitter.
|
virtual |
Emit the mappings of a pair of Alignments. All secondaries must have is_secondary set already. The tlen_limit, if specified, is the maximum pairing distance to flag properly paired, if the output format cares about such things. TODO: Move to a properly paired annotation that runs with the Alignment.
Both ends of the pair must have the same number of mappings.
|
pure virtual |
Emit the mappings of a batch of pairs of Alignments. All secondaries must have is_secondary set already. The tlen_limit_batch, if specified, is the maximum pairing distance for each pair to flag properly paired, if the output format cares about such things. TODO: Move to a properly paired annotation that runs with the Alignment.
Both ends of each pair must have the same number of mappings.
Implemented in vg::io::GafAlignmentEmitter, vg::HTSAlignmentEmitter, vg::io::VGAlignmentEmitter, vg::io::TSVAlignmentEmitter, vg::io::NullAlignmentEmitter, vg::SurjectingAlignmentEmitter, and vg::BackTranslatingAlignmentEmitter.
|
virtual |
Emit a single Alignment with secondaries. All secondaries must have is_secondary set already.
|
pure virtual |
Emit batch of Alignments with secondaries. All secondaries must have is_secondary set already.
Implemented in vg::HTSAlignmentEmitter, vg::io::GafAlignmentEmitter, vg::io::VGAlignmentEmitter, vg::io::TSVAlignmentEmitter, vg::io::NullAlignmentEmitter, vg::SurjectingAlignmentEmitter, and vg::BackTranslatingAlignmentEmitter.
|
virtual |
Emit a pair of Alignments. The tlen_limit, if specified, is the maximum pairing distance to flag properly paired, if the output format cares about such things. TODO: Move to a properly paired annotation that runs with the Alignment.
|
pure virtual |
Emit a batch of pairs of Alignments. The tlen_limit_batch, if specified, is the maximum pairing distance for ewch pair to flag properly paired, if the output format cares about such things. TODO: Move to a properly paired annotation that runs with the Alignment.
Implemented in vg::HTSAlignmentEmitter, vg::io::GafAlignmentEmitter, vg::io::VGAlignmentEmitter, vg::io::TSVAlignmentEmitter, vg::io::NullAlignmentEmitter, vg::SurjectingAlignmentEmitter, and vg::BackTranslatingAlignmentEmitter.
|
pure virtual |
Emit a batch of Alignments.
Implemented in vg::HTSAlignmentEmitter, vg::io::GafAlignmentEmitter, vg::io::VGAlignmentEmitter, vg::io::TSVAlignmentEmitter, vg::io::NullAlignmentEmitter, vg::SurjectingAlignmentEmitter, and vg::BackTranslatingAlignmentEmitter.