Skip to content

Commit 43927c8

Browse files
committed
fix missing reference when open CRAM file
1 parent b43f613 commit 43927c8

2 files changed

Lines changed: 6 additions & 1 deletion

File tree

src/basetype_caller.cpp

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -573,7 +573,11 @@ bool BaseTypeRunner::_fetch_base_in_region(const std::vector<std::string> &batch
573573
for(size_t i(0); i < batch_align_files.size(); ++i) {
574574
// 位点信息存入该变量, 且由于是按区间读取比对数据,key 值无需再包含 ref_id,因为已经不言自明。
575575
PosMap sample_posinfo_map;
576-
ngslib::Bam bf(batch_align_files[i], "r"); // open bamfile in reading mode (one sample, one bamfile)
576+
ngslib::Bam bf(
577+
// open BAM/CRAM file in reading mode (one sample, one bamfile)
578+
batch_align_files[i], "r",
579+
(ngslib::is_cram(batch_align_files[i])) ? _args->reference : "" // input reference if cram file
580+
);
577581
if (bf.fetch(extend_rgstr)) { // Set 'bf' only fetch alignment reads in 'exp_rgstr'.
578582
hts_pos_t map_ref_start, map_ref_end; // hts_pos_t is uint64_t
579583
std::vector<ngslib::BamRecord> sample_target_reads;

src/basetype_caller.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@
2424
#include "io/iobgzf.h"
2525
#include "io/bam.h"
2626
#include "io/utils.h"
27+
#include "io/hts_utils.h" // nglib::is_cram
2728

2829
#include "basetype_utils.h"
2930
#include "basetype.h"

0 commit comments

Comments
 (0)