samtools老司机的翻车之旅

这两天在处理一批miRNA-seq数据,公司返回了原始数据和他们处理过的干净数据。通常而言,我都是直接无视他们的干净数据,一般要自己走一遍QC。只不过这次miRNA-seq,我决定用一下他们的处理结果,结果你猜怎么着,我居然就进坑了。

首先,给大家看看这个平淡无奇的干净数据里的内容

数据内容

公司一波操作之后,把原本的FASTQ文件转成了FASTA文件。接下来我就需要进行比对,用的bowtie, 只不过额外用了-f参数表示输入是FASTA,然后让他输出成SAM文件,之后直接跟着一个samtools sort进行排序

bowtie -f -S -p 80 ../ref/Athaliana  <(zcat test_clean.fa.gz) | samtools sort -@ 20 > test-1.bam&

每每写这种命令时,我就觉得非常的畅快。然而,但我准备用samtools view查看内容时,发现怎么什么结果都没有啊

空空如也

难道是不能直接排序吗?我的管道命令不听话了吗? 于是我就就分成了两步,先输出SAM,然后转BAM

bowtie -f -S -p 80 ../ref/Athaliana <(zcat test_clean.fa.gz) > test.sam
samtools sort -@ 20 test.sam >  test.bam &

最后我用less test.sam发现结果有输出

有内容输出

然而BAM文件依旧是什么都没有。当然这个时候我这个时候我旁边的师弟提了一句,samtools view不就是只能用看BAM的吗?当然不是了,samtools view是能看SAM的,不行,你看,于是我就敲出下面的代码

还是没有

额~,怎么还是啥都没有,气氛有些尴尬。突然间,我看着上面的SAM输出似乎明白了些什么,我想到了SAM文件定义,以`@`开头都是HEADER,所以我被FASTA文件中`@`字符给坑了

因此,我最后用sed进行了把@给删了,问题终于解决了。

zcat test_clean.fa.gz | sed 's/>@/>/'  > test_clean.fa
bowtie -f -S -p 80 ../ref/Athaliana  test_clean.fa | samtools sort -@ 20 > test-1.bam&
满意的结果

你可能感兴趣的:(samtools老司机的翻车之旅)