解决samtools将sam文件转换为bam文件时多条重复错误的方法:Duplicate entry “1“ in sam header

我今天在用samtools将比对好的sam文件转换为bam文件时,一直出现多条重复的错误,如下图
在这里插入图片描述

我尝试了很多方法,找到了bamutil这个软件,可以解决这个问题,

但如果只有一条重复,那可以用下面这个方法

#打印重复的内容  && /1/ ,1需要换成你重复的内容值
awk '/^@/ && /1/ { print } /^[^@]/ { exit }' aln-pe.sam

#删除重复的内容  { if (/:1/)  这里面的/:1/,:1需要换成你重复的内容值,冒号要保留,还有:1前后的“/”
awk 'BEGIN { i = 0; } /^@/ { if (/:1/) { if (i++ < 1) { print; } } else { print } } /^[^@]/ { print }' SRR.sam > SRR_fixed.sam

#删除之后,在用samtools转换就可以了

多条重复,可以使用bamutil这个软件

#安装bamutil
conda install -c bioconda bamutil

#sam转为bam
bam convert  --in SRR.sam  --out SRR_2.bam

#samtools 排序
samtools sort SRR_2.bam -o SRR_2_sorted.bam

#bam转换为无序bam (dedup 输入的文件必须是sorted的)
bam dedup --in SRR_2_sorted.bam --out ./SRR_3.bam
  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 4
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值