C++ Sekan C++;库:bam与sam的rID值不同,数据相同,bam由于名称存储的长度而导致断言失败

C++ Sekan C++;库:bam与sam的rID值不同,数据相同,bam由于名称存储的长度而导致断言失败,c++,bioinformatics,sequencing,seqan,bam,C++,Bioinformatics,Sequencing,Seqan,Bam,我正在使用Sekan 1.4.1读取sam/bam文件。我有一个来自相同数据的sam和bam文件(与rn5 refseq基因对齐)。奇怪的是,当我与ensembl基因对齐时,我没有得到这个错误 我正在读取sam/bam文件BamStream,但如果我使用较低级别的流方法,则会发生相同的错误 我在读取时打印长度(bamStreamIn.\u nameStore)和每个record.rID。以下是我使用bam文件版本数据时的输出: namestore size 42252 record.rID :

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

我正在读取sam/bam文件BamStream,但如果我使用较低级别的流方法,则会发生相同的错误

我在读取时打印长度(bamStreamIn.\u 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

有趣的是,名称存储的大小是相同的,但RID是不同的。知道为什么RID不同吗?是什么导致了断言错误

你确定你有最新的版本吗?gitHub中的当前代码在第250行而不是第208行抛出断言错误。这是最新的稳定版本-1.4.1。最新的开发版本是否可能解决此问题?自上一个稳定版本以来,.bam读取实现发生了很大变化吗?我不知道。实际上我自己从来没有用过Sekan。然而,他们网页上的发布说明说1.4.1是在2013年7月发布的。从那时起,至少有4次错误修复提交到read_bam.h文件。我建议从github中获取最新版本,如果仍然出现错误,请提交错误报告。很好。它固定在后备箱中,但不是稳定释放。
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)