fastp快速入门指南:从安装到基础操作的完整教程

fastp快速入门指南:从安装到基础操作的完整教程

【免费下载链接】fastpAn ultra-fast all-in-one FASTQ preprocessor (QC/adapters/trimming/filtering/splitting/merging...)项目地址: https://gitcode.com/gh_mirrors/fa/fastp

fastp是一款超快速的全能FASTQ预处理工具,集质量控制、适配器修剪、序列过滤等多种功能于一体,专为Illumina NovaSeq、MGI等平台的短读长数据设计。本教程将帮助新手用户快速掌握fastp的安装方法和基础操作,轻松完成高通量测序数据的预处理工作。

🌟 为什么选择fastp?

fastp凭借其卓越的性能和丰富的功能,成为测序数据预处理的理想选择:

  • 超高速处理:比传统工具快数倍,节省宝贵的分析时间
  • 一站式解决方案:集成质量控制、适配器修剪、序列过滤等15+功能
  • 智能适配器检测:自动识别并修剪适配器序列,无需手动指定
  • 可视化报告:生成直观的HTML质量报告,便于数据评估
  • 灵活的输出选项:支持拆分输出文件,方便后续并行分析

📥 安装fastp的三种简单方法

1️⃣ 通过Bioconda安装(推荐新手)

Bioconda提供了最简单的安装方式,适用于大多数Linux和macOS系统:

conda install -c bioconda fastp

⚠️ 注意:Bioconda中的fastp版本可能不是最新的,如果需要最新功能,建议使用下面的方法。

2️⃣ 下载预编译二进制文件(Linux用户)

对于Linux用户,可以直接下载预编译好的二进制文件,无需编译:

# 下载最新版本 wget http://opengene.org/fastp/fastp chmod a+x ./fastp # 或者下载指定版本(例如v0.23.4) wget http://opengene.org/fastp/fastp.0.23.4 mv fastp.0.23.4 fastp chmod a+x ./fastp

下载后可将fastp移动到/usr/local/bin目录,以便在任何位置使用:

sudo mv ./fastp /usr/local/bin/

3️⃣ 从源代码编译(高级用户)

如果需要最新版本或自定义编译选项,可以从源代码编译:

第一步:安装依赖

fastp依赖libisallibdeflatelibhwy(Google Highway >= 1.1.0)三个库,可以通过conda一键安装:

conda install -c conda-forge isa-l libdeflate libhwy

或者使用系统包管理器单独安装(以Ubuntu为例):

# 安装libisal sudo apt install libisal-dev # 安装libdeflate sudo apt install libdeflate-dev # 安装libhwy(Ubuntu 24.04+) sudo apt install libhwy-dev
第二步:下载并编译fastp
# 克隆代码仓库 git clone https://gitcode.com/gh_mirrors/fa/fastp # 进入目录并编译 cd fastp make -j # 安装 sudo make install

🚀 fastp基础操作指南

单端(SE)数据处理

对于单端FASTQ数据,使用以下命令进行基本处理:

fastp -i in.fq -o out.fq

双端(PE)数据处理

对于双端数据,需要同时指定R1和R2文件:

fastp -i in.R1.fq.gz -I in.R2.fq.gz -o out.R1.fq.gz -O out.R2.fq.gz

💡 默认情况下,fastp会生成两个报告文件:fastp.html(可视化报告)和fastp.json(详细数据),可通过-h-j选项自定义报告文件名。

核心功能示例

1. 质量过滤与修剪

启用滑动窗口质量修剪,去除低质量碱基:

fastp -i in.R1.fq.gz -I in.R2.fq.gz -o out.R1.fq.gz -O out.R2.fq.gz \ --cut_front --cut_tail --cut_right \ --cut_window_size 4 --cut_mean_quality 20

参数说明:

  • --cut_front:从5'端开始滑动窗口修剪
  • --cut_tail:从3'端开始滑动窗口修剪
  • --cut_right:遇到低质量窗口时修剪右侧所有碱基
  • --cut_window_size:滑动窗口大小(默认4)
  • --cut_mean_quality:窗口平均质量阈值(默认Q20)
2. 去除接头序列

fastp默认会自动检测并去除接头序列,对于双端数据,可以启用更严格的接头检测:

fastp -i in.R1.fq.gz -I in.R2.fq.gz -o out.R1.fq.gz -O out.R2.fq.gz \ --detect_adapter_for_pe

如果已知接头序列,也可以手动指定:

fastp -i in.R1.fq.gz -I in.R2.fq.gz -o out.R1.fq.gz -O out.R2.fq.gz \ --adapter_sequence AGATCGGAAGAGCACACGTCTGAACTCCAGTCA \ --adapter_sequence_r2 AGATCGGAAGAGCGTCGTGTAGGGAAAGAGTGT
3. PolyG/PolyX尾修剪

对于NovaSeq/NextSeq数据,通常需要修剪3'端的PolyG尾:

fastp -i in.R1.fq.gz -I in.R2.fq.gz -o out.R1.fq.gz -O out.R2.fq.gz \ --trim_poly_g --poly_g_min_len 10

对于mRNA-Seq数据,可以修剪PolyA尾:

fastp -i in.R1.fq.gz -I in.R2.fq.gz -o out.R1.fq.gz -O out.R2.fq.gz \ --trim_poly_x --poly_x_min_len 10
4. 输出拆分

将输出文件拆分为多个小文件,便于后续并行分析:

fastp -i in.R1.fq.gz -I in.R2.fq.gz -o out.R1.fq.gz -O out.R2.fq.gz \ --split 8 --split_prefix_digits 3

这会生成001.out.R1.fq.gz008.out.R1.fq.gz共8个文件。

📊 解读fastp报告

fastp会生成详细的HTML报告,包含以下关键信息:

  • 基本统计:总reads数、Q20/Q30比例、GC含量等
  • 质量分布:各位置碱基质量分布曲线
  • 碱基组成:各位置A/T/C/G含量
  • 接头含量:接头序列的检测和修剪情况
  • 过滤结果:通过/未通过过滤的reads统计

报告默认保存为fastp.html,可用浏览器直接打开查看。

⚡ 批量处理多个样本

对于多个样本的批量处理,可以使用fastp提供的parallel.py脚本:

python parallel.py -i /path/to/input/folder -o /path/to/output/folder \ -r /path/to/reports/folder -a '-f 3 -t 2'

参数说明:

  • -i:输入文件夹路径
  • -o:输出文件夹路径
  • -r:报告文件夹路径
  • -a:传递给fastp的参数(例如修剪3bp前端和2bp后端)

📝 常用命令汇总

功能命令示例
基本QC分析fastp -i in.fq -o out.fq
双端数据处理fastp -i R1.fq -I R2.fq -o out.R1.fq -O out.R2.fq
质量修剪fastp -i in.fq -o out.fq --cut_front --cut_tail
接头修剪fastp -i in.fq -o out.fq --detect_adapter_for_pe
长度过滤fastp -i in.fq -o out.fq -l 50(保留≥50bp的reads)
生成报告fastp -i in.fq -o out.fq -h report.html -j report.json

🎯 总结

fastp作为一款超快速的FASTQ预处理工具,凭借其全面的功能和简单易用的操作,成为高通量测序数据分析的得力助手。通过本教程,您已经掌握了fastp的安装方法和基本使用技巧,能够轻松应对常见的测序数据预处理任务。

无论是质量控制、接头修剪还是序列过滤,fastp都能以高效的方式完成,帮助您获得更清洁、更可靠的测序数据,为后续分析打下坚实基础。

📚 更多高级功能和参数设置,请参考项目源代码中的README.md文件。

【免费下载链接】fastpAn ultra-fast all-in-one FASTQ preprocessor (QC/adapters/trimming/filtering/splitting/merging...)项目地址: https://gitcode.com/gh_mirrors/fa/fastp

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考