bwa双端数据比对错误:paired reads have different names原因及解决方法

2020-06-19 11:12:16 浏览数 (1)

用bwa对一个自己构建的模拟数据进行比对的时候,发现bwa sampe过程中直接error跳出,报错:paired reads have different names。但是我去检查了一下报错的两条reads,这两个名字确实是一致的,并且在两fq文件中的位置一致。

网上搜了一些原因,发现了这个讨论:https://github.com/lh3/bwa/issues/228。感觉这个比较靠谱:

于是我先下载了fastq tools,打算用fastq-sort先确保一下文件是排序过,fq1和fq2名字是完全对应的。

代码语言:javascript复制
 fastq-sort test_pe_100.fq1 > test_pe_100_sort.fq1
 fastq-sort test_pe_100.fq2 > test_pe_100_sort.fq2

重新运行bwa aln和bwa sampe,发现还是报错。并且在bwa aln fq2的时候,我发现最后有这么一条: [bwa_sai2sam_pe_core] 913812 sequences have been processed. 这里处理的数据与我实际的数据不符,此处应该有920000条序列。所以应该是哪里构建的reads不对。

但是实在不知道哪里有问题,于是试着用截图中的第一种方法 BBtools去检查一下。

代码语言:javascript复制
bash ~/bbmap/repair.sh in=${path}/test_pe_100.fq1 
        in2=${path}/test_pe_100.fq2 
        out1=${path}/renamed1.fq 
        out2=${path}/renamed2.fq

虽然没给我修复成功,但是中间报了一个错误,让我知道是咋回事了。报错提示的是,fq1和fq2中的某对reads长度不一致。 检查了一下发现真的是不一致。 最后重新构建了一遍数据,bwa比对就没再报错了。

bwa的sampe和mem都可能会出现这个错误,当这个错误出现时,可能存在有以下原因: 1) fq1和fq2的reads名字不一致; 2)fq1和fq2对应reads的长度不一致; 3)fq1和fq2中的reads顺序不同 ......

0 人点赞