# DIANN基础操作:命令行参数详解,输入文件格式(raw、mzML),库文件(spectral library)准备,输出文件介绍 说实话,DIANN 这工具我刚接手时也挺头疼。参数看着多,其实核心就那几个。文件格式选不对、库文件没准备好,后面全是坑。这一章我把最基础的操作掰开揉碎了讲,都是实际用下来的经验。 DIANN 基础操作知识体系 输入文件 raw / mzML 谱图库 Spectral Library 命令行参数 配置与优化 DIANN 引擎 定量与质控 输出文件 报告与矩阵 核心要点 ✓ 参数匹配数据类型 ✓ 格式选对避坑 ✓ 谱图库质量第一 ✓ 输出先看统计 ✓ 线程数合理设置 避坑提醒 FASTA 必须 clean 临时目录空间要足 先跑小样本验证 ## 命令行参数详解 DIANN 的命令行设计其实挺直观。核心参数不多,但每个都得吃透。我刚开始用的时候,经常忘记设 `--threads`,结果跑起来慢得让人想砸电脑。 先看一个最基础的命令:
diann --f sample.raw --lib library.tsv --out ./results --threads 16
这条命令做了三件事:加载 raw 文件,用 library.tsv 做谱图库,结果输出到 `./results` 目录,开 16 个线程跑。 下面我把常用参数列个表: | 参数 | 说明 | 默认值 | |------|------|--------| | `--f` | 输入文件,支持通配符或逗号分隔 | 无 | | `--lib` | 谱图库文件(.tsv 或 .hl 格式) | 无 | | `--out` | 输出目录 | `./out` | | `--threads` | CPU 线程数 | 4 | | `--temp` | 临时文件目录 | 系统临时目录 | | `--fasta` | FASTA 文件,用于生成谱图库 | 无 | | `--min-fr-mz` | 前体最小 m/z | 300 | | `--max-fr-mz` | 前体最大 m/z | 1800 | | `--min-pep-len` | 最短肽段长度 | 6 | | `--max-pep-len` | 最长肽段长度 | 30 | | `--no-remap` | 禁用保留时间重映射 | false | | `--individual-mass-acc` | 个体质量精度模式 | false | `--threads` 这个参数,我特别想多说一句。很多人觉得设得越大越好,其实不是。我遇到过设成 64 线程结果内存直接爆掉的情况。一般来说,物理核心数的 1.5 到 2 倍比较稳妥。 再看一个更完整的命令示例:
diann --f *.raw --lib library.tsv --out ./batch1_results \
  --threads 16 --temp ./tmp \
  --min-fr-mz 350 --max-fr-mz 1200 \
  --min-pep-len 7 --max-pep-len 35
我的习惯:先用 --threads 8 跑一个小样本测试,确认参数没问题再上全量数据。别一上来就全核开满,万一参数不对,重跑的时间够你喝一壶的。
## 输入文件格式:raw 与 mzML DIANN 支持两种输入格式:`.raw` 和 `.mzML`。说白了,raw 是 Thermo 的原始格式,mzML 是开放标准格式。我个人建议:**能用 mzML 就别用 raw**。 为什么?mzML 是开源的,跨平台兼容性好。raw 格式在 Linux 上读起来很麻烦,有时候还得装额外的驱动。我在项目中吃过这个亏——服务器是 Linux 的,raw 文件传上去发现读不了,临时转 mzML 又花了半天。 转换工具推荐 msconvert(ProteoWizard 套件),一条命令就搞定:
msconvert sample.raw --mzML --zlib --filter "peakPicking true 1-"
注意加上 `--zlib` 压缩,能省不少磁盘空间。峰 picking 那步也别省,不然 mzML 的质量会打折扣。
如果你用 Windows 系统,raw 格式直接喂给 DIANN 没问题。但如果你用 Linux 或 macOS,趁早转成 mzML,省得到时候抓狂。
## 谱图库文件准备 谱图库是 DIANN 的“灵魂”。没有库,它啥也干不了。DIANN 支持两种方式获取谱图库: - **直接提供谱图库**:`.tsv` 或 `.hl` 格式,包含肽段的保留时间、碎片离子信息等 - **从 FASTA 生成**:用 `--fasta` 参数,DIANN 会基于深度学习预测谱图库 如果你手头有现成的谱图库,比如从之前 DDA 实验构建的,直接用就行。没有的话,用 FASTA 生成也很快。 从 FASTA 生成库的命令:
diann --fasta human.fasta --out ./library --threads 16 --lib human_library.tsv
DIANN 会先预测谱图库,然后保存到 `human_library.tsv`。后续跑样本时,直接用这个库。
我曾经踩过的坑:FASTA 文件里夹杂了污染序列,结果生成的库乱七八糟,鉴定出大量不存在的肽段。所以,跑之前一定要检查 FASTA 的质量,最好用 clean FASTA。
谱图库的质量直接影响鉴定结果。我一般会用 **至少两个条件** 来评估库的好坏:肽段数量够不够、保留时间分布是否合理。如果库里的肽段数比预期少很多,八成是 FASTA 或参数有问题。 .hl 格式是 DIANN 的二进制格式,加载速度比 .tsv 快很多。如果你经常跑同一套库,建议转成 .hl 存着。 ## 输出文件介绍 DIANN 跑完后会生成一堆文件。很多新手看到那么多文件就慌了。其实核心就几个: | 文件 | 内容 | 用途 | |------|------|------| | `report.tsv` | 所有肽段的鉴定和定量信息 | 最常用的报告,做差异分析的基础 | | `report.pg_matrix.tsv` | 蛋白质组定量矩阵 | 蛋白质级别的定量,直接用于统计 | | `report.pr_matrix.tsv` | 前体离子定量矩阵 | 前体级别的定量,通常用于深度分析 | | `stats.tsv` | 运行统计信息 | 查看鉴定数量、FDR 等质控指标 | | `library.tsv` | 实际使用的谱图库 | 如果是从 FASTA 生成的库,会输出这个 | 我个人的工作流是:**先看 stats.tsv 检查质控指标**,过了关再用 report.tsv 做下游分析。report.pg_matrix.tsv 和 report.pr_matrix.tsv 是给统计软件(比如 MSstats)准备的,直接喂就行。
一个小技巧:report.tsv 文件通常很大,用 Excel 打开会卡死。我习惯用 R 或 Python 来读,实在要用 Excel 的话,先 filter 掉一些不重要的列再打开。
← 上一章 📖 返回目录 下一章 →