Skip to content
shijiashuai edited this page Mar 9, 2026 · 3 revisions

FastQTools Wiki

CI Documentation License: MIT C++23

欢迎来到 FastQTools 开发 Wiki!本 Wiki 为项目的核心技术文档中心,涵盖架构设计、API 参考、构建部署、质量工程等内容。

在线文档站: https://lessup.github.io/fastq-tools/
源代码仓库: https://github.com/LessUp/fastq-tools


项目简介

FastQTools 是一个面向 FASTQ 文件 的现代 C++ 高性能处理工具集,专注于生物信息学场景中的质控、过滤和统计分析。

核心能力

模块 命令 说明
统计分析 stat Per-base/per-read 质量统计、GC 含量、碱基组成、长度分布
过滤清洗 filter 质量阈值、长度范围、N-ratio 过滤;质量/长度/接头修剪
高性能 I/O 基于 TBB 并行流水线、零拷贝批量处理、gzip/libdeflate 压缩

技术栈

领域 技术
语言 C++23 (GCC 15 / Clang 21)
构建 CMake 3.28+, Ninja
依赖管理 Conan 2.x
并发 Intel oneTBB (tbb::parallel_pipeline)
压缩 zlib-ng, libdeflate
CLI cxxopts 3.1.1
日志 spdlog 1.17.0 + fmt 12.1.0
测试 Google Test 1.14.0, Google Benchmark
JSON nlohmann_json 3.11.3

最新性能数据(100K reads, 150bp)

操作 吞吐量 耗时
FastQReader Medium 1696.50 MB/s 18.8 ms
FastQWriter Medium 1.76 M reads/s 57.0 ms
Filter Combined (100K) 1.67 M reads/s 60.5 ms
Stat Full (100K) 301.91 MB/s 104.6 ms

页面索引

🚀 快速上手

🏗️ 架构与设计

  • Architecture — 分层架构、并发模型、CMake 模块拆分
  • API Reference — C++ 公共 API(IO / Processing / Statistics / Core)

🔧 构建与部署

🧪 质量工程

📖 规范与参考


快速命令速查

# 一键构建
./scripts/core/build

# 运行测试
./scripts/core/test

# 代码格式化
./scripts/core/lint format

# 统计分析
FastQTools stat -i reads.fq.gz -o stats.txt -t 8

# 质量过滤 + 修剪
FastQTools filter -i reads.fq.gz -o clean.fq.gz \
  --min-quality 20 --min-length 50 --max-n-ratio 0.1 \
  --trim-quality 20 --trim-mode both

FastQTools v3.1.0

🚀 快速上手

🏗️ 架构与设计

🔧 构建与部署

🧪 质量工程

📖 规范与参考

🔗 外部链接

Clone this wiki locally