目的
经过fastqc进行质量控制之后,我们能够发现在fastq数据里存在着一些会影响下游分析的因素,包括adapter和低质量reads等。因此,在正式进入比对之前,我们要将这些因素去掉,保证后续的分析结果更加贴近于真实的情况。
做法
fastp是一款开源的测序数据处理工具,它可以实现处理数据的一次性处理,包括过滤低质量、过滤adapter、截取reads、split分割大文件等操作。
fastp使用c++编写,执行效率非常高;同时,fastp支持长reads,这也意味着不仅仅适用与illumina测序平台,还可以处理Pacbio和Iontorrent的测序数据;最后,fastp能够直接输出质控和统计报告,包括json格式和html格式,这与fastqc功能上有一定的重合。
安装
# 源码编译
git clone https://github.com/OpenGene/fastp.git
cd fastp
make
make install
# 直接使用
wget http://opengene.org/fastp/fastp
chmod a+x fastp
# conda安装
conda install fastp
使用
fastp -i reads.1.fq.gz -I reads.2.fq.gz -o clean.1.fq.gz -O clean.2.fq.gz -z 4 -q 20 -u 30 -n 10 -h clean.html
# -a 给定一个adapter序列文件;对于pairend reads 软件可以自动识别adapter并处理,对于single reads,需要给定一个adapter序列;
#-Q,-q,-u,-n是与过滤低质量相关的
#-Q 控制是否去除低质量,默认自动去除,设置-Q关闭;
#-q 设置低质量的标准,默认是15,也就是质量值小于15认为是低质量碱基,一般我们设置20,常说的Q20;
#-u 低质量碱基所占百分比,并不是包含低质量碱基就把一条reads丢掉,而是设置一定的比例,默认40代表40%,也就是150bpreads,包含60个以上低质量的碱基就丢掉,只要有一条reads不满足条件就成对丢掉;
#-n 过滤N碱基过多的reads;
#-L 关闭reads长度过滤选项;
#-l 接一个长度值,小于这个长度reads被丢掉,默认是30,这个在处理非illumina测序数据时很有用。
结果
程序结束后,会生成处理(去接头、过滤低质量)后的压缩fastq文件以及质控和统计报告。
image.png
网友评论