|
| MultipathAlignmentEmitter (const string &filename, size_t num_threads, const string out_format="GAMP", const PathPositionHandleGraph *graph=nullptr, const SequenceDictionary *sequence_dictionary=nullptr) |
|
| ~MultipathAlignmentEmitter () |
|
void | set_read_group (const string &read_group) |
| Choose a read group to apply to all emitted alignments. More...
|
|
void | set_sample_name (const string &sample_name) |
| Choose a sample name to apply to all emitted alignments. More...
|
|
void | set_min_splice_length (int64_t min_splice_length) |
|
void | emit_pairs (const string &name_1, const string &name_2, vector< pair< multipath_alignment_t, multipath_alignment_t >> &&mp_aln_pairs, vector< pair< tuple< string, bool, int64_t >, tuple< string, bool, int64_t >>> *path_positions=nullptr, vector< int64_t > *tlen_limits=nullptr) |
| Emit paired read mappings as interleaved protobuf messages or HTSLib output. More...
|
|
void | emit_singles (const string &name, vector< multipath_alignment_t > &&mp_alns, vector< tuple< string, bool, int64_t >> *path_positions=nullptr) |
| Emit read mappings as protobuf messages or HTSLib output. More...
|
|
void | emit_paired_independent (const string &name_1, const string &name_2, vector< multipath_alignment_t > &&mp_alns_1, vector< multipath_alignment_t > &&mp_alns_2, vector< tuple< string, bool, int64_t >> *path_positions_1=nullptr, vector< tuple< string, bool, int64_t >> *path_positions_2=nullptr) |
| Emit unpaired independent or supplementary alignments for paired reads. More...
|
|
| 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. More...
|
|
| HTSWriter (const HTSWriter &other)=delete |
|
HTSWriter & | operator= (const HTSWriter &other)=delete |
|
| HTSWriter (HTSWriter &&other)=delete |
|
HTSWriter & | operator= (HTSWriter &&other)=delete |
|
|
void | emit_singles_internal (const string &name, vector< multipath_alignment_t > &&mp_alns, vector< tuple< string, bool, int64_t >> *path_positions, const string *mate_name, bool is_read_1) |
| Emit read mappings as protobuf messages or HTSLib output. More...
|
|
void | convert_to_alignment (const multipath_alignment_t &mp_aln, Alignment &aln, const string *prev_name=nullptr, const string *next_name=nullptr) const |
| make a GAM alignment from a multipath alignment More...
|
|
void | create_alignment_shim (const string &name, const multipath_alignment_t &mp_aln, Alignment &shim, const string *prev_name=nullptr, const string *next_name=nullptr) const |
| store the data in an Algnment that is used in the conversion to bam1_t More...
|
|
void | convert_to_hts_unpaired (const string &name, const multipath_alignment_t &mp_aln, const string &ref_name, bool ref_rev, int64_t ref_pos, bam_hdr_t *header, vector< bam1_t * > &dest, const string *mate_name=nullptr) const |
| store a bam1_t object with the indicated data in the dest vector More...
|
|
void | convert_to_hts_paired (const string &name_1, const string &name_2, const multipath_alignment_t &mp_aln_1, const multipath_alignment_t &mp_aln_2, const string &ref_name_1, bool ref_rev_1, int64_t ref_pos_1, const string &ref_name_2, bool ref_rev_2, int64_t ref_pos_2, int64_t tlen_limit, bam_hdr_t *header, vector< bam1_t * > &dest) const |
| store two paired bam1_t objects with the indicated data in the dest vector More...
|
|
void | add_annotations (const multipath_alignment_t &mp_aln, bam1_t *bam) const |
| transfer the allelic mapq, group mapq, and secondary annotations to a BAM record More...
|
|
void | canonicalize_subrange (string &path_name, int32_t &pos) const |
| take subrange info out of the path name and adjust the position for the subrange start More...
|
|
|
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. More...
|
|
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. More...
|
|
vector< hFILE * > | backing_files |
|
vector< samFile * > | sam_files |
|
atomic< bam_hdr_t * > | atomic_header |
| We need a header. More...
|
|
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. More...
|
|
bool | output_is_bgzf |
|
string | hts_mode |
| Remember the HTSlib mode string we need to open our files. More...
|
|
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. More...
|
|
static const size_t | HTSLIB_CRAM_THREADS = 8 |
| For CRAM output, we use a separate pool of compressor threads inside htslib. More...
|
|