software

DRAGEN 比对实操|参考 FASTA 没变,为什么一条连续读段被拆成两条比对?

作者:发布于 2026-11-14约 6 分钟阅读
同一条连续读段为何分成两段。同一份 FASTA 建两次索引,只在 B 拷贝屏蔽一段共享序列。无掩膜,150M,跨 B 边界的读段在 B 上全长匹配。加掩膜,80M70S,B 上的主记录保留 80 个对齐碱基。补充记录,79H71M,A 上另有 71 个匹配,查询区间重叠 1 bp。

两次分析的参考 FASTA 校验值完全相同,就能认为比对参考一致吗?若建索引时加入了屏蔽区间,两次可用于定位的序列仍可能不同。我们用 Illumina 发布的 DRAGEN 开源比对器 DRAGMAP 实际建了两套哈希索引。给它同一份 FASTQ,一条原本连续吻合一百五十个碱基的读段在第二套索引中变成主记录加补充记录,分别落在两条序列上。原始分子按构造从头到尾都取自同一条参考。这个例子可以用来检查由索引掩膜引起的假象,也适合用来读懂跨边界的操作串。

什么被屏蔽,由建索引时的输入决定

DRAGEN 提供多种二级分析流程,本文实际使用的是厂商开放的 CPU 比对组件 DRAGMAP 1.3.0。实验执行了参考哈希构建和单端比对,没有运行商用平台的其他模块。该组件支持用 BED 文件指定构建时的屏蔽区间,因此参考交付资料除 FASTA 之外,还需要保留索引构建命令、区间文件和工具版本。若一个流程交付原始 FASTA,另一个只交付编好的索引,仅凭文件夹名很难追查是否使用过不同的屏蔽规则。Illumina 对 DRAGMAP 的说明与建索引示例

我们构造两条各长一万碱基的人工参考,叫作 A 和 B。两者从零基第四千至第四千六百这一段完全相同,其余序列独立生成。四条读段各长一百五十碱基,一条完全在共享区内,两条分别从 A 和 B 的左边界跨入共享区,最后一条取自 B 的远端独有区域。第二套索引只在 B 上屏蔽这个六百碱基的区间。BED 用零基且右端不包含,写成四千、四千六百,对应 SAM 一基坐标第四千零一到第四千六百。准备测试时若平移一个碱基,之后核查边界剪切会更难对账。

实跑经验|最能识破掩膜影响的是跨越边界的对照

两份索引都用同一文件构建,固定线程数、读段和质量字符串。第一套无掩膜,完全处在共享区的读段在 B 上全长匹配,定位质量为零,最佳和次优得分都为一百五十。加上 B 的掩膜后,这条读段改在 A 上全长匹配,得分仍为一百五十,定位质量变成六十。这里不管主要落点被选在 A 还是 B,序列本身都无法区分两份拷贝。四条读段一起读,能区分这类重复定位变化与整条染色体缺失。DRAGEN 平台覆盖的分析范围

来自哪条序列 无掩膜 只屏蔽 B 的共享区
共享区内 B 全长,MAPQ 0 A 全长,MAPQ 60
跨 A 左边界 A,150M A,150M
跨 B 左边界 B,150M B 主记录 80M70S,A 补充记录 79H71M
B 的远端独有区 B,150M B,150M
同一条连续读段为何分成两段。同一份 FASTA 建两次索引,只在 B 拷贝屏蔽一段共享序列。无掩膜,150M,跨 B 边界的读段在 B 上全长匹配。加掩膜,80M70S,B 上的主记录保留 80 个对齐碱基。补充记录,79H71M,A 上另有 71 个匹配,查询区间重叠 1 bp。
同一份 FASTA 建两次索引,只在 B 拷贝屏蔽一段共享序列。

跨 B 边界的对照最能说明问题。未屏蔽时,B 的第三千九百二十一位开始,读段一百五十个碱基全部对齐,编辑距离为零。屏蔽之后,主记录仍从这里开始,原来在屏蔽区左侧的八十个碱基对齐,后七十个软剪切。另有一条标为补充的记录出现在 A 上,操作串显示硬剪去七十九个碱基、余下七十一个匹配。两段表面上长八十加七十一,已经超过整条读段长度一。检查输入序列可以发现有一位能在两侧同时对上,因此不能把两条记录上所有匹配长度相加当作独立覆盖。

两条记录的标志和操作串还影响可见序列。软剪切部分仍能在那条主记录的序列字段中找到,硬剪切部分则不随补充记录保存。若脚本按文件顺序拿到第一条就当作主记录,本次恰好会拿到标志为二千零四十八的补充记录。应同时检查次要和补充标志,再依读段名关联到完整序列。另一条来自 B 独有区的读段两次都吻合到同一个位置,说明这次屏蔽只作用于指定范围,不能解释成 B 整条被从参考里删除。SAM 规范对补充记录与软硬剪切的定义

mkdir -p full masked
dragen-os --build-hash-table true --ht-reference ref.fa --output-directory full
dragen-os --build-hash-table true --ht-reference ref.fa --ht-mask-bed mask.bed --output-directory masked
dragen-os -r full -1 reads.fq > full.sam
dragen-os -r masked -1 reads.fq > masked.sam

比较两次输出时还可把跨 A 的姊妹对照放在旁边。它的主比对两次都保持一百五十个碱基全长、定位质量六十,无掩膜时另报一个七十一的次优得分,屏蔽后这个次优字段未出现。由此可见,主坐标没有移动,也可能发生候选竞争环境的变化。若只找坐标发生变化的读段,会错过这一层证据。

交付参考时可同时保存一个可手算的小型核查区间。维护者记录区间两端是否闭合、染色体名称是否带前缀、跨界对照在预期索引上如何落点。更换版本时先跑这几条查询,若独有区也突然消失,优先检查染色体命名和索引是否完整。若只有边界附近改了,才去逐项比较掩膜、参考注释和种子建表参数。

出现新的裂分比对,怎样确定是否值得进一步验证

先选一条跨边界的读段,沿查询顺序标出主记录覆盖哪一段,补充记录覆盖哪一段,有没有重叠,以及剪切处落在参考的什么坐标。再把屏蔽区、重复注释和参考替代序列叠到同一位置。若只有使用某一套索引才产生分段,而且断点恰好贴在掩膜边界,索引条件已经给出一个可检验的解释。若多个具有独立起点的读段、另一端锚定以及未受掩膜影响的数据都指向相同连接,则可以继续检查真实重排的可能。

给下游提交结构变异候选时,最好保留至少一条跨边界和一条独有区的实际比对。只截局部图中两段都标高定位质量,很容易让复核人员忽略它们仍属于同一条读段,也忽略位置置信度取决于哪些区域可参与竞争。本例从人工参考抽取读段,所以清楚不存在重排。真实样本若缺少这种真值,需要用另一套明确的参考、较长读段或独立实验进行验证,不能直接把相同图形当作假阳性。

索引与边界检查固定下来后,若需在同一版本上批量比较一组样本,可使用云生信的生物信息分析服务器保存参考、掩膜和每轮比对结果。

把知识用于当前任务

下一步可以直接开始分析

按研究目标查找在线工具、课程、计算资源或完整分析服务。

按目标找方案仍有疑问,联系客服 ↗