fastp软件参数解读

usage: fastp -i <in1> -o <out1> [-I <in1> -O <out2>] [options...]

options:

  ## I/O options  即输入输出文件设置

  -i, --in1                          read1 input file name (string)  #输入read1文件

  -o, --out1                        read1 output file name (string [=]) #输出read1文件

  -I, --in2                          read2 input file name (string [=]) #输入read2文件

  -O, --out2                        read2 output file name (string [=]) #输出read2文件

  -6, --phred64                      indicates the input is using phred64 scoring (it'll be converted to phred33, so the output will still be phred33) #Phred+64 质量字符的ASCII值 - 64,Phred+64所使用的字符的ASCII值都大于等于59,字符的ASCII值都小于59使用phred33

  -z, --compression                  compression level for gzip output (1 ~ 9). 1 is fastest, 9 is smallest, default is 2. (int [=2]) #输出的压缩级别(1-9),1是最快的,9是最小的,默认设置是2

    --reads_to_process              specify how many reads/pairs to be processed. Default 0 means process all reads. (int [=0]) #指定要处理多少的reads/pairs,默认是0,指的是处理全部读数


  ## adapter trimming options  过滤序列接头参数设置

  -A, --disable_adapter_trimming    adapter trimming is enabled by default. If this option is specified, adapter trimming is disabled #一般默认是自动对原始数据去掉接头的,如果选择该选项则代表不去除接头

  -a, --adapter_sequence              the adapter for read1. For SE data, if not specified, the adapter will be auto-detected. For PE data, this is used if R1/R2 are found not overlapped. (string [=auto])

#对于单端测序数据来说,这个选项是直接针对read1数据进行接头处理,如果是双端测序数据,则是针对那些R1/R2没有重叠的reads的

      --adapter_sequence_r2            the adapter for read2 (PE data only). This is used if R1/R2 are found not overlapped. If not specified, it will be the same as <adapter_sequence> (string [=])

#对于单端测序数据来说,这个选项是直接针对read2数据进行接头处理,如果是双端测序数据,则是针对那些R1/R2没有重叠的reads的


  ## global trimming options  剪除序列起始和末端的低质量碱基数量参数

  -f, --trim_front1                  trimming how many bases in front for read1, default is 0 (int [=0]) #设置处理read1起始低质量碱基数量,默认是0

  -t, --trim_tail1                  trimming how many bases in tail for read1, default is 0 (int [=0]) #设置处理read1末端低质量碱基,默认是0

  -F, --trim_front2                  trimming how many bases in front for read2. If it's not specified, it will follow read1's settings (int [=0]) #设置处理read2起始低质量碱基数量,默认是0,如果没有设置,将会按照read1的设置来

  -T, --trim_tail2                  trimming how many bases in tail for read2. If it's not specified, it will follow read1's settings (int [=0]) #设置处理read2末端低质量碱基,默认是0,如果没有设置,将会按照read1的设置来

 ## polyG tail trimming, useful for NextSeq/NovaSeq data  polyG剪裁

  -g, --trim_poly_g                  force polyG tail trimming, by default trimming is automatically enabled for Illumina NextSeq/NovaSeq data #默认会对Illumina NextSeq/NovaSeq数据尾部进行PolyG进行处理

      --poly_g_min_len                the minimum length to detect polyG in the read tail. 10 by default. (int [=10]) #对尾部PolyG进行处理的最小长度,默认是10

  -G, --disable_trim_poly_g          disable polyG tail trimming, by default trimming is automatically enabled for Illumina NextSeq/NovaSeq data #该选项的使用是不对尾部的PolyG进行处理

  # polyX tail trimming

  -x, --trim_poly_x                    enable polyX trimming in 3' ends. #截取3'末端polyX

      --poly_x_min_len                the minimum length to detect polyX in the read tail. 10 by default. (int [=10]) #检测read末尾的polyX的长度,默认10;


  # per read cutting by quality options  滑窗裁剪

  -5, --cut_by_quality5              enable per read cutting by quality in front (5'), default is disabled (WARNING: this will interfere deduplication for both PE/SE data) #从read的5'端至末尾移动窗口,去除窗口中平均质量值小于'<'阈值的碱基

  -3, --cut_by_quality3              enable per read cutting by quality in tail (3'), default is disabled (WARNING: this will interfere deduplication for SE data) #从read的3'端值至开头移动窗口,去除窗口中平均质量值小于'<'阈值的碱基;

  -W, --cut_window_size              the size of the sliding window for sliding window trimming, default is 4 (int [=4])  #滑动窗口过滤,这个类似于计算kmer,1~1000, 默认是4个碱基作为窗口大小;

  -M, --cut_mean_quality            the bases in the sliding window with mean quality below cutting_quality will be cut, default is Q20 (int [=20])  #选择的窗口中,碱基平均质量值,范围1~36,默认是Q20,如果这个区域窗口平均低于20,则认为是一个低质量区域,处理掉;

-r, --cut_right     #从read的开头到末尾移动窗口,如果某一窗口的平均质量值小于阈值,去除窗口中的碱基及其右侧部分,并停止;


  # quality filtering options  根据碱基质量来过滤序列

  -Q, --disable_quality_filtering    quality filtering is enabled by default. If this option is specified, quality filtering is disabled #控制是否去除低质量,默认自动去除,设置-Q关闭;

  -q, --qualified_quality_phred      the quality value that a base is qualified. Default 15 means phred quality >=Q15 is qualified. (int [=15])  #设置低质量的标准,默认是15,也就是质量值小于15认为是低质量碱基,一般我们设置20,常说的Q20;

  -u, --unqualified_percent_limit    how many percents of bases are allowed to be unqualified (0~100). Default 40 means 40% (int [=40]) #低质量碱基所占百分比,并不是包含低质量碱基就把一条reads丢掉,而是设置一定的比例,默认40代表40%,也就是150bpreads,包含60个以上低质量的碱基就丢掉,只要有一条reads不满足条件就成对丢掉;

  -n, --n_base_limit                if one read's number of N base is >n_base_limit, then this read/pair is discarded. Default is 5 (int [=5])  #过滤N碱基过多的reads,如果N碱基含量大于n,这条read/pair将被舍弃,默认5;


  # length filtering options  根据序列长度来过滤序列

  -L, --disable_length_filtering    length filtering is enabled by default. If this option is specified, length filtering is disabled #关闭reads长度过滤选项;

  -l, --length_required              reads shorter than length_required will be discarded, default is 15. (int [=15]) #接一个长度值,小于这个长度reads被丢掉,默认是15,这个在处理非illumina测序数据时很有用。

  # low complexity filtering  低复杂度过滤

  -y, --low_complexity_filter          enable low complexity filter. The complexity is defined as the percentage of base that is different from its next base (base[i] != base[i+1]). #使用低复杂度过滤,这里低复杂度的定义是与其下一个碱基不同的碱基比例(base[i] != base[i+1]).

  -Y, --complexity_threshold          the threshold for low complexity filter (0~100). Default is 30, which means 30% complexity is required. (int [=30]) #低复杂度的阈值(0~100),默认30;

  # filter reads with unwanted indexes (to remove possible contamination) 根据indexes过滤reads--删除可能的污染

      --filter_by_index1              specify a file contains a list of barcodes of index1 to be filtered out, one barcode per line (string [=])

      --filter_by_index2              specify a file contains a list of barcodes of index2 to be filtered out, one barcode per line (string [=])

      --filter_by_index_threshold      the allowed difference of index barcode for index filtering, default 0 means completely identical. (int [=0])

  # base correction by overlap analysis options  通过overlap来校正碱基

  -c, --correction                  enable base correction in overlapped regions (only for PE data), default is disabled #是对overlap的区域进行纠错,所以只适用于pairend reads。


  # UMI processing 分子标签处理

  -U, --umi                          enable unique molecular identifer (UMI) preprocessing

      --umi_loc                      specify the location of UMI, can be (index1/index2/read1/read2/per_index/per_read, default is none (string [=])

      --umi_len                      if the UMI is in read1/read2, its length should be provided (int [=0])

      --umi_prefix                  if specified, an underline will be used to connect prefix and UMI (i.e. prefix=UMI, UMI=AATTCG, final=UMI_AATTCG). No prefix by default (string [=])

      --umi_skip                      if the UMI is in read1/read2, fastp can skip several bases following UMI, default is 0 (int [=0])

  # overrepresented sequence analysis

  -p, --overrepresentation_analysis    enable overrepresented sequence analysis.

  -P, --overrepresentation_sampling    One in (--overrepresentation_sampling) reads will be computed for overrepresentation analysis (1~10000), smaller is slower, default is 20. (int [=20])

  # reporting options

  -j, --json                        the json format report file name (string [=fastp.json]) #输出json格式报告文件名(string [=fastp.json])

  -h, --html                        the html format report file name (string [=fastp.html]) #输出html 格式报告文件名

  -R, --report_title                should be quoted with ' or ", default is "fastp report" (string [=fastp report])


  # threading options  设置线程数

  -w, --thread                      worker thread number, default is 3 (int [=3]) #使用线程数,默认是3(int [=3])


  # output splitting options 控制split选项,有时候单条reads文件太大,可以分割为多份分别比对,在合并bam结果,这样可以提高效率。

  -s, --split                        split output by limiting total split file number with this option (2~999), a sequential number prefix will be added to output name ( 0001.out.fq, 0002.out.fq...), disabled by default (int [=0]) #切割数目(2~999),默认是0,不分割

  -S, --split_by_lines              split output by limiting lines of each file with this option(>=1000), a sequential number prefix will be added to output name ( 0001.out.fq, 0002.out.fq...), disabled by default (long [=0])

  -d, --split_prefix_digits          the digits for the sequential number padding (1~10), default is 4, so the filename will be padded as 0001.xxx, 0 to disable padding (int [=4]) #输出前缀位数,默认是4,0001,0002这种命名,如果设置为3,就是001,002这种


  # help

  -?, --help                        print this message

fastp参数日常使用 

1、接头处理

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

2、全局裁剪

fastp可以对所有read在头部和尾部进行统一剪裁,该功能在去除一些测序质量不好的cycle比较有用,比如151*2的PE测序中,最后一个cycle通常质量是非常低的,需要剪裁掉。使用-f和-t分别指定read1的头部和尾部的剪裁,使用-F和-T分别指定read2的头部和尾部的剪裁。

3、滑窗质量剪裁

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

4、过滤过短序列

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

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

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

6、质量过滤

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

出处链接:https://www.jianshu.com/p/6f492058da5b

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 202,607评论 5 476
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,047评论 2 379
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 149,496评论 0 335
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,405评论 1 273
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,400评论 5 364
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,479评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,883评论 3 395
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,535评论 0 256
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,743评论 1 295
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,544评论 2 319
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,612评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,309评论 4 318
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,881评论 3 306
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,891评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,136评论 1 259
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,783评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,316评论 2 342

推荐阅读更多精彩内容