原理
拿到一条病毒基因组序列,第一个问题往往是:它属于哪个谱系、带了哪些突变?Nextclade 就是干这个的。它把_query_序列跟参考基因组做比对,逐个位置找出核苷酸和氨基酸层面的差异,再根据这些突变给出 Pango 谱系分类。
跟 Pangolin 只给谱系标签不同,Nextclade 把完整的突变谱一并列出来——哪些是错义突变、哪些是缺失、哪些是插入,一目了然。在病毒溯源的日常工作中,拿到一批新序列,跑一遍 Nextclade 就能知道它们分别属于什么谱系、跟参考株差了多少个突变,后续要不要做更深入的系统发育分析,心里就有数了。
步骤
1. 选择运行方式
序列少的话直接上 Nextclade Web(clades.nextstrain.org),浏览器里拖入 FASTA 就能跑,不用装任何东西。本地批量处理或者涉及未公开数据,用 Nextclade CLI。从 GitHub releases 下载二进制文件,解压后直接运行,不依赖 conda 或 Docker。
2. 准备数据
CLI 需要单独下载 dataset。每个病毒物种对应一个数据集,里面包含参考序列、引物区间、突变规则等:
nextclade dataset get --name sars-cov-2 --output-dir datasets/sars-cov-2
流感、HIV、猴痘等都有对应的数据集,用 nextclade dataset list 可以查看全部可用物种。
3. 运行分型
nextclade run --input-dataset datasets/sars-cov-2 sequences.fasta --output-tsv results.tsv
程序自动完成比对、突变识别和谱系判定。输出 TSV 里每条序列一行,包含 clade、lineage、所有突变列表、QC 评分等字段。
4. 查看结果
TSV 可以直接用 Excel 打开筛选,也可以加 --output-json 或 --output-csv 生成其他格式。如果要看单条序列的突变详情,--output-tree 能生成一棵带突变标注的新ick树。
参数选择建议
| 参数 | 推荐值 | 说明 |
|---|---|---|
| --min-length | 10000(SARS-CoV-2) | 低于此长度的序列跳过,避免短片段给出不可靠分型 |
| --excess-ambiguities | 3 | N 碱基超过这个数就标记为 low coverage |
| --input-dataset | 对应物种目录 | 不指定则用内置默认,建议显式指定避免版本混乱 |
| --jobs | CPU 核心数 | 并行处理序列数,默认自动检测 |
FAQ
Q:序列太短或质量差,Nextclade 会怎么处理?
A:低于 --min-length 的序列直接跳过,不会强行分型。结果里有一列 QC 评分,missing、mixed、private mutations 各项都有分数,分数过高的序列建议手动看一眼比对情况再决定是否采用。
Q:Nextclade 和 Pangolin 给出的谱系不一样,以哪个为准?
A:两家用的算法和谱系版本不同,偶尔会不一致。正式报告一般以 Pangolin 为准,Nextclade 的突变谱拿来做交叉验证。如果分歧较大,检查一下序列质量和覆盖度,再看看两边数据库是不是同一天的版本。
Q:几百条序列跑得太慢,怎么加速?
A:用 --jobs 指定线程数,比如 --jobs 8 开 8 线程。几百条序列几分钟就能跑完。另外 Nextclade 支持 .fasta.gz 压缩文件直接输入,省得先解压。
参考文献
- Aksamentov I, et al. Nextclade: clade assignment, mutation calling and quality control for viral genomes. J Open Source Softw. 2021;6(67):3773. DOI: 10.21105/joss.03773
- Hadfield J, et al. Nextstrain: real-time tracking of pathogen evolution. Bioinformatics. 2018;34(23):4121-4123. DOI: 10.1093/bioinformatics/bty407
