|
| | 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) |
| | 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 |
|
| 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) |
| 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 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.
|
Emit Alignments to a stream in SAM/BAM/CRAM format. Thread safe.