SeqAn C ++库:bam与sam具有相同数据的不同rID值,bam会因名称长度导致断言失败

时间:2014-03-09 14:15:35

标签: c++ bioinformatics sequencing seqan

我正在使用seqan 1.4.1来读取sam / bam文件。我有一个来自相同数据的sam和bam文件(与rn5 refseq基因的比对)。奇怪的是,当我与ensembl基因对齐时,我没有得到这个错误。

我正在读取sam / bam文件BamStream,但如果我下拉到较低级别的Stream方法,则会出现同样的错误。

我在读入时打印长度(bamStreamIn._nameStore)和每个record.rID。当我使用bam文件版本的数据时,这是我的输出:

namestore size 42252
record.rID : 10364
record.rID : 41714
record.rID : 20136
record.rID : 5043
..c/Users/XXXX/shared/seqan-library-1.4.1/include/seqan/bam_io/read_bam.h:208 Assertion failed : static_cast<__uint64>(record.rID) < length(nameStore(context)) was: 43257 >= 42252

这是我使用sam文件时的输出:

namestore size 42252
record.rID : 10318
record.rID : 41436
record.rID : 20031
record.rID : 5009
record.rID : 13876
record.rID : 12206
...
(output continues successfully until the end of the file)

有趣的是,名称存储大小是相同的,但rID是不同的。知道为什么rID不同以及导致断言错误的原因是什么?

0 个答案:

没有答案