fastp—数据过滤&质控
一、fastp的安装及使用
1)conda安装:conda install fastp
2)源代码安装:软件下载地址 https://github.com/OpenGene/fastp#get-fastp
#从GitHub下载源代码(也可下载后上传)
git clone https://github.com/OpenGene/fastp.git
ubzip fastp-master.zip
cd fastp-master
#编译
make
sudo make install(需sudo权限)
二、常见用法
过滤
1)质量过滤 : -q/--qualified_quality_pherd
高于此值才算数,默认15;-u/--unquantified_percent_limit
允许unqualified的碱基百分比,默认40%
2)长度过滤:长度过滤默认开启,可通过-L
取消,-l/--length_required
定义需要的最短长度,默认为15;--length_limit
定义接受的最长长度,默认为0表示没有限制
3)低复杂度过滤:默认不开启,可通过-y
开启,通过-Y
定义过滤条件
Adapter
1)SE数据:-a
2)PE数据:--adapter_sequence
指定read1的adapter序列 --adapter_sequence_r2
指定read2的adapter序列;也可以--detect_adapter_for_pe
开启illumina系列adapter自动检测功能
per read cutting by quality score
目前数据illumina测序质量较好,该功能一般用不上,可参考https://github.com/OpenGene/fastp#get-fastp
global trimming
从序列开头或结尾去除一定数量的碱基:
-f/--trim_front1
表示从read1的开头去除,-t/--trim_tail1
从read1的尾部去除;-F
-T
则分别表示从read2去除
-b/--max_len1
表示read1经trim之后最长的长度 -B
则指read2的相应情况
polyX trimming
-x/--trim_poly_x
实现polyX的去除,默认长度为10
--poly_x_min_len
指定polyX的长度,默认为10
unique molecular identifier(UMI) processing
常用于duplication的消除和错误纠正,常用于如线粒体DNA等深度测序,普遍用于illumina平台,可分为index和read两部分,使用-U/--umi
来开启此功能,--umi_loc
指定UMI的位置如index1
index2
read1
read2
,若UMI指定在read上,则--umi_len
用于指定UMI的长度
个人常用代码fastp -f 10 -F 10 --detect_adapter_for_pe -x -i R1.fq.gz -I R2.fq.gz -o R1.out.fq.gz -O R2.out.fq.gz
其优缺点个人总结如下:
优点:
1)集质控和数据过滤于一体,使用方便
2)在序列trim方面处理速度远快于cutadapt等
3)可实现polyx的除去
缺点:
1)大部分参数使用较麻烦,不能直接用单字母实现功能
2)生成的fastp文件不会根据处理的样品自动命名,需手动依次更改
在质控方面,与fastqc相比,其在计算duplication level和overrepresented sequence上的统计略有不同,统计结果的呈现方面也不如fastqc直观(可能由于使用习惯导致)。且fastqc的报告文件可由multiqc进行统计,fastp不知是否也可以?