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

#include <hts_alignment_emitter.hpp>

Inheritance diagram for vg::SplicedHTSAlignmentEmitter:
vg::HTSAlignmentEmitter vg::io::AlignmentEmitter

Public Member Functions

 SplicedHTSAlignmentEmitter (const string &filename, const string &format, const map< string, int64_t > &path_length, const PathPositionHandleGraph &graph, size_t max_threads)
 
 ~SplicedHTSAlignmentEmitter ()=default
 
- Public Member Functions inherited from vg::HTSAlignmentEmitter
 HTSAlignmentEmitter (const string &filename, const string &format, const map< string, int64_t > &path_length, size_t max_threads)
 
 ~HTSAlignmentEmitter ()
 Tear down an HTSAlignmentEmitter and destroy HTSlib structures. More...
 
 HTSAlignmentEmitter (const HTSAlignmentEmitter &other)=delete
 
HTSAlignmentEmitteroperator= (const HTSAlignmentEmitter &other)=delete
 
 HTSAlignmentEmitter (HTSAlignmentEmitter &&other)=delete
 
HTSAlignmentEmitteroperator= (HTSAlignmentEmitter &&other)=delete
 
virtual void emit_singles (vector< Alignment > &&aln_batch)
 Emit a batch of Alignments. More...
 
virtual void emit_mapped_singles (vector< vector< Alignment >> &&alns_batch)
 
virtual void emit_pairs (vector< Alignment > &&aln1_batch, vector< Alignment > &&aln2_batch, vector< int64_t > &&tlen_limit_batch)
 Emit a batch of pairs of Alignments. More...
 
virtual void emit_mapped_pairs (vector< vector< Alignment >> &&alns1_batch, vector< vector< Alignment >> &&alns2_batch, vector< int64_t > &&tlen_limit_batch)
 
- 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

size_t min_splice_length = 20
 The minimum length of a deletion relative to the path that will be coded as a splice junction in the CIGAR. More...
 

Private Member Functions

void convert_alignment (const Alignment &aln, vector< pair< int, char >> &cigar, bool &pos_rev, int64_t &pos, string &path_name) const
 Override for convert alignment that converts splices implicitly. More...
 
vector< pair< int, char > > spliced_cigar_against_path (const Alignment &aln, const string &path_name, int64_t pos, bool rev) const
 

Private Attributes

const PathPositionHandleGraphgraph
 Graph that alignments were aligned against. More...
 

Constructor & Destructor Documentation

◆ SplicedHTSAlignmentEmitter()

vg::SplicedHTSAlignmentEmitter::SplicedHTSAlignmentEmitter ( const string &  filename,
const string &  format,
const map< string, int64_t > &  path_length,
const PathPositionHandleGraph graph,
size_t  max_threads 
)

◆ ~SplicedHTSAlignmentEmitter()

vg::SplicedHTSAlignmentEmitter::~SplicedHTSAlignmentEmitter ( )
default

Member Function Documentation

◆ convert_alignment()

void vg::SplicedHTSAlignmentEmitter::convert_alignment ( const Alignment aln,
vector< pair< int, char >> &  cigar,
bool &  pos_rev,
int64_t &  pos,
string &  path_name 
) const
privatevirtual

Override for convert alignment that converts splices implicitly.

Reimplemented from vg::HTSAlignmentEmitter.

◆ spliced_cigar_against_path()

vector< pair< int, char > > vg::SplicedHTSAlignmentEmitter::spliced_cigar_against_path ( const Alignment aln,
const string &  path_name,
int64_t  pos,
bool  rev 
) const
private

Convert a spliced alignment against a path to a cigar. The alignment must be colinear along a path and contain only mappings on the path, but it can have deletions relative to the path that follow edges in the graph.

Member Data Documentation

◆ graph

const PathPositionHandleGraph& vg::SplicedHTSAlignmentEmitter::graph
private

Graph that alignments were aligned against.

◆ min_splice_length

size_t vg::SplicedHTSAlignmentEmitter::min_splice_length = 20

The minimum length of a deletion relative to the path that will be coded as a splice junction in the CIGAR.


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