FASTA 文件统计:序列数、长度分布与 N50
拿到一份组装结果或一批序列,第一件事是看基本统计量。
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 时应同时写明是否设了长度阈值、阈值是多少。
相关解读
- 2026-10-29
分开推断调控网络让中性粒细胞肿瘤重编程分析失真
三篇单细胞方法论文各自踩到同一个坑:把两种条件或分析步骤分开建模,独立优化引入的噪声在比较时会伪装成真实差异。NetDes-Duo联合推断调控网络用于中性粒细胞肿瘤重编程,ConvexGating把聚类与分选门控联合优化,GWAS与iPSC-QTL整合定位神经退行性疾病风险至小胶质细胞。三篇文章在不同层次上给出同一结构的解法。
- 2026-10-28
CD8签名预测布鲁氏菌病分期,但黑色素瘤应答由TLS空间结构决定
三项研究同时触碰一个核心问题:单细胞转录信息能预测多少关于疾病的事?布鲁氏菌病里,外周血CD8签名已经足够;黑色素瘤里,TLS空间结构才是关键;体内CRISPR近邻筛选则把问题推向了遗传机制。
- 2026-10-27
人类海马发育单细胞图谱揭示PSEN1 E280A类器官的谱系命运偏移
这篇bioRxiv预印本首次为海马类器官研究提供了连续发育参照——HuDeHA图谱整合PCW3到15.3岁共658,059个细胞——并以PSEN1 E280A突变类器官为对象做系统定位,发现放射状胶质减少、MEIS2广泛上调、脉络丛TTR下降、神经元偏向成熟态,四处变化共同指向突变在极早期扰动了谱系命运。