碱基日读 每天读完真实文献,只讲有用的那一段

工具›序列处理工具

FASTA 文件统计:序列数、长度分布与 N50

粘贴 multi-FASTA,立刻得到条数、总长、N50/L50、GC% 和长度分布。

拿到一份组装结果或一批序列,第一件事是看基本统计量。

N50 是最常被误解的指标。定义是:把所有 contig 按长度从大到小排序,依次累加, 当累加长度首次达到总长度一半时,当前这条 contig 的长度就是 N50。 它衡量的是「组装的连续性」——N50 越大,说明长片段占的比重越高。

L50 是达到一半总长所需要的 contig 条数。N50 和 L50 是一对,方向相反。

要注意 N50 有个众所周知的缺陷:它对总长度敏感。如果组装漏掉了一大堆短 contig, 总长变小,N50 反而会变好看。所以 N50 必须和总长度、序列条数一起看,单独一个数没有意义。

本工具全部在浏览器内计算,序列不会上传。大文件建议先取子集。

N50 是怎么算的:一个小例子

五条 contig,长度 100、80、60、40、20,总长 300,半长 150:

累加 100          < 150
累加 100+80 = 180 ≥ 150  ← 首次达到
N50 = 80(当前这条的长度)
L50 = 2(用了 2 条)

N50 能被「做高」,这是它最大的问题

假设一份组装是 100, 50 加上十条长度 10 的短 contig:

组装 条数 总长 N50
完整 12 250 50
丢掉全部短 contig 2 150 100

什么都没改进,只是把短片段扔掉,N50 就翻了一倍。 因为 N50 的分母是组装总长,总长缩水,半长的门槛也跟着降低。

NG50 就是为了修这个

NG50 把分母换成估计的基因组大小,而不是组装总长。上面那个例子按基因组 250 计:

组装 NG50
完整 50
丢掉短 contig 50

分母固定了,扔片段就占不到便宜。 比较不同组装时, 只要基因组大小估计一致,NG50 比 N50 公平得多。 本工具给的是 N50/L50(不需要额外输入),要算 NG50 请自行代入基因组大小。

contig N50 与 scaffold N50 不是一回事

scaffold 由 contig 用 N 连接而成,长度里包含未知碱基。 scaffold N50 通常远大于 contig N50,两个数放在一起比没有意义。 看文献报告的组装质量时,先确认它报的是哪一个。

常见问题

N50 越大越好吗?

在总长度和完整性相当的前提下才成立。N50 对总长敏感,丢掉大量短 contig 会让 N50 虚高,所以必须和总长、条数、BUSCO 完整度一起看。

能处理多大的文件?

受浏览器内存限制,几十 MB 的文本通常没问题,整个哺乳动物基因组建议在本地用命令行工具处理。

N50 大就是组装好吗?

不一定。N50 只衡量连续性,不衡量正确性——把两段不相邻的序列错误连接起来,N50 会变大而组装变差。评估组装质量要同时看总长与基因组估计的吻合度、BUSCO 之类的完整性指标,以及比对回读的一致性。N50 是必要不充分条件。

为什么我的 N50 和别人算的不一样?

多半是纳入的序列不同。有的流程会先滤掉短于某个长度(常见 200 或 500 bp)的 contig 再算,有的把全部序列都算进去。前面已经说明,滤短片段会抬高 N50。报告 N50 时应同时写明是否设了长度阈值、阈值是多少。

相关解读

相关工具

蛋白质分子量、等电点与 280nm 消光系数在线计算

输入氨基酸序列,算出分子量、理论 pI、摩尔消光系数和 1 mg/mL 的 A280。

双序列比对在线工具(Needleman-Wunsch 全局比对)

两条序列全局比对,给出比对结果、得分、一致度与错配/空位统计。

密码子表速查(标准遗传密码):密码子与氨基酸双向查询

标准遗传密码全部 64 个密码子,支持密码子查氨基酸、氨基酸反查密码子,DNA 与 RNA 写法都认。

没有广告,不收集数据,每个公式都验算过。维护它需要持续投入——如果帮你省了时间,请杯咖啡。
请杯咖啡 了解更多 →