跳转至

Minimap2 — 长读段万能比对工具


一句话说明

Minimap2 是一个快速、通用的序列比对工具,支持 ONT、PacBio 长读段以及短读段比对,还能做 assembly-to-assembly 比对,是三代测序分析的标配工具。


安装与配置

# 方法1:conda 安装(推荐)
conda install -c bioconda minimap2  # 从 bioconda 安装

# 方法2:源码编译(获取最新功能)
git clone https://github.com/lh3/minimap2  # 克隆源码
cd minimap2 && make                         # 编译

# 验证安装
minimap2 --version  # 当前最新 2.28(2024年)

核心用法

基本命令

# ONT 长读段比对到参考基因组(最常用)
minimap2 -a \              # 输出 SAM 格式(默认输出 PAF)
  -x map-ont \             # 预设参数:ONT 长读段比对模式
  -t 16 \                  # 使用 16 个线程
  ref.fa \                 # 参考基因组
  ont_reads.fq.gz \        # ONT 读段
  | samtools sort -o ont_aligned.bam  # 排序并转为 BAM

# PacBio HiFi 读段比对
minimap2 -a -x map-hifi -t 16 ref.fa hifi_reads.fq.gz \
  | samtools sort -o hifi_aligned.bam

# PacBio CLR 读段比对
minimap2 -a -x map-pb -t 16 ref.fa clr_reads.fq.gz \
  | samtools sort -o clr_aligned.bam

# 短读段比对(替代 BWA-MEM)
minimap2 -a -x sr -t 16 ref.fa R1.fq.gz R2.fq.gz \
  | samtools sort -o sr_aligned.bam

进阶用法

# 全长转录本比对(Iso-Seq / cDNA)
minimap2 -a \
  -x splice \              # 剪接感知模式,识别内含子
  --junc-bed known_junctions.bed \  # 提供已知剪接位点(可选)
  -t 16 ref.fa \
  isoseq_reads.fq.gz \
  | samtools sort -o transcript_aligned.bam

# Assembly-to-assembly 比对(比较两个基因组)
minimap2 -x asm5 \         # 两个基因组序列相似度 >95%
  ref_genome.fa \
  query_genome.fa \
  > asm_alignment.paf       # 输出 PAF 格式

# 仅构建索引(大基因组重复使用时节省时间)
minimap2 -d ref.mmi ref.fa  # 将索引保存到 .mmi 文件
minimap2 -a -x map-ont -t 16 ref.mmi reads.fq.gz | samtools sort -o out.bam

# 输出 CS 标签(详细的比对差异信息)
minimap2 -a -x map-ont --cs ref.fa reads.fq.gz > with_cs.sam

常见问题与踩坑

问题1:忘记加 -a 导致输出不是 SAM 格式

原因:Minimap2 默认输出 PAF 格式(制表符分隔的简化比对格式)
解决:需要 BAM/SAM 时必须加 -a 参数

问题2:选错预设模式(-x 参数)

原因:不同测序平台的错误特征不同,用错预设会严重影响比对质量
解决:ONT 用 map-ont,HiFi 用 map-hifi,CLR 用 map-pb,短读用 sr,cDNA 用 splice

问题3:比对 RNA 数据时没有检测到剪接位点

原因:用了 map-ont 而不是 splice 模式
解决:转录本数据必须用 -x splice,可选加 --junc-bed 提供已知剪接位点

问题4:大基因组比对速度慢

原因:每次运行都重新构建索引
解决:先用 minimap2 -d ref.mmi ref.fa 保存索引,后续直接用 .mmi 文件


速查卡片

命令/参数用途
-x map-ontONT 长读段比对
-x map-hifiPacBio HiFi 读段比对
-x map-pbPacBio CLR 读段比对
-x sr短读段比对
-x splice转录本/cDNA 剪接比对
-x asm5基因组-基因组比对(>95% 相似)
-x asm20基因组-基因组比对(>80% 相似)
-a输出 SAM 格式
-d ref.mmi ref.fa预建索引保存到文件
--cs输出 CS 标签(详细差异)
--MD输出 MD 标签(用于 SNP 调用)
-t N设置线程数