cutadapt是一款去接头并且也能去低质量碱基的软件。至于接头的产生,一般来说是由于在随机打断时,有些片段的长度过于短,导致插入片段不够,使得测序时会读到测序引物。因此理论上来说接头是不应该被测序仪读到的,但是个别情况读到引物,我们需要通过cutadapt进行去除。
一、Cutadapt的安装
- 通过Python3安装(系统自带的python2版本过低)
1、下载python源码包并解压
nohup wget https://www.python.org/ftp/python/3.4.7/Python-3.4.7.tar.xz &
tar -x -f Python-3.4.7.tar.xz
2、编译成可执行文件
cd /data/hushy/tools/Python-3.4.7
./configure --prefix=/data/hushy/tools/Python-3.4.7
make
make install
3、配置环境变量
vim ~/.bashrc
export PATH="/data/hushy/tools/Python-3.4.7/bin:$PATH" # 添加至文件最后一行
source ~/.bashrc #使配置文件生效
4、测试
python3
python3 -m pip list
5、安装 cutadapt
python3 -m pip install cutadapt==2.4
python3
>>import cutadapt
>>quit()
- 源码安装
1、下载cutadapt源码包
nohup wget https://pypi.org/project/cutadapt/#files &
tar -x -f cutadapt.2.4
2、进入解压目录,设置可执行权限
cd cutadapt.2.4
chmod 744 setup.py
3、安装
python setup.py install --user
二、cutadapt基本用法
- 语法
Usage:
cutadapt -a ADAPTER [options] [-o output.fastq] input.fastq
For paired-end reads:
cutadapt -a ADAPT1 -A ADAPT2 [options] -o out1.fastq -p out2.fastq in1.fastq in2.fastq
- 参数说明
-a 去除的是read1的3’的接头序列,因此-a参数后接3′ Adapter(3’端接头)
-A 去除的是read2的3’的接头序列,那么-A参数后应该接5′ Adapter(5’端接头) 的反向互补序列
-o read1的输出文件
-p read2的输出文件
-e 最大错配比例,比如cutadapt在某条序列上检测的接头有15bp长,那么允许这个匹配上的15bp接头中有15*0.1约为1个碱基的错配
-m –minimum-length 切除接头后的序列长度的最小值
-O –overlap 默认必须至少有3个碱基匹配时才会认为是adapter序列,但有时可以适当的调大
-m LEN[:LEN2] 序列最小长度 Default: 0
-M LEN[:LEN2] 序列最大长度 Default: no limit
--max-n COUNT N碱基数量的最大值
–discard-trimmed 去除掉有检测到接头的序列(默认cutadapt只是截掉接头序列以及接头序列以后的序列)
–untrimmed-output 将没有接头的序列输出到目标文件中(但是必须要跟-o 一起用)
–untrimmed-paired-output 将没有接头的paired序列输出到目标文件中(也要跟-p 一起用)
–pair-filter=(any|both) 这个参数很好用,对于双端测序而言,read1和read2都有可能检测到接头。如果选择any,则只要两个中其中一个检测到接头,read1和read2均舍弃;如果选择both,则必须两个都检测到接头,read1和read2才舍弃
- 示例
cutadapt -a AATGATACGGCGACCACCGAGATCTACACTCTTTCCCTACACGACGCTCTTCCGATCT -A AGATCGGAAGAGCGGTTCAGCAGGAATGCCGAGACCGATCTCGTATGCCGTCTTCTGCTTG -e 0.1 -O 5 -m 50 -n 2 --pair-filter=both -o SRR6994637_1_test_trimmed.fastq.gz -p SRR6994637_2_test_trimmed.fastq.gz SRR6994637_1_test.fastq.gz SRR6994637_2_test.fastq.gz
# ADAPT1:AATGATACGGCGACCACCGAGATCTACACTCTTTCCCTACACGACGCTCTTCCGATCT
# ADAPT2: CAAGCAGAAGACGGCATACGAGATCGGTCTCGGCATTCCTGCTGAACCGCTCTTCCGATCT
# read2为read1反向互补序列,故ADAPT2应取反补序列
ctuadapt.png
网友评论