|
vg
tools for working with variation graphs
|
#include <surjecting_alignment_emitter.hpp>
Public Member Functions | |
| SurjectingAlignmentEmitter (const PathPositionHandleGraph *graph, unordered_set< path_handle_t > paths, unique_ptr< AlignmentEmitter > &&backing, bool prune_suspicious_anchors=false, bool add_graph_alignment_tag=false, bool report_supplementary=false) | |
| virtual void | emit_singles (vector< Alignment > &&aln_batch) |
| Emit a batch of Alignments. More... | |
| virtual void | emit_mapped_singles (vector< vector< Alignment >> &&alns_batch) |
| 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) |
| virtual void | emit_mapped_pairs (vector< vector< Alignment >> &&alns1_batch, vector< vector< Alignment >> &&alns2_batch, vector< int64_t > &&tlen_limit_batch) |
| 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... | |
Public Member Functions inherited from vg::io::AlignmentEmitter | |
| 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... | |
Public Attributes | |
| bool | surject_subpath_global = true |
| Force full length alignment in surjection resolution. More... | |
Protected Member Functions | |
| void | surject_alignments_in_place (vector< Alignment > &alns) const |
| Surject unpaired alignments in place. More... | |
| void | surject_paired_alignments_in_place (vector< Alignment > &alns1, vector< Alignment > &alns2, vector< Alignment > &supplementary_alns) const |
| Surject paired alignments in place and separate out supplementary alignments. More... | |
Protected Attributes | |
| Surjector | surjector |
| Surjector used to do the surjection. More... | |
| unordered_set< path_handle_t > | paths |
| Paths to surject into. More... | |
| unique_ptr< AlignmentEmitter > | backing |
| AlignmentEmitter to emit to once done. More... | |
An AlignmentEmitter implementation that surjects alignments before emitting them via a backing AlignmentEmitter, which it owns.
| vg::SurjectingAlignmentEmitter::SurjectingAlignmentEmitter | ( | const PathPositionHandleGraph * | graph, |
| unordered_set< path_handle_t > | paths, | ||
| unique_ptr< AlignmentEmitter > && | backing, | ||
| bool | prune_suspicious_anchors = false, |
||
| bool | add_graph_alignment_tag = false, |
||
| bool | report_supplementary = false |
||
| ) |
Surject alignments using the given graph, into the given paths, and send them to the given AlignmentEmitter. Takes ownership of the AlignmentEmitter. Copies the set of paths.
If prune_suspicious_anchors is set, prunes out repetitive-looking anchors when surjecting and lets those parts of reads be realigned.
|
virtual |
Emit some extra type-tagged data, if the backing format supports it.
Reimplemented from vg::io::AlignmentEmitter.
|
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.
Implements vg::io::AlignmentEmitter.
|
virtual |
Emit batch of Alignments with secondaries. All secondaries must have is_secondary set already.
Implements vg::io::AlignmentEmitter.
|
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.
Implements vg::io::AlignmentEmitter.
|
virtual |
Emit a batch of Alignments.
Implements vg::io::AlignmentEmitter.
|
protected |
Surject unpaired alignments in place.
|
protected |
Surject paired alignments in place and separate out supplementary alignments.
|
protected |
AlignmentEmitter to emit to once done.
|
protected |
Paths to surject into.
| bool vg::SurjectingAlignmentEmitter::surject_subpath_global = true |
Force full length alignment in surjection resolution.
1.8.17