|
vg
tools for working with variation graphs
|
#include <hts_alignment_emitter.hpp>
Public Member Functions | |
| SplicedHTSAlignmentEmitter (const string &filename, const string &format, const SequenceDictionary &sequence_dictionary, const unordered_map< string, size_t > &subpath_to_index, const PathPositionHandleGraph &graph, size_t max_threads) | |
| ~SplicedHTSAlignmentEmitter ()=default | |
| Public Member Functions inherited from vg::HTSAlignmentEmitter | |
| HTSAlignmentEmitter (const string &filename, const string &format, const SequenceDictionary &sequence_dictionary, const unordered_map< string, size_t > &subpath_to_index, size_t max_threads) | |
| ~HTSAlignmentEmitter ()=default | |
| Tear down an HTSAlignmentEmitter and destroy HTSlib structures. | |
| HTSAlignmentEmitter (const HTSAlignmentEmitter &other)=delete | |
| HTSAlignmentEmitter & | operator= (const HTSAlignmentEmitter &other)=delete |
| HTSAlignmentEmitter (HTSAlignmentEmitter &&other)=delete | |
| HTSAlignmentEmitter & | operator= (HTSAlignmentEmitter &&other)=delete |
| void | emit_singles (vector< Alignment > &&aln_batch) |
| Emit a batch of Alignments. | |
| void | emit_mapped_singles (vector< vector< Alignment > > &&alns_batch) |
| void | emit_pairs (vector< Alignment > &&aln1_batch, vector< Alignment > &&aln2_batch, vector< int64_t > &&tlen_limit_batch) |
| Emit a batch of pairs of Alignments. | |
| 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::HTSWriter | |
| HTSWriter (const string &filename, const string &format, const SequenceDictionary &sequence_dictionary, const unordered_map< string, size_t > &subpath_to_index, size_t max_threads) | |
| ~HTSWriter () | |
| Tear down an HTSWriter and destroy HTSlib structures. | |
| HTSWriter (const HTSWriter &other)=delete | |
| HTSWriter & | operator= (const HTSWriter &other)=delete |
| HTSWriter (HTSWriter &&other)=delete | |
| HTSWriter & | operator= (HTSWriter &&other)=delete |
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. | |
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. | |
Private Attributes | |
| const PathPositionHandleGraph & | graph |
| Graph that alignments were aligned against. | |
Additional Inherited Members | |
| Protected Member Functions inherited from vg::HTSWriter | |
| void | save_records (bam_hdr_t *header, vector< bam1_t * > &records, size_t thread_number) |
| bam_hdr_t * | ensure_header (const string &read_group, const string &sample_name, size_t thread_number) |
| void | initialize_sam_file (bam_hdr_t *header, size_t thread_number, bool keep_header=false) |
| Protected Attributes inherited from vg::HTSWriter | |
| unique_ptr< ofstream > | out_file |
| If we are doing output to a file, this will hold the open file. Otherwise (for stdout) it will be empty. | |
| vg::io::StreamMultiplexer | multiplexer |
| string | format |
| SequenceDictionary | sequence_dictionary |
| unordered_map< string, size_t > | subpath_to_index |
| This maps from subpath to entry number in the sequence dictionary. | |
| vector< hFILE * > | backing_files |
| vector< samFile * > | sam_files |
| atomic< bam_hdr_t * > | atomic_header |
| We need a header. | |
| string | sam_header |
| mutex | header_mutex |
| If the header isn't present when we want to write, we need a mutex to control creating it. | |
| bool | output_is_bgzf |
| string | hts_mode |
| Remember the HTSlib mode string we need to open our files. | |
| Static Protected Attributes inherited from vg::HTSWriter | |
| static const size_t | BGZF_FOOTER_LENGTH = 28 |
| We hack about with htslib's BGZF EOF footers, so we need to know how long they are. | |
| static const size_t | HTSLIB_CRAM_THREADS = 8 |
| For CRAM output, we use a separate pool of compressor threads inside htslib. | |
| vg::SplicedHTSAlignmentEmitter::SplicedHTSAlignmentEmitter | ( | const string & | filename, |
| const string & | format, | ||
| const SequenceDictionary & | sequence_dictionary, | ||
| const unordered_map< string, size_t > & | subpath_to_index, | ||
| const PathPositionHandleGraph & | graph, | ||
| size_t | max_threads ) |
|
default |
|
privatevirtual |
Override for convert alignment that converts splices implicitly.
Reimplemented from vg::HTSAlignmentEmitter.
|
private |
Graph that alignments were aligned against.
| 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.
1.17.0