software

Iso-Seq collapse 实跑,模型从五个变两个以后,还应该检查什么

作者:发布于 2026-11-15约 12 分钟阅读
模型变少,还要核对代表结构。十一条设计记录,比较归并粒度与成员来源。2 → 4 → 5,参数改变模型集合,五端保留与三端容差分别影响结果。9 条成员,不等于九条完整一致结构,默认代表仅两外显子,成员含三外显子记录。合计 11,成员总数保持一致,联查 GFF、分组与来源表,解释每次变化。

长读长转录组分析常把去冗余后的模型数量当作一个重要结果。模型减少,可能意味着重复结构被合并,也可能意味着不同起止边界或不完整结构被放进了同一组。只看最终条数,很难判断这次变化是否符合研究目标。

本篇实际运行 Iso-Seq 二十六点二点零的结构归并模块。我们构造十一条能够逐项核对的转录本级比对记录,只调整归并参数,得到两个、四个和五个模型。除了比较数量,还检查每个模型的外显子结构和成员来源,说明为什么支持总数不能代替完整结构的支持证据。

模型变少,还要核对代表结构。十一条设计记录,比较归并粒度与成员来源。2 → 4 → 5,参数改变模型集合,五端保留与三端容差分别影响结果。9 条成员,不等于九条完整一致结构,默认代表仅两外显子,成员含三外显子记录。合计 11,成员总数保持一致,联查 GFF、分组与来源表,解释每次变化。
十一条设计记录,比较归并粒度与成员来源

先明确本篇运行的是哪一步

从原始长读段到最终模型,中间可能经历引物处理、全长非嵌合序列整理、序列聚类、基因组比对以及结构归并。前面得到的序列相似性与后面得到的外显子结构相容性,是不同层面的判断。

本篇只测试最后的结构归并。输入不是实际测序数据,而是按设计写出的 SAM 记录,再通过 Samtools 转成排序和索引完成的 BAM。我们没有运行原始读段处理、序列聚类、基因组比对、条形码校正或分子去重。

这样做的好处是可以准确控制每一条记录的外显子边界,把参数影响与上游比对错误分开。限制也很明确,实验只能说明这些人工结构在当前版本中的处理结果,不能评估真实样本准确率,更不能给出平台之间的性能排名。

虽然版本信息列出了程序链接的多个组件,也不能据此声称这些组件都在实验中实际执行过。安装环境包含某项能力与分析确实调用该能力,需要由命令和日志区分。

十一条输入记录如何设计

参考区域包含三个外显子,一基制闭区间分别为一千零一到一千四百、二千五百零一到二千九百、四千零一到四千四百。我们把这个结构称为完整组,生成三条独立命名的输入记录。

再构造四种变化,每种两条记录。第一种删除最前面的整个外显子,保留后两个。第二种保留三个外显子,但把第一个外显子的起点向后移动七十碱基。第三种把最后外显子的终点延长七十碱基。第四种把第一个外显子的供体位置延长五十碱基,改变内部剪接边界。

设计组 条数 与完整组的区别
完整 3 三外显子参考结构
缺首段 2 缺失首个外显子
首端后移 2 首端向后移动 70 bp
末端延长 2 末端延长 70 bp
新供体 2 内部供体改变 50 bp

前三类变化让我们区分缺失整个外显子、同一外显子内部的端点差异和末端差异。新供体组则用于检查真正改变内部剪接边界的结构是否仍然单独保留。

每条记录的序列由人工基因组对应区间拼接,并写入精确匹配的 CIGAR。所有来源名称和支持标签也都是测试用构造值,每条输入关联一个人工来源名。它们不是实际测序仪产生的分子记录,也没有承担真实实验去重的含义。

用固定版本运行三组比较

本次容器内程序报告二十六点二点零,三个归并命令均正常退出。驱动使用固定摘要镜像,保留设计输入、模型文件、成员表、来源表和日志。下面的版本检查和重跑入口可以直接复现。

IMAGE=quay.io/biocontainers/isoseq@sha256:a2936a2c9249e4a5b471501af5fa09704d7356cc98042755b510087ee9a1638f
docker pull "$IMAGE"
docker run --rm "$IMAGE" isoseq --version
docker run --rm "$IMAGE" isoseq collapse --help

python3 152-isoseq/run.py results/isoseq

驱动在 Linux 主机执行,通过容器调用软件。人工 SAM 的转换、排序和索引同样实际完成,并执行了快速格式检查。格式检查只能帮助发现文件层面的问题,不能证明人工输入就是生物学上可信的转录本。

三个核心命令如下,均使用同一份已经排序的比对文件。为了让结果容易追踪,分别写入独立前缀。

isoseq collapse -j 2 --log-level INFO \
  mapped.bam default.gff

isoseq collapse -j 2 --log-level INFO \
  --do-not-collapse-extra-5exons \
  mapped.bam keep5.gff

isoseq collapse -j 2 --log-level INFO \
  --do-not-collapse-extra-5exons --max-3p-diff 20 \
  mapped.bam tight3.gff

当前帮助信息中的同外显子五端差异默认值为五十碱基,三端差异默认值为一百碱基,内部模糊连接容差为五碱基。这里记录实际安装版本的帮助输出,避免把旧教程中的数值当成永久不变的默认。

默认组,九条记录被放进同一模型

默认参数得到两个模型。不同供体的两条记录组成一组,其余九条记录合成另一组。后者包括三条完整结构、两条缺首外显子的结构、两条首端移动结构和两条末端延长结构。

因此,九条支持并不意味着九条记录都具有完全相同的外显子边界。它表示这些记录在当前规则下进入同一个归并组。若把这个数直接写成九条全长一致证据,就超出了实际输出能证明的范围。

本次默认组还有一个值得专门检查的现象。九成员组在最终 GFF 中的代表结构只有后两个外显子,坐标从二千五百零一到四千四百。组内确实包含三外显子的成员,但最终模型没有保留它们的第一段。

默认组 PB.1.1
成员数         9
输出外显子     2501–2900,4001–4400
成员构成       完整 3,缺首外显子 2,首端移动 2,末端延长 2

这只是当前版本和这份输入的实测现象,不能推导为程序在所有情况下都选择最短结构。它能够支持的实际经验是,不能默认归并代表一定保留所有成员中最长、最完整的边界。

如果研究重点是完整结构恢复,看到最终模型数量减少后,应把成员映射回输入比对,核对代表结构是否符合自己的保留目的。数量正确结束、日志退出成功,并不能替代这一检查。

保留五端结构差异后,为什么变成四个

第二组启用不合并额外五端外显子差异的开关,得到四个模型。完整组与末端延长组仍然合并,支持数为五。缺首外显子组、首端移动组和不同供体组分别保留,每组两条。

这次变化同时暴露了两个不同规则。缺少整个首外显子的结构被单独留下,而起点移动七十碱基的结构也超过了当前五端容差。不能只把新增的模型统称为更多剪接形式,因为其中一个仅改变起始边界,没有改变内部连接。

完整与末端延长仍然合并,是因为它们的末端相差七十碱基,处在当前一百碱基三端容差以内。五端相关开关不会自动收紧三端规则,修改一个维度后,应继续核对其他维度的处理。

官方文档建议常规 bulk 流程使用这一五端保留开关,同时提醒正确的原始全长非嵌合计数需要相应输入。这个建议有明确的流程背景,不能把它理解成适用于所有研究目标的唯一最佳参数。Iso-Seq collapse 官方说明

收紧三端容差后,五种设计全部分开

第三组在第二组基础上把三端容差改为二十碱基,得到五个模型。末端延长七十碱基的两条记录现在与完整组分开,完整组支持三,其他四个组各支持二。

运行组 模型数 各模型成员数
默认归并 2 9,2
保留五端差异 4 5,2,2,2
再收紧三端 5 3,2,2,2,2

三组的成员数量相加都等于十一。模型数变化并非新增或丢失了输入记录,而是相同记录被组织成不同集合。这个守恒检查很简单,却能避免把结构划分变化误解为测序深度变化。

不同供体组在三组中始终单独保留。它与完整组的内部供体相差五十碱基,远大于当前五碱基的内部容差。这说明末端容差与内部连接容差需要分别讨论,不能因为软件允许末端差异,就认为内部剪接位置也会被同等程度地模糊处理。

本次仅比较这三组规则,没有扫描大量阈值,也没有证明五个模型就是生物学真值。五个模型对应的是设计时人为区分的五种结构,在真实样本中,某种末端差异可能来自技术截短,也可能值得进一步研究。

四份输出应当怎样联查

模型文件回答最终保留了什么结构。成员表回答哪些输入转录本被放进该模型。来源对应表进一步列出人工来源名称的归属。支持计数文件则提供汇总数字。这些文件互相补充,不宜只留其中一份。

先从模型表提取染色体、链方向和有序外显子区间,作为结构本身。再按模型编号连接成员表,确认输入记录是否完整进入某个集合。最后把计数与成员数量核对,遇到不一致时再查看实际流程的聚类与去重含义。

本次每条输入只关联一个人工来源,因此成员数与支持数恰好一致。真实数据未必如此,一个聚类后的转录本可能关联多个原始读段,去重前后的数量也可能不同。不能把本次方便手算的等式推广到所有实际流程。

输出编号也不能作为跨运行的永久身份。同一个编号在不同组里可能指向不同结构。例如第二组和第三组的第二个模型不同,若直接按编号拼接参数比较表,就会把不相同的结构并到一起。

比较多次运行时,应当先依据实际结构建立对应关系,再记录各自的编号与成员。用于基因归属时还需要外部注释,区域编号本身不能替代已验证的参考基因标识。

不要被文件名和计数列名误导

本次输出的全长计数文件扩展名是文本,但内容使用逗号分隔。成员表和来源表使用制表符。读取前应查看表头和分隔符,不能因为文件都以同一种扩展名结束,就把它们交给同一个默认解析参数。

更值得注意的是,本次没有输入真实的原始全长非嵌合 BAM,程序仍然生成了计数文件,样本标签也是通用名称。这不能证明真实 bulk 计数已完整恢复,更不能把测试标签当成实际样本名称。

本篇的计数只用于核对十一条人工记录如何分组。若要用于真实表达分析,需要保留上游生成的来源关联及样本信息,并按正式流程提供相应输入。为了让程序运行而自行补造真实数据的来源标签,会破坏后续可追溯性。

PacBio 的 BAM 在通用格式上包含额外标签与约定。这些信息并不是无关紧要的装饰,不能在格式转换时随意删除,也不能凭一个能被软件读取的文件就认定全部实验来源信息仍然完整。PacBio BAM 格式说明

如何为自己的问题选择保留粒度

如果目标是梳理主要内部剪接结构,可以先关注剪接链,再对端点差异作独立汇总。如果目标涉及转录起始或终止位置,就需要保留足够细的端点信息,并引入相应的独立证据。选择粒度应当先于比较最终模型数量。

对于缺首端结构,应抽查输入比对,观察是否有足够多的完整读段、是否集中出现特定端点,以及变化是否跨样本重现。把所有短结构合并可能隐藏真实差异,全部拆开又可能保留大量技术性截短。单靠模型数量无法裁决。

参数比较时,可以先固定一份输入,只改一个相关条件,输出到独立目录。然后挑出发生变化的区域,按成员和结构解释变化。若同时更换参考、比对方法和多个阈值,即使最终数量差异明显,也很难判断是哪一步导致。

结构归并的优点是能够集中整理重复或相近证据,生成较容易继续注释的模型集合。其限制是归并结果始终携带相容性规则和代表选择的影响。代表模型不是组内每条输入的逐位复制,支持数也不能替代边界证据。

实际项目还应补充剪接结构分类、非典型连接检查、端点质量和表达支持。那些步骤能回答的问题与归并不同,本次没有执行,不能把归并成功写成模型已经通过全部质量验证。

复现与经验归纳

下载本组三篇的实跑脚本、结果和说明。本篇附件包含固定镜像摘要、人工 SAM 的生成逻辑、三次命令、原始模型与成员文件。重跑时先检查模型数是否为二、四、五,再核对各组成员数都合计十一。

随后重点查看默认九成员组的实际外显子结构,以及收紧三端容差后新增模型的来源。完成这两步,就能把数量变化与具体证据联系起来,而不是仅凭一张统计图判断哪套参数更好。

如果后续需要长期维护 Iso-Seq 分析环境及多批次结果,可了解云生信生物分析服务器服务,让原始输入、参数和模型记录持续可追溯。

把知识用于当前任务

下一步可以直接开始分析

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

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