基因组测序数据质控——fastp

Published at 2020-05-19 16:15

Author:zhixy

View:1682


简介

fastp是一款较新的数据质控软件。它可以仅仅扫描FASTQ文件一次,就完成比FASTQC cutadapt Trimmomatic 这三个软件加起来的功能还多很多的功能,而且速度上比仅仅使用Trimmomatic一个软件还要快3倍左右。

fastp的特性:

  • 对数据自动进行全方位质控,生成人性化的报告
  • 过滤功能(低质量,太短,太多N……);对每一个序列的头部或尾部,计算滑动窗内的质量均值,并将均值较低的子序列进行切除(类似Trimmomatic的做法,但是快非常多);
  • 全局剪裁 (在头/尾部,不影响去重),对于Illumina下机数据往往最后一到两个cycle需要这样处理;
  • 去除接头污染。厉害的是,你不用输入接头序列,因为算法会自动识别接头序列并进行剪裁;
  • 对于双端测序(PE)的数据,软件会自动查找每一对read的重叠区域,并对该重叠区域中不匹配的碱基对进行校正;
  • 去除尾部的polyG。对于Illumina NextSeq/NovaSeq的测序数据,因为是两色法发光,polyG是常有的事,所以该特性对该两类测序平台默认打开;
  • 对于PE数据中的overlap区间中不一致的碱基对,依据质量值进行校正;
  • 可以对带分子标签(UMI)的数据进行预处理,不管UMI在插入片段还是在index上,都可以轻松处理;
  • 可以将输出进行分拆,而且支持两种模式,分别是指定分拆的个数,或者分拆后每个文件的行数;

推荐安装方式:

(base) [user@server ~]# conda install -c bioconda fastp

使用方法

fastp的参数比较多,但常用的主要包括以下几个部分:

  • 输入输出文件设置
-i,  --in1    read1 input file name (string)
-o, --out1     read1 output file name (string [=])
-I,  --in2    read2 input file name (string [=])
-O, --out2     read2 output file name (string [=])
  • 接头处理

fastp默认启用了接头处理,但是可以使用-A命令来关掉。fastp可以自动化地查找接头序列并进行剪裁,对于SE数据,还是可以-a参数来定义接头,而对于PE数据则完全没有不需要,fastp基于PE数据的overlap分析可以更准确地查找接头,去得更干净,而且对于一些接头本身就有碱基不匹配情况处理得更好。

  • 全局裁剪(即直接剪掉起始和末端低质量碱基)

fastp可以对所有read在头部和尾部进行统一剪裁,比如151x2的PE测序中,最后一个循环通常质量是非常低的,需要剪裁掉。使用-f-t分别指定read1的头部和尾部的剪裁,使用-F-T分别指定read2的头部和尾部的剪裁。

  • 滑窗质量剪裁 (与trimmomatic相似)

fastp支持像Trimmomatic那样对滑动窗口中的碱基计算平均质量值,然后将不符合的滑窗直接剪裁掉。使用-5参数开启在5’端,也就是read的开头的剪裁,使用-3参数开启在3’端,也就是read的末尾的剪裁。使用-W参数指定滑动窗大小,默认是4,使用-M参数指定要求的平均质量值,默认是20,也就是Q20。

  • 过滤过短序列

默认开启短序列过滤,默认值为15,使用-L(--disable_length_filtering)禁止此默认选项。或使用-l(--length_required)自定义最短序列。

  • 校正碱基(用于双端测序)

fastp支持对PE数据的每一对read进行分析,查找它们的overlap区间,然后对于overlap区间中不一致的碱基,如果发现其中一个质量非常高,而另一个非常低,则可以将非常低质量的碱基改为相应的非常高质量值的碱基值。此选项默认关闭,可使用-c(--correction)开启。

  • 质量过滤

fastp可以对低质量序列,较多N的序列,该功能默认是启用的,但可以使用-Q参数关闭。使用-q参数来指定合格的phred质量值,比如-q 15表示质量值大于等于Q15的即为合格,然后使用-u参数来指定最多可以有多少百分比的质量不合格碱基。比如-q 15 -u 40表示一个read最多只能有40%的碱基的质量值低于Q15,否则会被弃掉。使用-n可以限定一个read中最多能有多少个N。

参考文献

Chen S, Zhou Y, Chen Y, Gu J. fastp: an ultra-fast all-in-one FASTQ preprocessor, Bioinformatics 2018, 34(17):i884–i890. DOI:10.1093/bioinformatics/bty560