病原体基因溯源数据中心,给您提供权威的行业数据
分类
bioinfo
试剂盒
不适用
样本类型
BAM/SAM 比对文件 + BED 引物方案文件
预计时间
~15–30 min(单样本,含比对与变异检出)
bioinfo

iVar——病毒扩增子测序引物修剪与变异检测标准流程

方法定义:iVar 是专为病毒扩增子测序设计的命令行工具包,核心功能包括基于 BED 坐标的引物软裁剪、滑窗质量修剪、共有序列生成和亚克隆变异(iSNV)检出。输入 BAM 比对文件和引物 BED,输出修剪后 BAM、共有 FASTA 和变异 TSV。适用于 ARTIC 网络及多重 PCR 扩增子方案的 Illumina/Nanopore 数据后处理,是病毒基因组监测管线中比对之后、系统发育分析之前的关键环节。

一、原理

病毒扩增子测序(ARTIC 网络方案是典型代表)通过多重 PCR 产生数百个重叠扩增子覆盖全基因组。原始 reads 里残留的引物序列、末端低质量碱基,以及引物结合区的突变,都会让下游变异检测和共有序列生成失真。iVar 就是解决这个问题的命令行工具包。它专门为病毒扩增子测序数据设计,把引物修剪、质量过滤、共有序列生成、变异检出和跨重复样本过滤串成一条标准化管线。

iVar 的核心逻辑基于 BAM 比对文件的后处理:利用 BED 格式的引物坐标文件,在比对好的 reads 上做软裁剪(soft clip),而不是在原始 fastq 层面粗暴截断。这样做的优势是即使 read 起始位置不完全与引物边界对齐,也能准确去除引物序列。和 cutadapt 这种基于序列匹配的修剪方式比,iVar 的坐标驱动修剪在处理扩增子数据时更鲁棒——尤其当引物序列存在错配导致 read 末端不完全匹配预期引物序列时。在病毒溯源中,iVar 处于「湿实验产出 → 测序 → 比对 → iVar → 下游系统发育分析」这个链条的中间环节。产生的共有序列直接喂给 Pangolin 分型、Nextclade 突变谱分析或 MAFFT 多序列比对,继而进入 BEAST 分子钟定年等溯源分析。在 SARS-CoV-2 全球基因组监测中的应用是最为典型的案例。

二、步骤

Step 1 — 序列比对

reads 先比对到参考基因组。Illumina 数据用 BWA-MEM,Nanopore 数据用 minimap2。比对结果经 samtools sort 排序,输出 sorted BAM。

bwa mem -t 8 reference.fa sample_R1.fq sample_R2.fq | samtools sort -o sample.sorted.bam -

Step 2 — iVar trim 引物修剪

用 ivar trim 对已比对的 BAM 做引物软裁剪加滑窗质量修剪。需要一个 BED 文件指定每条引物的基因组坐标(6 列:染色体、起始、终止、引物名、pool、方向)。滑窗宽度默认 4 bp,窗口内平均质量低于阈值就截断。修剪后保留长度 ≥ 指定最小值的 read。-e 保留未匹配到引物的 reads,对宏基因组混检场景有用。

ivar trim -i sample.sorted.bam -b primers.bed -p sample.trimmed -q 20 -s 4 -m 30 -e

Step 3 — iVar variants 变异检出

将 samtools mpileup 输出管道给 ivar variants,检出 SNV 和 indel。-t 设最低等位基因频率(默认 0.03,即 3%),-q 设纳入计数的最低碱基质量。提供 GFF 注释文件时 iVar 自动翻译密码子变化为氨基酸突变。

samtools mpileup -aa -A -d 0 -B -Q 0 --reference reference.fa sample.trimmed.bam | ivar variants -p sample -q 20 -t 0.03 -r reference.fa -g reference.gff

Step 4 — iVar consensus 共有序列生成

同样由 mpileup 管道输入,按频率阈值决定每个位置的共有碱基。-t 0.5 表示频率 ≥50% 的碱基被调用,否则输出简并碱基(IUPAC 码)。-m 10 是调用共有序列的最低深度,低于此深度输出 N。这是整个流程的最终交付产物——一条 FASTA 共有序列,可直接提交 GISAID 或进入下游系统发育分析。

samtools mpileup -aa -A -d 0 -Q 0 sample.trimmed.bam | ivar consensus -p sample.consensus -q 20 -t 0.5 -m 10 -n N

Step 5 — iVar filtervariants 跨重复过滤(可选)

有多重复测序时,用 ivar filtervariants 取交集,排除仅出现在单个重复中的假阳性变异。-t 1 要求所有重复都必须检出该变异;降低阈值可放宽过滤条件。输出的过滤后 TSV 仅保留在两个以上重复中一致检出的 iSNV,这是 Grubaugh 等 2019 年验证过的消除测序假阳性的关键策略。

ivar filtervariants -p sample.filtered -t 1 sample_rep1.tsv sample_rep2.tsv sample_rep3.tsv

三、参数选择建议

参数推荐值说明
trim -q(质量阈值)20–25Illumina 用 20,Nanopore 用 15
trim -s(滑窗宽度)4默认值,灵敏度和特异性平衡较好
trim -m(最小 read 长度)30–50低于此值直接丢弃
variants -t(最低等位频率)0.03(3%)亚克隆变异检出建议 0.03;共有序列变异建议 0.1–0.5
consensus -t(共有频率阈值)0.50.5=严格多数;0=直接取最频碱基
consensus -m(最低覆盖深度)10低于此深度位置标 N
mpileup -d(最大深度)0(不限)扩增子深度极高,务必设高或不限

四、FAQ

iVar 和 cutadapt / Trimmomatic 怎么选?

cutadapt 按引物序列匹配修剪,适合单扩增子或少量引物场景。iVar 用 BED 坐标驱动软裁剪,read 起始有偏移时也能正确修剪,更适合数百条重叠扩增子的病毒全基因组方案。Trimmomatic 做质量修剪可以,但引物去除只能用固定长度硬截(HEADCROP),会损失有效序列。病毒扩增子项目直接选 iVar。

为什么 iVar 变异检出必须走 mpileup 管道而不能直接读 VCF?

iVar 的设计哲学是精简依赖。它寄生在 samtools mpileup 的输出上——mpileup 负责 pileup 计算(深度、碱基频率),iVar 只做阈值过滤和格式整理。这样避免了重新发明轮子,也保证了和 samtools 生态的兼容性。直接给 BAM 就够了,不需要中间 VCF 环节。

consensus -t 设 0 和设 0.5 有什么区别?

-t 0 在每个位置直接取出现频率最高的碱基,结果最「干净」但会掩盖混合感染信号。-t 0.5 是严格多数——如果没有任何碱基超过 50%,该位置输出简并碱基(IUPAC 码),等于在共有序列里保留了混合碱基信息。溯源分析中一般用 -t 0.5 或更严格的 -t 0.9,避免低频率测序错误污染。

参考文献

  1. Grubaugh ND, Gangavarapu K, Quick J, et al. An amplicon-based sequencing framework for accurately measuring intrahost virus diversity using PrimalSeq and iVar. Genome Biology. 2019;20(1):8. DOI: 10.1186/s13059-018-1618-7
  2. Quick J, Grubaugh ND, Pullan ST, et al. Multiplex PCR method for MinION and Illumina sequencing of Zika and other virus genomes directly from clinical samples. Nature Protocols. 2017;12(6):1261-1276. DOI: 10.1038/nprot.2017.066