摘要: multiomics 是一款基于 Rust 语言开发的高性能多组学数据分析命令行工具,旨在实现对基因组学、转录组学、表观基因组学、蛋白质组学及单细胞 RNA 等多种组学数据的并行整合分析。该工具支持 VCF、TSV、BED、mzML、10x MEX 等多种主流数据格式,通过模块化设计分别处理变异位点统计、差异表达分析、甲基化检测、蛋白质鉴定及单细胞质控等任务。在癌症基因组学方面,工具内置肿瘤突变负荷(TMB)和微卫星不稳定性(MSI)等临床生物标志物的自动化计算,可为免疫治疗决策提供参考依据。整合分析层面,工具支持 PCA、MOFA+ 联合因子分析、跨模态皮尔逊相关及 KEGG 通路富集等方法,实现多组学数据的深度关联。最终输出结果涵盖交互式 HTML 报告、MultiQC 兼容的 JSON 文件,并提供实时终端仪表板(TUI)以动态展示分析进程与关键发现。该工具以 Rust 语言实现,兼顾高并发性能与内存安全,适用于大规模组学数据的科研及临床分析场景。
multiomics:基于 Rust 的高性能多组学整合分析工具¶
概述¶
multiomics 是一款使用 Rust 语言编写的高性能多组学分析命令行工具(CLI),支持并行处理多种组学数据类型,包括基因组学(VCF)、转录组学(RNA-seq TSV)、表观基因组学(甲基化 BED)、蛋白质组学(mzML)、单细胞 RNA(10x MEX 格式)、ATAC-seq、拷贝数变异(CNV)以及长读段数据。
该工具旨在解决多组学数据整合分析中的核心痛点:传统分析流程需要调用多个独立工具、语言环境复杂、计算效率低下、结果格式不统一。multiomics 将上述所有模块整合为单一可执行文件,输出包括自包含的 HTML 交互报告、MultiQC 兼容的 JSON 汇总文件,以及实时终端仪表盘(TUI)。
在癌症基因组学领域,multiomics 尤为重要。它内置了 FDA 批准的临床生物标志物计算模块,包括肿瘤突变负荷(TMB)、微卫星不稳定性(MSI)、COSMIC 突变特征分析、同源重组缺陷(HRD)评分等,可直接为免疫治疗适应症评估提供参考依据。
Rust 的内存安全保证与零成本抽象使该工具在处理大规模基因组数据时具有显著的性能优势,同时支持通过 wgpu 在无需 CUDA 的条件下调用 GPU 加速单细胞 UMAP 计算。
核心原理与功能¶
多组学分析模块¶
multiomics 按数据类型划分为以下独立分析模块,所有模块可并行执行:
| 模块 | 输入格式 | 计算内容 |
|---|---|---|
| Genomics(基因组学) | VCF | Ti/Tv 比值、每条染色体变异密度、等位基因频率(AF)直方图、高影响变异基因、唯一位点数估计(HyperLogLog 算法) |
| Transcriptomics(转录组学) | TSV(基因 × 样本矩阵) | 表达基因数量、TPM 前 100 基因、log₂ 差异倍数(≥2 个样本时)、Welch t 检验 + BH FDR 校正 |
| Epigenomics(表观基因组学) | BED(亚硫酸盐测序) | 全局甲基化百分比、CpG 岛检测(基于 Gardiner-Garden 1987 标准)、超甲基化/低甲基化区域鉴定 |
| Proteomics(蛋白质组学) | mzML + FASTA | 数据库搜索、PSM/肽段/蛋白质计数(用户自定义 FDR 阈值)、磷酸化蛋白质组学 |
| Single-cell RNA(单细胞 RNA) | 10x MEX 目录 | QC 质量指标、对数归一化、高变基因(HVG)选择、GPU 加速 UMAP(wgpu k 选择着色器) |
| ATAC-seq | narrowPeak BED6+4 | 峰计数、中位信号强度、每条染色体染色质可及性 |
| CNV(拷贝数变异) | VCF(含 CN 字段) | 片段计数、基因组改变比例、估计倍性 |
| Gene quantification(基因定量) | BAM + GTF | 读段水平计数、比对分配率、高表达基因 |
| FASTQ QC | FASTQ | 读段数量、GC 含量、Q30 百分比 |
| Integration(整合层) | 以上所有模块输出 | PCA 主成分分析、MOFA+ 联合因子分析、跨模态 Pearson 相关、KEGG + GMT 通路富集、规则推断洞察 |
癌症基因组学临床生物标志物¶
这是 multiomics 的核心亮点之一,内置了以下具有临床意义的分析:
肿瘤突变负荷(Tumor Mutational Burden, TMB) 计算公式为总变异数除以有效基因组大小(单位 Mb)。工具自动检测测序类型:全基因组测序(WGS)使用 2800 Mb,全外显子组测序(WES)使用 35 Mb。TMB-H 阈值为 ≥10 mut/Mb,对应 FDA 批准的帕博利珠单抗(pembrolizumab)适应症(参考 Chalmers 2017)。
微卫星不稳定性(Microsatellite Instability, MSI) 通过同源多聚体 indel 比例与短片段 indel 比例的复合评分来估计 MSI 状态。MSI-H 表明错配修复缺陷,同样为 FDA 批准的帕博利珠单抗生物标志物(参考 Bonneville 2017)。
COSMIC 突变特征(Mutational Signatures) 使用 6 通道 SBS 突变谱(C>A、C>G、C>T、T>A、T>C、T>G),检测 SBS1/2/4/6/7/13/17/18 等特征,对应 APOBEC 诱变、烟草、MMR 缺陷、紫外线损伤、自然老化等病因(参考 Alexandrov 2020)。
免疫逃逸评分(Immune Evasion Score) 检测 CD274(PD-L1)、CTLA4、LAG3、HAVCR2(TIM-3)、TIGIT、PDCD1 的表达,以及 B2M 抗原呈递基因,用于识别检查点抑制和抗原丢失(参考 Chen & Mellman 2017)。
多基因风险评分(Polygenic Risk Score, PRS) 基于 37 个 GWAS 显著性变异(p<5×10⁻⁸),覆盖 6 种癌症类型,相对人群基线进行 Z 评分标准化,评估结直肠癌、乳腺癌、肺癌、前列腺癌、黑色素瘤、卵巢癌的胚系遗传风险。
肿瘤纯度(Tumor Purity) 使用 VAF 众数 × 2(二倍体模型)并与甲基化耗减数据交叉验证,获得一致性估计值,灵感来源于 ABSOLUTE 方法(参考 Carter 2012)。
Kataegis(局部超突变) 检测连续 ≥6 个突变且相互间距离的几何平均值 <1000 bp 的区域,与 APOBEC/AID 诱变相关(参考 Alexandrov 2013)。
同源重组缺陷(Homologous Recombination Deficiency, HRD) 通过 indel 大小谱(1bp 缺失、2–5bp 缺失、6–50bp 缺失、>3bp 插入)评估 HRD 状态;提供 --reference 参数时额外进行微同源序列评分。HRD-HIGH 提示 BRCA1/2 缺陷及 PARP 抑制剂敏感性(参考 Watkins 2020)。
杂合性缺失(Loss of Heterozygosity, LOH) 计算每条染色体杂合子变异的中位数 |AF − 0.5|,当杂合变异数 ≥10 且中位偏差 >0.15 时判定为染色体臂 LOH。
表观基因组学额外分析¶
Horvath 表观遗传时钟(Epigenetic Clock) 基于 353 个 CpG 位点的 DNA 甲基化年龄估计,使用 anti_trafo 变换,输出置信度为 HIGH/MODERATE/LOW(参考 Horvath 2013, Genome Biology)。
整合层额外分析¶
- 多模态悖论检测(Multi-modal paradox detection):识别在某一模态中活跃而在另一模态中沉默的基因(参考 Roadmap Epigenomics 2015)
- 基因调控状态分类(Gene regulatory state classification):将每个基因标注为 Active(活跃)/Silenced(沉默)/Poised(待激活)/Bivalent(双价)/VariantDriven(变异驱动)/Paradoxical(悖论)/Unknown(未知)
- MOFA+ 联合因子分析:跨所有模态的多组学因子分析,提取潜在共享方差(参考 Argelaguet 2018, Molecular Systems Biology)
- GSEA 预排序富集分析:基于差异表达 log₂FC 排名的基因集富集分析(参考 Subramanian 2005)
GPU 加速¶
当使用 --features gpu 编译时,单细胞 UMAP 的 k 近邻计算步骤通过 WebGPU 计算着色器加速,适用于 5000+ 细胞的大规模数据集。支持平台包括 Linux/Windows(Vulkan)、macOS(Metal)、Windows(DX12),无需 CUDA。
安装与使用¶
环境要求¶
- Rust 1.78 或更新版本,通过 rustup 安装
- C 链接器(Linux/macOS 通常已预装;Windows 需安装 Visual Studio Build Tools)
基础编译(CPU 模式,全平台兼容)¶
git clone https://github.com/diladeniz/multiomics.git # 克隆仓库
cd multiomics # 进入项目目录
cargo build --release --bin multiomics # 以 release 模式编译
# 编译完成后二进制文件位于: target/release/multiomics
带 GPU 加速的编译¶
完整功能编译(含 ATAC + CNV + 长读段 + GPU)¶
安装到系统 PATH¶
主要 CLI 参数说明¶
主要输入参数
| 参数 | 说明 |
|---|---|
--genomics FILE | VCF 文件,用于变异分析 |
--transcriptomics FILE | 表达矩阵 TSV 文件 |
--epigenomics FILE | 亚硫酸盐测序 BED 文件 |
--reference FILE | 参考基因组 FASTA,启用 HRD 微同源评分 |
--atac FILE | ATAC-seq narrowPeak 文件 |
--cnv FILE | 含 CN 字段的 VCF 文件 |
--fastq FILE | FASTQ 文件,用于质控 |
--scrna DIR | 10x MEX 目录,用于单细胞分析 |
--bam FILE | BAM 文件,用于基因定量 |
--gtf FILE | GTF/GFF3 注释文件 |
蛋白质组学参数
| 参数 | 默认值 | 说明 |
|---|---|---|
--proteomics FILE… | — | 一个或多个 mzML 文件 |
--proteomics-dir DIR | — | 含 mzML 文件的目录,自动扫描 |
--fasta FILE | — | 蛋白质数据库 FASTA |
--proteomics-fdr N | 0.01 | FDR 阈值(0.01 表示 1%) |
--phospho-max-sites N | 0 | 每条肽段最大磷酸化位点数;0 表示禁用磷酸化分析 |
输出与性能参数
| 参数 | 默认值 | 说明 |
|---|---|---|
--output DIR | ./multiomics_out | 输出目录,不存在时自动创建 |
--threads N | 全部核心 | 工作线程数 |
--json | 关闭 | 仅输出 JSON,不生成 TUI 和 HTML |
--no-ml | 关闭 | 跳过 PCA 和跨模态相关分析 |
--no-gpu | 关闭 | 禁用 GPU,使用 CPU 执行 UMAP |
--raw-counts | 关闭 | 将转录组输入视为原始计数并应用 DESeq2 归一化 |
跳过模块参数
| 参数 | 跳过内容 |
|---|---|
--skip-genomics | 变异分析 |
--skip-transcriptomics | 表达分析 |
--skip-epigenomics | 甲基化分析 |
--skip-proteomics | 蛋白质组数据库搜索 |
--skip-scrna | 单细胞分析 |
实战示例¶
示例一:基础多组学分析(基因组 + 转录组 + 表观组)¶
multiomics \
--genomics sample.vcf \ # 输入变异检测 VCF 文件
--transcriptomics expression.tsv \ # 输入基因表达矩阵
--epigenomics methylation.bed \ # 输入甲基化 BED 文件
--output ./results # 指定输出目录
示例二:自动化流水线模式(仅输出 JSON)¶
multiomics \
--genomics sample.vcf \
--transcriptomics expression.tsv \
--epigenomics methylation.bed \
--json \ # 禁用 TUI 和 HTML,仅生成 JSON
--output ./results
示例三:癌症样本分析(WES TMB + 参考基因组 HRD)¶
multiomics \
--genomics tumor.vcf \ # 肿瘤变异 VCF
--transcriptomics rna.tsv \ # 肿瘤 RNA 表达矩阵
--epigenomics wgbs.bed \ # 全基因组亚硫酸盐测序甲基化数据
--reference GRCh38.fasta \ # 参考基因组,启用 HRD 微同源评分
--tmb-genome-mb 35 \ # 指定 WES 有效基因组大小为 35 Mb
--output ./cancer_results
输出的 HTML 报告将包含 FDA 生物标志物卡片(TMB、MSI)、COSMIC 突变特征、免疫逃逸评分、肿瘤纯度估计、Kataegis 位点、HRD 评分及 LOH 图谱。
示例四:单细胞 RNA 分析(带 GPU UMAP)¶
multiomics \
--scrna /path/to/10x_mex_dir \ # 10x Genomics MEX 格式目录
--output ./sc_results # 输出目录
# 若已编译 GPU 支持,UMAP 将自动使用 GPU 加速
示例五:蛋白质组学数据库搜索(1% FDR)¶
multiomics \
--proteomics run1.mzML run2.mzML \ # 多个质谱原始数据文件
--fasta human_proteome.fasta \ # 蛋白质数据库
--proteomics-fdr 0.01 \ # 设置 FDR 阈值为 1%
--output ./prot_results
示例六:完整肿瘤多组学分析¶
multiomics \
--genomics tumor.vcf \ # 体细胞变异
--transcriptomics rna.tsv \ # RNA 表达
--epigenomics wgbs.bed \ # 甲基化
--reference GRCh38.fasta \ # 参考基因组
--atac peaks.narrowPeak \ # 染色质可及性
--cnv cnv.vcf \ # 拷贝数变异
--scrna mex/ \ # 单细胞 RNA
--proteomics ms1.mzML ms2.mzML \ # 质谱数据
--fasta proteome.fasta \ # 蛋白质数据库
--preset cancer \ # 使用癌症分析预设参数
--output ./full_results
示例七:跳过特定模块¶
# 提供 VCF 但跳过基因组学模块,仅运行转录组和表观组分析
multiomics \
--genomics mutations.vcf \
--transcriptomics rna.tsv \
--epigenomics wgbs.bed \
--skip-genomics # 跳过变异分析模块
# 单细胞分析跳过 UMAP(仅运行 QC 和归一化,速度更快)
multiomics --scrna mex/ --no-umap
# 强制使用 CPU UMAP,即使 GPU 可用
multiomics --scrna mex/ --no-gpu
# 跳过整合层 ML 分析(不运行 PCA 和相关矩阵)
multiomics \
--genomics sample.vcf \
--transcriptomics rna.tsv \
--epigenomics wgbs.bed \
--no-ml
预设参数使用¶
multiomics --genomics tumor.vcf --preset cancer --output ./results
# 使用癌症预设,自动调整 Ti/Tv 警告阈值等参数
multiomics --list-presets
# 列出所有可用预设
可用预设一览:
| 预设名称 | 适用场景 |
|---|---|
cancer | 体细胞突变分析,降低 Ti/Tv 警告阈值 |
plant | 植物基因组,调整 GC 含量和甲基化标准 |
rna-seq | 以表达分析为主,DE 为核心洞察 |
wgbs | 全基因组亚硫酸盐测序,严格 CpG 岛参数 |
atac | 染色质可及性分析,ATAC 信号阈值 |
clinical | 临床 WGS,保守的 QUAL 和 FDR 截止值 |
配置文件使用¶
multiomics --dump-config > my_config.toml
# 导出默认配置为 TOML 文件
# 编辑 my_config.toml 后应用自定义配置
multiomics --config my_config.toml --genomics sample.vcf ...
常见问题¶
Q1:单细胞 RNA 分析支持哪些输入格式?
目前仅支持 10x Genomics MEX(Matrix Exchange)格式目录,该目录需包含三个文件:matrix.mtx.gz(稀疏矩阵)、barcodes.tsv.gz(细胞条形码)、features.tsv.gz(基因特征列表)。通过 --scrna 参数指定该目录路径即可。
Q2:GPU 加速是否必须安装 CUDA?
不需要。GPU 加速通过 wgpu 框架实现,支持 Vulkan(Linux/Windows)、Metal(macOS)和 DX12(Windows)后端,覆盖主流现代 GPU,无需 NVIDIA CUDA 环境。GPU 加速仅影响单细胞 UMAP 的 k 近邻计算步骤,适用于 5000+ 细胞的数据集。若不需要 GPU,可在运行时添加 --no-gpu 参数强制使用 CPU。
Q3:TMB 计算时如何区分 WGS 和 WES 样本?
工具会根据变异数量自动检测测序类型:WGS 默认使用 2800 Mb,WES 默认使用 35 Mb。如需手动指定,使用 --tmb-genome-mb N 参数覆盖自动检测结果,例如 --tmb-genome-mb 35 明确指定 WES。
Q4:输出的 HTML 报告是否需要网络连接才能查看?
不需要。report.html 是完全自包含的 HTML 文件,所有 SVG 图表均内联在文件中,无任何外部依赖,可在任意浏览器中离线打开。multiqc_multiomics.json 则兼容 MultiQC 工具,可集成到现有质控报告流程中。
Q5:如何针对不同研究类型快速调整分析参数?
使用 --preset 参数加载预设配置,例如 --preset cancer 用于癌症体细胞分析,--preset clinical 用于临床 WGS 分析。运行 --list-presets 可查看所有可用预设。若需更精细的参数控制,可先运行 --dump-config 导出默认 TOML 配置文件,修改后通过 --config 参数加载。
总结¶
multiomics 是一款面向多组学整合分析场景的高性能 Rust CLI 工具,将基因组学、转录组学、表观基因组学、蛋白质组学、单细胞 RNA、ATAC-seq、CNV 等多种数据类型的分析模块整合为单一工具链。其核心优势在于:内置完整的癌症临床生物标志物计算体系(TMB、MSI、COSMIC 特征、HRD、LOH 等),支持无 CUDA 依赖的 GPU 加速 UMAP,输出标准化的自包含 HTML 报告和 MultiQC 兼容 JSON,以及实时 TUI 终端仪表盘。通过预设参数和灵活的跳过标志,用户可以在不修改配置文件的前提下快速适配不同研究场景。该工具尤其适合需要同时处理多种组学数据的癌症基因组学研究和临床样本分析工作流。