fastp:超快速的全功能FASTQ预处理器
项目基础介绍和主要编程语言
fastp 是一个开源的FASTQ文件预处理工具,旨在提供快速且全面的数据预处理功能。该项目由OpenGene团队开发,主要使用C++语言编写,支持多线程处理,以确保高性能和效率。
项目核心功能
fastp的核心功能包括:
- 质量控制(QC):对FASTQ文件进行全面的质量评估,生成质量曲线、碱基含量、KMER分布、Q20/Q30比例、GC比率、重复率、适配器含量等报告。
- 适配器修剪:自动检测并修剪适配器序列,无需手动输入适配器序列。
- 读取过滤:过滤掉质量过低、过短或含有过多N的读取。
- 滑动窗口修剪:通过滑动窗口评估平均质量,修剪读取的5'和3'端低质量碱基。
- 碱基校正:在配对端读取的重叠区域中,校正错配的碱基对。
- polyG/polyX修剪:修剪NovaSeq/NextSeq数据中常见的polyG尾,以及去除不需要的polyX尾。
- UMI处理:预处理带有唯一分子标识符(UMI)的数据,将UMI移至序列名称。
- 报告生成:生成JSON和HTML格式的报告,直观展示质量控制和过滤结果。
- 输出分割:支持将输出分割为多个文件,以支持并行处理。
- 长读取支持:支持PacBio和Nanopore设备生成的长读取数据。
项目最近更新的功能
fastp的最近更新功能包括:
- 支持STDIN和STDOUT:支持从标准输入读取数据并输出到标准输出,便于与其他工具(如bzip2、bwa、bowtie2)集成。
- 支持交错输入:支持处理交错的配对端数据。
- 超快速FASTQ级去重:支持在FASTQ级别进行去重,显著提高处理速度。
- 自动检测适配器:改进了适配器自动检测算法,提高了检测准确性和速度。
- 性能优化:通过多线程和算法优化,进一步提升了处理速度和效率。
fastp凭借其全面的功能和卓越的性能,已成为生物信息学领域中FASTQ数据预处理的优选工具。