基因组生信入门参考资料生信工具

用cutadapt软件来对双端测序数据去除接头

2018-01-17  本文已影响812人  因地制宜的生信达人

一般来讲,我们对测序数据进行QC,就三个大的方向:

当我们是双端测序数据的时候,去除接头时,也会丢掉太短的reads,就容易导致左右两端测序文件reads数量不平衡,有一个比较好的软件能解决这个问题,我比较喜欢的是cutadapt软件的PE模式来去除接头!尤其是做基因组或者转录组de novo 组装的时候,尤其要去掉接头,去的干干净净!

cutadapt是经典的python软件,但是因为我的linux服务器有点问题 ,可能是root权限问题,没有用 pip install cutadapt 安装成功,我懒得搞这些了,其实可以自己去下载cutadapt的源码,然后进入源码文件夹里面 python setup.py install --user 到自己的 ~/.local/bin下面。

所以我用conda安装了cutadapt软件,所以我需要 python ~/miniconda2/pkgs/cutadapt-1.10-py27_0/bin/cutadapt --help才能调用这个软件,其实如果把conda的目录添加到了环境变量,就不需要再用全路径调用了。

不过,问题不大,我也就是试用一下。

首先用fastqc软件对测序数据进行简单检测,看看有什么接头:

fastqc

既然fastqc能探测到你的接头,说明它里面内置了所有的接头序列,在github可以查到: https://github.com/csf-ngs/fastqc/blob/master/Contaminants/contaminant_list.txt
或者:Download common Illumina adapters from https://github.com/vsbuffalo/scythe/blob/master/illumina_adapters.fa

TruSeq Universal Adapter
AATGATACGGCGACCACCGAGATCTACACTCTTTCCCTACACGACGCTCTTCCGATCT

Illumina Small RNA 3p Adapter 1 ATCTCGTATGCCGTCTTCTGCTTG

最严重的一般是TruSeq Universal Adapter , 而且它检测到你其它的接头可能就是这个 TruSeq Universal Adapter 的一部分而已~! 我们可以先用cutadapt去除试一下。cutadapt软件支持对PE测序数据的处理,基本的用法是:

cutadapt -a ADAPTER_FWD -A ADAPTER_REV -o out.1.fastq -p out.2.fastq reads.1.fastq reads.2.fastq

-a-A是左右端测序数据的3端接头,-g-G是左右端测序数据的5端接头。支持fastq和fasta格式的gz压缩文件,必要时用-f参数指定测序文件数据格式即可。

我自己的实际例子如下:

python ~/miniconda2/pkgs/cutadapt-1.10-py27_0/bin/cutadapt \
-a AATGATACGGCGACCACCGAGATCTACACTCTTTCCCTACACGACGCTCTTCCGATCT -a ATCTCGTATGCCGTCTTCTGCTTG \
-A AGATCGGAAGAGCGTCGTGTAGGGAAAGAGTGTAGATCTCGGTGGTCGCCGTATCATT -A CAAGCAGAAGACGGCATACGAGAT \
-e 0.1 -O 5 -m 50  -n  2 --pair-filter=both \
-o read_PE1.fq -p read_PE2.fq test1.fastq test2.fastq >& log.txt

参数解释如下:

两个-a参数后面接的是两种接头,两个-A参加后面接的是同样的两个接头的反向互补序列!
加上-n 2是因为有两个接头,我的测序数据里面有可能一个read里面含有两种接头,所以需要检测两次。
-e 0.1 -O 5 -m 50是标准参数,自己看readme就好了,其中-m设置为50 是表示去除接头后如果read长度小于50我就不要了,因为我是PE150测序的,这也就是为什么要用PE模式来去除接头,保证过滤后的reads还是数量继续平衡的。

去除了接头之后的文件再用fastqc软件跑一下,很明显可以看到 接头去除成功啦!

当然,这个软件还有很多其它的功能,我就不一一介绍了:

参考:http://cutadapt.readthedocs.io/en/stable/guide.html

去接头对基因组或者转录组组装是非常重要的。

上一篇下一篇

猜你喜欢

热点阅读