原理
多序列比对(MSA)是病毒系统发育分析的第一步。把一堆长短不一、方向各异的病毒基因组序列,按位点一一对齐——这件事做不好,后面的建树、分子钟定年、祖先状态重建全都会跑偏。MAFFT(Multiple Alignment using Fast Fourier Transform)解决的就是这个问题:在海量病毒序列面前,又快又准地完成比对。
MAFFT的核心巧思是用快速傅里叶变换(FFT)来识别序列间的同源区域。传统的动态规划比对,CPU时间跟序列长度的平方成正比;MAFFT把氨基酸序列转换成体积和极性两个物理量构成的数字信号,用FFT在频域里快速定位相似片段,速度比ClustalW快几十倍,准确度还不掉——在高度相似的病毒基因组之间尤其明显。MAFFT内置了渐进式比对(FFT-NS-1/2)和迭代优化(FFT-NS-i、L-INS-i、G-INS-i)两套策略,前者适合几千条序列的快速处理,后者适合几百条序列的高精度对齐。与MUSCLE相比,MAFFT在大数据量场景下速度优势更突出;与Clustal Omega相比,MAFFT对近缘序列的比对精度更稳定。SARS-CoV-2大流行期间,Nextstrain团队用MAFFT的参考引导模式(--addfragments)每天处理数万条新提交的基因组序列,把比对时间从96核10分钟压缩到8核13分钟——这个效率让实时基因组监测成为可能。在SARS-CoV-2全球基因组监测中的应用,MAFFT是Nextstrain/Augur流水线的默认比对引擎。
步骤
1. 准备输入序列
把所有待比对的病毒序列整理成一个FASTA文件。每一条序列占两行(或一行header加一行序列),header以>开头。确保序列方向一致——MAFFT的--adjustdirection选项可以自动检测并翻转反向互补序列,但事先用SeqKit或自定义脚本统一方向更稳妥。去掉含大量N或低复杂度区域的序列,否则会影响比对质量。
2. 选择比对策略
MAFFT提供多种策略,选择依据是序列数量和相似度。不确定时直接用--auto,程序会根据数据规模自动选:少于200条且短于2000 bp走L-INS-i(最准);中等规模走FFT-NS-2(快且准);大规模走FFT-NS-1(极速)或PartTree。病毒基因组通常高度相似(>99%一致性),如果是给参考序列追加新序列的场景,推荐参考引导模式。
3. 执行比对
命令行一行搞定。标准用法:
# 自动选择策略(推荐新手)
mafft --auto input.fasta > aligned.fasta
# 高精度迭代(≤200条序列)
mafft --maxiterate 1000 --localpair input.fasta > aligned.fasta
# 多线程加速
mafft --auto --thread 8 input.fasta > aligned.fasta
# 参考引导模式(大批量近缘病毒序列,如SARS-CoV-2)
mafft --6merpair --keeplength --thread -1 \
--addfragments reference.fasta new_sequences.fasta > aligned.fasta
输出为标准多序列比对FASTA格式,所有序列被填充gap使长度一致。注意检查输出中是否有整行gap的序列——那意味着它跟参考序列几乎没有重叠区域。
4. 比对后处理与质控
比对结果不是终点。用trimal或ClipKIT去除比对质量差的列(gap比例过高的位点),用可视化工具检查:AliView或Jalview打开比对文件,肉眼扫一遍保守区域是否对齐、可变区域gap分布是否合理。如果发现明显的错配区域,调高精度策略(如改用L-INS-i)重跑。
参数选择建议
| 参数 | 推荐值 | 说明 |
|---|---|---|
--auto | 默认开启 | 自动根据数据规模选策略,日常分析首选 |
--maxiterate | 1000 | 迭代优化最大轮数;越高越准但越慢,1000是精度收敛的通用值 |
--thread | -1或8-16 | -1使用全部可用线程;大规模数据建议显式指定 |
--localpair | 搭配L-INS-i | 局部比对策略,适合存在大段插入/缺失的序列 |
--6merpair | 搭配--addfragments | 用6-mer计数加速距离矩阵计算,适合近缘病毒基因组 |
--keeplength | 参考引导模式必加 | 保持参考序列长度不变,不对参考插入gap |
--addfragments | 大批量追加序列时使用 | 将新序列对齐到已有参考比对,而非从头比对全部序列 |
--adjustdirection | 不确定方向时开启 | 自动检测并翻转反向互补序列,避免方向错误导致假变异 |
FAQ
MAFFT、MUSCLE和Clustal Omega怎么选?
病毒基因组日常比对用MAFFT。数据量小时(<50条)三者差别不大。序列超过500条时,MAFFT的FFT-NS-2比MUSCLE快3到5倍,比Clustal Omega在近缘序列上精度更稳定。如果做跨科属的远缘病毒比对,Clustal Omega的HMM引导策略有时更好。日常病毒溯源场景——MAFFT是首选。
为什么病毒比对推荐--auto而不是手动指定L-INS-i?
L-INS-i是最准的选项,但只适合≤200条序列、长度≤2000 bp的场景。病毒基因组动辄30 kb,加上动辄上千条序列——L-INS-i会慢到不可接受。--auto能自动判断:小数据走精度路线,大数据走速度路线。实在不放心,跑完--auto后用AliView目检关键区域,有问题再局部调整。
参考引导模式(--addfragments)和全量重比对怎么取舍?
每天都有新序列提交的监测场景(如流感、新冠常规测序),用参考引导模式——只把新序列对齐到已有参考比对,时间复杂度O(NL log L),不改动历史比对结果。一次性做几十到几百条序列的溯源分析,老老实实全量重比对。参考引导的代价是新序列之间的相对位置信息不如全量比对精确,如果后续要做重组分析,全量比对更可靠。
参考文献
- Katoh K, Misawa K, Kuma K, Miyata T. MAFFT: a novel method for rapid multiple sequence alignment based on fast Fourier transform. Nucleic Acids Res. 2002;30(14):3059-3066. DOI: 10.1093/nar/gkf436
- Katoh K, Standley DM. MAFFT multiple sequence alignment software version 7: improvements in performance and usability. Mol Biol Evol. 2013;30(4):772-780. DOI: 10.1093/molbev/mst010
- Katoh K, Rozewicki J, Yamada KD. MAFFT online service: multiple sequence alignment, interactive sequence choice and visualization. Brief Bioinform. 2019;20(4):1160-1166. DOI: 10.1093/bib/bbx108
- Katoh K, Frith MC. Adding unaligned sequences into an existing alignment using MAFFT and LAST. Bioinformatics. 2012;28(23):3144-3146. DOI: 10.1093/bioinformatics/bts578
