西蒙斯基因组多样性计划 — 300 份深测基因组

142 个群体 / 均值 43 倍覆盖 / ENA 公开 279 份

来源 https://www.simonsfoundation.org/simons-genome-diversity-project/发布时间: 2026-10-29最后更新: 2026-10-29 阅读 7

信息速览

数据集名称西蒙斯基因组多样性计划 — 300 份深测基因组
数据类型原始数据链接,元数据,文献引用
规模300 名个体(ENA 开放 279 份,EGA 受限 21 份)
接入方式https://www.simonsfoundation.org/simons-genome-diversity-project/
AI 就绪度

西蒙斯基因组多样性计划(Simons Genome Diversity Project,下称 SGDP)是 2016 年公开的一批深覆盖人类全基因组。论文标题把规模直接写在题面上:300 份基因组,取自 142 个群体。它要回答的问题不是「人类基因组长什么样」,而是「人类基因组的差异在哪些从未被测序过的小群体里」。为此,项目刻意避开了人口基数大、已有大量数据的族群,转向语言与文化上高度分化的边缘群体。

这批数据的物理形态比名字朴素得多:300 名个体的全血或细胞系提取物,送到同一家测序公司,用同一套建库试剂、同一批仪器跑完。没有多中心、没有分批、没有不同年代的平台混用,这在大型人类基因组项目里相当少见,也是它被长期引为方法学参照的主要原因。

它只做一件事,但把这件事做到了当时的极限:给尽可能分散的人群各测几份高覆盖基因组,让后续的分析不必再为「样本来自哪里、用什么方法测的」这些技术问题打折扣。一屏速览见下表。

维度 内容
全称 Simons Genome Diversity Project
常用简称 SGDP
牵头方 哈佛医学院遗传学系 Reich 实验室,通讯作者 David Reich
资助方 西蒙斯基金会,另获美国国家科学基金会资助
论文 Mallick 等,2016 年 9 月 21 日《Nature》第 538 卷,201 至 206 页
论文口径 300 名个体,142 个群体
ENA 描述口径 301 名个体,146 个群体
测量对象 全基因组,配对抗读,单一机构测序
平均覆盖 43 倍,范围 34 至 83 倍
建库方式 278 份为无 PCR 建库,其余用常规建库
参考组装 hs37d5 / hg19
公开层 掩码全基因组序列、VCF、eigenstrat、STR 基因型、CNV
变异规模 约 3440 万个单核苷酸多态、约 210 万个 indel、160 万个 STR
原始读段 ENA 开放 279 份;21 份受知情同意限制,需经 EGA 申请
表型 无。仅群体、片区、语言三项标签
许可 ENA 开放层无附加限制;项目方要求遵守 Fort Lauderdale 原则
一句话定位 群体分散度优先的深测参照集,不是频率数据库,也不是临床队列

§1 它要解决的具体麻烦

1.1 已有的大项目,人群选错了

2016 年之前,人类全基因组测序的最大宗资源是千人基因组计划与各类医学队列。它们的共同特点是:取样集中在人口基数大、医疗体系完善、遗传学研究历史长的族群上。千人基因组的 26 个群体里,欧洲、东亚、南亚、美洲与撒哈拉以南非洲各占一块,比例大体按「研究需要」而非「人类多样性」配置。

这带来一个结构性问题。人类遗传多样性绝大部分存在于非洲内部的多个狩猎采集与放牧群体之间,而这些群体的人口往往只有几千到几万人,居住地偏远,既不在常规医疗系统里,也不在这些大项目的取样名单上。它们的缺失不是遗漏,而是取样逻辑的必然结果:大项目的样本量要撑起统计功效,就必须挑人多的群体。

SGDP 的切入点正好反着来。它不追求每个群体的样本量,只追求群体数的上限。300 人被摊到 142 个群体,平均每个群体两人左右,有的群体只有一人。这样的设计在频率估计上几乎无用,但在系统发育重建、混合历史推断、变异目录完整性检验上极为有用,因为这些分析在意的是「这些群体有没有被采到」,不是「采了多少人」。

论文开头对此有直白的表述:已有的测序研究多集中于人口众多的群体,容易忽略对人类多样性同样重要的小群体,而且不少研究的覆盖度只有四到六倍。这句话同时点出了两个缺口:人群的缺口与深度的缺口。

1.2 三条常见的错误期待

常见期待 实际情况
以为它是一份可以用来看「某变异在各人群频率」的表 每个群体平均两人,估出的频率抽样误差极大,只能当定性参照
以为它是 HGDP 的测序版,两者可视为同一套 重叠的只是部分个体与群体标记,取样年代、数据层与用途都不同
以为 300 份数据全部可以从一个地方下到 开放 279 份,另 21 份在 EGA,需要签署协议才能取

1.3 它能给到的与给不到的

需求 它给的 够不够
覆盖尽可能多群体的参考基因组 142 个群体的深测基因组,涵盖大量其他项目未收录的群体 够,这是它的主场
变异目录的完整性检验 可反查千人基因组漏掉的多态位点 够,论文给出了具体比例
系统发育与混合历史的推断 深测数据可直接用于定相与局部祖源推断 够
某个群体内常见变异的频率 群体内样本量个位数 不够,需换千人基因组或 gnomAD
基因型与疾病或性状的关联 无任何表型字段 不够,完全无法做
多时间点的纵向数据 一人一份,无重复采样 不够
长读段或组装级别的结构信息 短读配对,虽有组装但以变异发现为目的 部分够,深度结构变异需看别的资源
现代流程的参考坐标 hg19 / hs37d5 需自行做坐标转换

1.4 你的处境与它能帮到的事

你的处境 它能帮你什么 下一步该做什么
正在做一份人类变异的全球分布图,发现欧亚人群密集、非洲内部稀疏 补入 142 个群体的深测基因组,把稀疏处填上一批 先用论文的补充数据表核对群体清单,再按群体标签合并
要检验自己的变异检出流程是否遗漏群体特异的多态 用一个来自边缘群体的样本做阳性对照 取该样本的掩码 BAM 与官方 VCF,重跑后比对差异
想在古 DNA 分析里找现代参照群体 深测现代基因组可直接作为混合建模的候选来源 注意参考坐标是 hg19,古 DNA 流程若用 GRCh38 需先统一
在为某个小语系群体设计新采样 论文的群体与语言标签可作为命名与分组的起点 用官方补充表确认该群体是否已被收录及其人数
要做东亚人群的选择清除扫描 部分群体只有一到两人,种群内统计功效不足 改用千人基因组东亚超群体,SGDP 仅做旁证
要训练一个跨人群的基因型模型 300 份深测全基因组,适合做高置信训练集 明确说明训练集不含表型,模型任务只能是变异层面的

1.5 一句话判断

如果目标是让分析样本在人类多样性上尽可能分散,又要求每个样本本身的质量足够高,SGDP 至今仍是难以替代的一批;如果目标是估频率、找关联、做群体内统计,它的样本量从设计上就不承担这些任务。

1.6 不适合谁:四条边界

第一,不适合做等位基因频率估计的人。一个样本常常代表一个群体,这在 SGDP 的编号表里一目了然。142 个群体分到 300 人,多数群体只有一到两人,另有少数群体三到五人。用这样的样本算出的频率,其置信区间宽到无法支撑任何定量结论。频率类工作应当转向千人基因组的超群体层面,或 gnomAD 这类每群体上千人的资源。

第二,不适合做基因型与表型关联的人。SGDP 的样本侧元数据只有群体、片区、语言三项,没有年龄、性别之外的任何生物学测量,更没有病史、生化指标或随访。任何以「变异与某性状相关」为目标的分析,从一开始就缺因变量的那一半。

第三,不适合需要完整 300 份数据的人。公开层是 279 份,另外 21 份的知情同意文件不允许完全公开,只能由研究者向数据访问委员会提交含有四项承诺的签署信函后取得。如果一项研究在设计上要求覆盖全部群体,就必须把这一部分纳入申请流程,而不是默认全部可得。

第四,不适合把 SGDP 当作 HGDP 替代品的人。两者共享部分个体与群体标记,但 HGDP 的价值在于一份三十年可反复重测的实物面板与多平台历史数据,SGDP 的价值在于一次性高覆盖深测序。用 SGDP 覆盖 HGDP 的历史层,会丢掉跨平台比较与实物再取样的能力。

§2 数据构成与规格

2.1 三层公开物:读段、基因型、衍生件

SGDP 的交付不是单一文件,而是三层内容,用途与体量差别很大,混在一起谈容易出错。

第一层是原始读段。ENA 上的 397 条 run 对应 279 个样本,全部为 Illumina HiSeq 2000 的配对抗读。单条 run 的序列量在百亿碱基量级,单样本合计从约 102 Gbp 到约 783 Gbp 不等。这一层是唯一能重跑全部分析的入口,也是体量最大的一层。

第二层是基因型与掩码序列。论文把 GATK 处理后的结果做成可以直接用 FTP 下载的紧凑文件,并配套分析软件。掩码是按过滤等级生成的,论文推荐用于多数分析的一级掩码,每样本平均保留 2.13 Gb 可比对序列。在这一层之上给出的是 3440 万个单核苷酸多态与 210 万个 indel。

第三层是衍生件:FermiKit 从头组装产出的 580 万碱基参考基因组缺失序列,作为诱饵序列可提升读段比对率;lobSTR 给出的 160 万个短串联重复基因型,与毛细管电泳结果的相关性达 0.92;以及独立流程调用的拷贝数变异。这三类衍生件不是每项分析都会用到,但在特定任务里是唯一的入口。

2.2 样本侧字段的完整字典

字段 类型 含义 可否用于筛选
样本编号 字符串 ENA 的 SAMEA 号,开放层的唯一键 是,主键
样本别名 字符串 形如 HGDP01163、zapo0099 一类的短名 是,最常用的检索键
群体 字符串 群体名,142 个取值 是,主要分组变量
片区 枚举 七大片之一 是,粗分组首选
语言 字符串 语系或语族标签 是,用于文化维度分组
覆盖度 浮点 该样本在论文口径下的覆盖倍数 是,质量控制
掩码等级 整数 过滤严格程度,等级九最严 是,决定可用碱基数
受限标记 布尔 是否属于需签署协议的 21 份 是,决定访问路径

真正每天用得上的只有四列:样本别名、群体、片区、受限标记。前一列用于精确取样本,中间两列用于分组,最后一列决定能不能直接下载。

2.3 案例解剖:HGDP01163 的一条记录

取 HGDP01163 这个样本,它在各交付层里的样子如下。

#-- 假设取 SAMEA3302758,别名 HGDP01163
sample_accession   -> SAMEA3302758
sample_alias       -> HGDP01163
region             -> West Eurasia
coverage           -> 由论文补充表给出,非 ENA 字段
runs               -> 若干条 ERR 号,均为 HiSeq 2000 配对抗读

#-- 基因型层,一级掩码
mask_level         -> 1
usable_bases       -> 约 2.13 Gb
variants           -> VCF 或 eigenstrat 中的一行或多行

#-- 名称本身透露的信息
prefix "HGDP"      -> 该样本源自 HGDP 细胞系,不是新采集

回到 §2.3 的案例,SAMEA3302758 这个例子说明了一件事:SGDP 里「编号」本身就是信息。ENA 的样本别名大量沿用既有面板的编号体系,凡是带 HGDP 前缀的,都指向人类基因组多样性计划保存的细胞系;凡是形如 CEPH 编号或群体缩写加序号的,则对应另一批来源。看一眼别名,就能大致判断这个样本是不是「老样本新测序」。

2.4 两个口径并存:论文与 ENA 描述页

同一批数据在官方页面出现了两套规模表述,这是使用时最容易踩的第一个坑,必须并列写清。

口径 个体数 群体数 出处与性质
论文口径 300 142 2016 年《Nature》正文与摘要,经同行评议
ENA 描述口径 301 146 PRJEB9586 项目描述段,由提交方撰写
开放层 279 未单列 论文数据可得性段与 ENA 实际样本数一致
受限层 21 未单列 论文数据可得性段,存于 EGA
作者手稿版标注 277 与 23 未单列 PMC 收录的作者手稿本数据可得性段,与正式发表版不一致

这张表里最值得注意的是最后一行。论文的正式发表版写公开 279 份、受限 21 份,而在 PMC 收录的作者手稿本里写的是公开 277 份、受限 23 份。两处都出自同一篇文章,差别在于版本先后与统计时点。ENA 实际可检索到的样本是 279 个,这与正式发表版一致。

ENA 描述段的 301 与 146 则是另一回事。它不区分公开与受限,统计的是提交时登记在案的全部分子样本与群体标签,其中既包括最终被排除的分析对象,也可能包括同一群体内后来又归并的标签。因此它不是对论文数字的修正,而是一种不同的计数规则。

引用时的安全写法是:写「论文报告 300 名个体、142 个群体,原始数据经 ENA 公开 279 份」,把三个数字各自绑定到各自的出处,不做加总也不做换算。

2.5 按片区看样本分布

官方云端提供的一份项目说明给出了按片区统计的样本构成,七个片区合计 279,与开放层数字吻合。这一节只列片区级的规模与结构,不做任何频率或比例推断。

片区 样本数 说明
非洲 44 含多个狩猎采集与放牧群体
美洲 22 以中南美洲与北极圈附近群体为主
中亚与西伯利亚 27 与北亚、内陆亚洲的语系分布交叉
东亚 47 含东南亚与东北亚多个小群体
大洋洲 25 含澳大利亚原住民与新几内亚群体
南亚 39 覆盖南亚次大陆与安达曼群岛
西欧亚 75 覆盖欧洲、中东与高加索

这张表能说明的是结构,不是分布:它告诉使用者「七大片区都有」,而且是七片区口径而非更细的十二片或十六片。若要按更细的地理单位分组,只能回到论文的补充数据表,逐个群体核对归属,那一步无法用这张表替代。

2.6 与同类资源的字段差异

维度 SGDP HGDP 千人基因组
取样年代 2010 年代前后,部分沿用旧细胞系 1980 年代起,淋巴细胞系长期保存 2008 至 2015 年,三阶段滚动
个体数 300 1,050 2,504
群体数 142 五十余 26
测序深度 均值 43 倍 以芯片为主,2020 年补 929 人高深度 低覆盖为主,另有 30 倍子集
表型 无 无 无(以健康声明为主)
测序机构 单一机构 多机构、多平台、多年代 多中心
主要用途 群体分散度与深测质量兼顾 实物面板与多平台历史 频率、关联与变异目录

§3 三层身份:一个计划、一批样本、一套数据

3.1 计划层:从试点到 300 份

SGDP 不是一次立项就成型的,它的轮廓可以从 SGDP 的样本编号里直接读出来:SGDP 的编号混着新旧两类材料,测序却是新的。它的前身是 2013 年随尼安德特人高覆盖基因组论文一并公开的一小批深测现代人基因组,当时的说明里称之为试点,并写明了后续规划的目标规模。试点样本绝大多数来自既有细胞系,其中十份来自人类基因组多样性计划的面板,另一份是苏丹的丁卡人。

这份试点材料对理解后来数据的气质很关键:它的取样范围很窄,但测序极深,且各样本在同一批测序池里跑,人为差异被压到最低。后来正式启动的项目,把这套「单一机构、统一协议、深覆盖」的做法放大到 300 份。

计划由西蒙斯基金会出资,美国国家科学基金会另有资助。基金会一侧的公开页面长期只挂着 2013 年那份试点说明,写的是「将产生 250 份基因组、125 个群体」的规划值。这个规划值与 2016 年论文的 300 与 142 不一致,是规划与最终执行之间的差异,不是数据错误。引用项目规模时应当以论文为准。

3.2 样本层:新旧两类来源

300 份样本按来源可以粗分成两类。

第一类是新采集。项目组为此专门在多个地区采集了此前未被充分覆盖的群体的样本,这些群体多属于狩猎采集、放牧或语言上高度孤立的小规模社群。新采集的样本知情同意文件通常是针对全基因组测序与数据公开专门签署的,因此多数落在公开层。

第二类是沿用旧细胞系。相当一部分样本直接取自既有面板,其中带 HGDP 前缀的编号可追溯至人类基因组多样性计划。沿用旧细胞系的好处是样本已冻存多年、来源可查、可与历史数据对照;代价是这些细胞系的知情同意签署于几十年前,条款未必覆盖全基因组测序与数据完全公开。

第二类正是受限数据的主要来源。论文把 21 份送入受限库,理由写得明确:这些样本的知情同意文件与完全公开数据发布不相容。这也是为什么受限名单集中在部分群体,而不是均匀分布。

3.3 数据层:一次测序,多种交付

一次测序产生的不只是读段,还有一串派生结果。把交付形态按「谁来用」排一下会更清楚。

交付形态 面向的人 体量 门槛
原始 FASTQ 要重跑全部流程的人 数百 GB 到数 TB 无,公开层直接下
比对文件 要改过滤或重判基因型的人 数十 TB 无
VCF 与掩码序列 要做群体遗传分析的人 数十 GB 无
eigenstrat 格式 用专用群体遗传工具的人 数十 GB 无
STR 与 CNV 做特定变异类型的人 GB 级 无
受限基因组 需覆盖全部群体的人 与开放层相当 需签署协议

需要提醒的是,最后一行的门槛不是技术门槛而是法律门槛。签署内容包含四项承诺:不在合作范围外分发、不公开张贴、不试图把遗传数据与个人身份关联、不用于任何商业目的。

3.4 三层之间如何对应

三层之间靠两套键对齐:样本编号与变异坐标。

样本层的键是 ENA 的 SAMEA 号,别名作为人类可读的辅助键。同一个体在 ENA、EGA、论文补充表里可能以不同形式出现,但别名通常一致,因此在跨库拼接时应以别名为主键,而不是以 SAMEA 号。

变异层的键是染色体加位置,坐标体系固定为 hs37d5/hg19。这一点在与其他资源合并时必须核验:2016 年前后的公共资源多以 hg19 为主,而 2020 年之后的流程默认 GRCh38,两套坐标不能直接按位置合并,必须先做 liftover,否则会得到大量假阳性差异。

3.5 编号规则与常见误读

样本别名看似杂乱,实则有规律。带字母前缀的是面板编号,带群体缩写加数字的多为项目自编。常见的误读有两条。

其一,把 HGDP 前缀理解成「这一份就是 HGDP 数据」。实际上它只说明样本材料来自那份细胞系,测序是 SGDP 自己做的,覆盖度、流程与 HGDP 公开的芯片或测序数据都不是同一批产物。

其二,把别名里的数字当作个体在群体内的序号。部分编号确实保留了原始面板的序号,但经过多轮筛选与归并,序号已不连续,有些还被重新分配。做群体内计数时应当以群体字段为准,不要从编号里推算。

§4 它的手艺:把技术差异压到最低

4.1 为什么单一机构测序值得付出成本

多样本比较研究最怕的不是噪声,而是系统性的技术差异。如果 A 群体在甲机构测、B 群体在乙机构测,那么两群体之间的任何差异都同时包含生物学差异与技术差异,而后者往往更大。

SGDP 的做法是把这一项直接消掉:全部样本送同一家测序公司,用同一批试剂、同一型号仪器、同一套读长参数完成。论文对此的表述非常节制,只说在 Illumina 完成测序,几乎全部样本使用同一种无 PCR 建库。

以 HGDP01163 这类样本为例,它们的测序条件与其他样本完全相同,这正是单一机构做法的直接结果。代价是成本与排期。单一机构意味着不能并行分散到多个中心,采样完成后要等测序档期,且所有样本的测序质量受同一批试剂批次影响。收益则是后续分析里可以把批次效应当作零来处理,这对群体遗传学尤其重要,因为该领域关注的差异往往只有千分之几。

4.2 无 PCR 建库解决的是什么

常规建库要经过多轮 PCR 扩增,扩增会引入两类偏差:一是序列组成偏差,鸟嘌呤与胞嘧啶含量极端的区域扩增效率低;二是重复偏差,同一片段被过度扩增,导致读段在基因组上分布不均。

无 PCR 建库绕开这一步,直接把接头连到片段两端。对群体遗传学研究来说,这一步的意义在于覆盖均匀性。群体遗传学的很多统计量对覆盖深度的均匀程度敏感,比如杂合位点的检出率、局部祖源推断的准确度。覆盖均匀,这些统计量才在不同样本之间可比。

论文提到 278 份使用无 PCR 建库,其余少量样本使用常规流程。这个「几乎全部」的措辞很重要:它不是全部,因此在做跨样本比较时,仍应检查那少数样本是否在质量指标上系统性偏低。

4.3 基因型判定为什么要改 GATK

标准流程在做基因型判定时,倾向于把读段判成与参考基因组一致的等位基因,因为参考序列本身就是判定的先验。这个倾向在欧洲人群里影响不大,因为参考基因组与他们的差异本来就小,但在与参考序列差异较大的群体里会系统性地压低杂合位点的检出。

论文对此的处理是在标准工具上加了一处改动,用以消除这种偏向参考的偏倚。这一处改动的意义在后续结果里能看出来:论文报告,在新几内亚人与澳大利亚原住民身上,千人基因组未发现而 SGDP 发现的杂合位点占到一定比例,在科伊桑人身上这个比例更高。这些位点的存在说明,参考偏倚在边缘群体上是可测量的,而不是理论上的担忧。

4.4 掩码:把不可信的区域标出来

深测序不等于处处可信。着丝粒、端粒、片段重复区、低复杂度区域,这些位置在短读测序里天然难以可靠判定。SGDP 的处理不是把这些位置的数据删掉,而是生成一份样本级的掩码,标明哪些碱基可用。

掩码按严格程度分等级,等级越高剔除越多。论文推荐多数分析使用一级掩码,其标准是每样本平均保留 2.13 Gb 的可比对序列。这个数字值得记住:人类基因组约 3.1 Gb,一级掩码保留七成左右,剩下三成是被判定为不可靠或无法比对的部分。

使用掩码时有一个容易忽略的细节:掩码是样本级的,不是位点级的统一清单。这意味着同一个位点在甲样本可用、在乙样本被掩掉。做多样本合并时必须逐样本应用各自的掩码,而不能取交集一次了事,否则会系统性丢失边缘群体的位点。

4.5 从头组装:580 万碱基的意外收获

FermiKit 的用途本来是简化变异发现,但它在 SGDP 上带出了一个副产品:把全部样的短读互相比对后,拼出了一批在参考基因组里找不到的连续序列,合计约 580 万碱基。

这些序列大概率是参考基因组在这些位置发生了缺失,而真实人群里仍然存在。把它们公开的意义在于:当其他研究把这些序列加进参考作为诱饵,原本会被错误比对到别处的读段就能正确归位,从而减少假阳性变异。

这也是 SGDP 常被引用的一个理由:它不仅提供了一份数据,还提供了对参考基因组本身的一处修正。

§5 怎么拿到:两条通道与三种格式

5.1 两条通道的取舍

通道 覆盖范围 拿到的东西 前置条件 边界
ENA 开放层 279 个样本 原始读段、比对文件 无 缺 21 个样本
EGA 受限层 21 个样本 原始读段、比对文件 签署四项承诺信函 不得商用、不得再分发

两条通道的差别不在技术,而在知情同意的措辞。选择哪条通道,取决于研究设计对覆盖完整度的要求有多高。如果只是做群体结构或变异目录的补充分析,开放层足够;如果要声称覆盖了论文列出的全部群体,就必须走受限通道。

5.2 从 ENA 列出全部样本

ENA 的检索接口可以一次返回整批 run 的元数据,这是核对样本数最直接的办法。

#-- 列出 PRJEB9586 的全部 run,导出为制表符文件
curl -s "https://www.ebi.ac.uk/ena/portal/api/search?result=read_run&query=study_accession%3D%22PRJEB9586%22&fields=run_accession,sample_accession,read_count,base_count,instrument_model&format=tsv&limit=0" -o sgdp_runs.tsv

#-- 去重后统计样本数
tail -n +2 sgdp_runs.tsv | cut -f2 | sort -u | wc -l

#-- 列出样本侧的别名与编号
curl -s "https://www.ebi.ac.uk/ena/portal/api/search?result=sample&query=study_accession%3D%22PRJEB9586%22&fields=sample_accession,sample_alias&format=tsv&limit=0" -o sgdp_samples.tsv

这两条命令对应的结果是一个应当记住的核对点:run 数与样本数不等。一个样本可能由多条 run 组成,因此按 run 计数会高估样本量。做样本级统计前必须先按样本号去重。

5.3 批量下载读段

ENA 提供了多种批量下载方式,最省事的是用官方的批量下载脚本,其次是直接按 FTP 地址构造下载。

#-- 生成 FASTQ 的 FTP 地址清单,再用支持断点续传的工具下载
curl -s "https://www.ebi.ac.uk/ena/portal/api/filereport?accession=PRJEB9586&result=read_run&fields=run_accession,fastq_ftp,fastq_md5,fastq_bytes&format=tsv" > sgdp_fastq.tsv

#-- 只看体积,先估算磁盘需求(单位:字节)
awk -F'\t' 'NR>1{n++; split($4,a,";"); for(i in a) s+=a[i]} END{printf "%d runs, %.1f TB\n", n, s/1e12}' sgdp_fastq.tsv

先估磁盘再下载是有必要的。300 个深测全基因组量级的项目里,最容易出的事故不是分析错误,而是下载到一半磁盘满。

5.4 用代码整理样本表

拿到两张表之后,第一件事是把它们拼成一张可用的样本清单。

#-- 把 run 表与样本别名表合成一张样本级清单
import csv, collections

runs = collections.Counter()
bases = collections.Counter()
with open("sgdp_runs.tsv") as f:
    for r in csv.DictReader(f, delimiter="\t"):
        runs[r["sample_accession"]] += 1
        bases[r["sample_accession"]] += int(r["base_count"] or 0)

alias = {}
with open("sgdp_samples.tsv") as f:
    for r in csv.DictReader(f, delimiter="\t"):
        alias[r["sample_accession"]] = r.get("sample_alias", "")

rows = []
for s, n in runs.items():
    rows.append({"sample": s, "alias": alias.get(s, ""), "runs": n,
                 "gbp": round(bases[s] / 1e9, 1)})

rows.sort(key=lambda x: -x["gbp"])
print(len(rows), "个样本;序列量从", rows[-1]["gbp"], "到", rows[0]["gbp"], "Gbp")

这段代码做的是最基础的对齐工作:以样本号为主键,把 run 数与序列量加总。得到的 gbp 列可以当作覆盖度的粗略代理,因为它只算碱基数,未按可比对区域折算,真实覆盖度应以论文补充表为准。

5.5 标注限制与坐标

取到数据之后,还有两处必须处理,否则后续分析会在不知不觉中出错。

§2.3 的案例属于开放层,这一点在编号上就有标记;第一处要处理的是受限样本。如果研究要求覆盖全部群体,应当在样本清单里加一列标记哪些样本来自受限通道,并在方法里写明这部分数据的获取方式。把受限样本的数据混在开放层里一起分析本身不违规,但披露义务是明确的。

再把 §2.3 的案例放进这条轨道,第二处要处理的是参考坐标。SGDP 的坐标是 hg19/hs37d5。若后续流程用 GRCh38,需要一次 liftover,并且要接受 liftover 会丢掉一部分无法映射的位点。丢掉的部分在边缘群体上可能不成比例,因为参考基因组本身对这些群体的代表性就差,这正是 SGDP 论文着力解决的那个问题的残余。

5.6 一条最小可用路径

如果只是想用 SGDP 做一次群体结构复核,最短的路径是取论文配套的 eigenstrat 格式文件,而不是自己从读段重跑;对 HGDP01163 这类已有历史芯片数据的样本,这条路径还能顺手把新测序结果与旧数据对上。这条路径省掉比对与基因型判定,代价是失去对过滤策略的控制。

步骤 动作 耗时量级
一 下载 eigenstrat 文件与样本注释表 分钟级
二 应用推荐过滤等级,剔除非常染色体位点 分钟级
三 与待比对的资源取位点交集 分钟级
四 跑主成分分析与混合成分分析 小时级
五 核对群体标签与片区归属是否一致 分钟级

第五步看起来多余,实际经常出问题。不同来源的样本注释表里,片区名称可能写作「中亚与西伯利亚」或拆成「中亚」「西伯利亚」两列,合并时会静默产生空值分组。

§6 与库内条目的关系

6.1 关系图谱

库内相关词条 与本词条的关系 一句话区隔
HGDP 面板 最主要的同源资源,样本层有重叠 HGDP 是长期保存的细胞系面板与多平台历史数据,SGDP 是一次性深测序
千人基因组 同类竞争的深测资源,人群覆盖互补 千人基因组重频率与常见变异,SGDP 重群体分散度与深测质量
HPRC 时间上更晚的高质量组装资源 HPRC 走长读段与端粒到端粒组装,SGDP 是短读深测
各类古 DNA 数据 现代参照的上游依赖 古 DNA 分析常拿 SGDP 做现代群体来源的候选集
gnomAD 频率层的主要替代 gnomAD 每群体上千人但遍布性弱,SGDP 反之

这几条关系里,与 HGDP 的关系最容易被误解,下面单列一节拆开。

6.2 检索路径

你的问题 该去哪 理由
要一份可反复重测的实物面板 HGDP SGDP 不提供实物分发
要每个群体上百人的频率 千人基因组或 gnomAD SGDP 群体内样本量只有个位数
要边缘小群体的深测现代参照 本文 这是它的设计目标
要端粒到端粒级别的组装 HPRC SGDP 是短读,组装仅用于变异发现
要做群体规模的选择清除扫描 千人基因组超群体加 HGDP 需要群体内足够个体数

§7 质量评估与局限性

7.0 阅读本节前的一个前置校正

评估 SGDP 时最容易犯的错,是拿评估频率数据库的尺子来量它:问它每个群体有多少人、能不能估出稳定的等位基因频率、能不能做关联分析。这些维度上它必然低分,因为它的设计从一开始就不承担这些任务。

正确的评估框架是:在「用有限的预算把人类多样性的空间覆盖最大化,同时让每份数据的质量足够高」这个目标上,它做到了什么程度,以及这个取舍换来了哪些不可逆的损失。把这一点校正过来,后面的评分才不会读歪。

7.1 五维评分

维度 分数 依据
覆盖广度 5 / 5 142 个群体、七大片,包含大量其他资源未收录的群体
数据质量 5 / 5 单一机构、均值 43 倍、几乎全部无 PCR 建库
群体内深度 1 / 5 每群体平均两人,无法做群体内统计
表型配套 1 / 5 无任何表型、病史或随访字段
可追溯性 4 / 5 论文给出完整流程与过滤等级,逐样本日志不公开

7.2 DAIMS 视角下的四条线

DAIMS 线 SGDP 的表现
数据获取与处理 单一机构统一流程,论文给出流程与工具版本,但逐样本处理日志不公开
数据建模 样本乘位点的基因型矩阵,模型简单,坐标固定为 hg19
数据溯源 每份样本可追到 ENA 或 EGA 编号与论文补充表,粒度到样本
数据使用与治理 开放层无附加限制但要求遵守 Fort Lauderdale 原则,受限层另签协议

四条线里最稳的是获取与处理,最弱的是治理。治理的弱点不在于条款缺失,而在于条款分散:开放层的使用要求写在论文正文,受限层的写在签署信函里,项目官网只挂着 2013 年的试点说明,没有一个统一的许可页面。

7.3 已知的、可枚举的边界

第一,群体内样本量。像 HGDP01163 这样来自旧面板的样本,往往就是一个群体的全部或大部,人数再少也没有补采的空间。这是设计使然,不是缺陷,但它决定了所有需要群体内统计的方法都用不上。

第二,样本来源混合。新采集与旧细胞系两类样本并存,前者的知情同意与后者不同,二者在数据可得性上的差异不是随机分布的。

第三,参考坐标陈旧。hg19 在 2016 年是合理的默认,今天已成为负担。把 HGDP01163 与它的历史芯片数据放在一起时,这一层负担最直观:两批数据必须先统一到同一坐标,否则位点根本无法对齐。

第四,覆盖度并不齐整。论文报的是均值与范围,实际分布偏向高覆盖一侧,因此少数低覆盖样本在任何「按覆盖度加权」的分析里都要单独处理。

第五,群体标签的粒度。§2.3 的案例之所以能一眼看出新旧来源,靠的正是别名里的前缀,而前缀与群体标签之间并不总是一一对应。142 个群体标签是研究设计与语言文化分类的产物,与行政地理或现代族群认同不完全对应,跨研究合并时要核对标签口径。

7.4 外部验证

验证角度 外部证据 结论
变异目录完整性 论文报告千人基因组未发现的杂合位点比例 在边缘群体上可测且可观
参考基因组缺口 580 万碱基参考缺失序列被公开为诱饵 已被后续流程采用
STR 基因型质量 与毛细管电泳结果相关性 0.92 可用于群体关系重建
长期使用情况 被古 DNA 与群体遗传研究广泛引为现代参照 十余年持续在位

7.5 它为何能持续:一批难以替代的样本

SGDP 没有像许多资源那样滚动更新,它基本是一次性交付。能持续被使用,原因不在维护,而在样本本身难以复制。

一是取样窗口。部分群体在采样时的可及性与知情同意条件,今天已经很难重现。二是测序条件。单一机构、统一协议、均值 43 倍,这个组合在 2016 年不容易,在今天也不便宜。三是参照地位。古 DNA 研究、混合建模、变异目录检验这三类工作长期需要一个「覆盖足够分散、质量足够统一」的现代参照集,SGDP 正好填了这个位置。

这也意味着它的寿命不取决于维护方是否活跃,而取决于有没有另一个资源同时满足「群体分散」与「数据统一」两条。

§8 生态位与历史

8.1 时间线

时间 事件
2013 年 12 月 25 份深测现代人基因组随尼安德特人高覆盖论文一并公开,作为试点
2013 年 12 月 基金会页面写明规划:250 份基因组、125 个群体
2015 年 6 月 ENA 项目首次公开,比论文正式发表早一年多
2016 年 5 月 ENA 记录最后一次更新
2016 年 9 月 论文在《Nature》发表,报告 300 名个体、142 个群体
2016 年之后 数据不再滚动更新,以固定的几套产物形式流通

这条时间线里有一处值得注意:ENA 首次公开比论文早一年多,意味着数据在 2015 年就已在可下载状态。这段时间差是当时人类基因组资源公开的常见做法,好处是同行能提前使用,代价是在两个时间点引用的样本数可能不同。

8.2 与同期另两份面板的分工

2016 年前后,有三份常被放在一起比较的群体遗传资源:SGDP、HGDP 与千人基因组。三者的取样逻辑完全不同,却经常在同一张图上出现。

千人基因组的逻辑是「深度换广度」:每个群体上百人,把变异的频率估准。HGDP 的逻辑是「实物换时间」:把样冻起来,三十年内反复重测。SGDP 的逻辑是「广度换深度」:每个群体只取一两人,但每人测到深覆盖。三者的形状不同,因为优化的变量不同。

这三份资源之间是互补关系而非替代关系。做频率用千人基因组,做历史推断用 SGDP,做长期实物参照用 HGDP。

8.3 在古 DNA 研究里的位置

古 DNA 在过去十年成为群体历史的主要证据来源,而它的每一项结论都要靠现代参照来支撑:这个古个体与今天哪个群体最近、这块大陆上发生过几次替换、外来基因流的方向如何。

SGDP 在这个角色上之所以好用,原因与它的设计直接相关。古 DNA 样本往往来自今天的边缘地区,用千人基因组做参照时,参照集里没有与之对应的现代群体,只能退而求其次用地理上最近但遗传上并不相近的群体,这会产生系统误差。SGDP 恰好把那些对应群体采了进来。

这也是为什么 SGDP 的引用量远高于它的样本量所反映的程度。它的价值不在于「300 份」,而在于「这 300 份分布在哪些群体」。

8.4 今天的用法

今天使用 SGDP 的典型场景有三类,HGDP01163 这类「旧面板 + 新测序」的样本在每一类里都扮演着桥接角色。

第一类是现代参照。古 DNA 或混合建模分析需要一个跨群体的现代参照集,SGDP 是最常用的选择之一。

第二类是变异发现的上游。做变异目录合并时,SGDP 常被用作「补充集」,用来发现千人基因组或芯片平台遗漏的多态。

第三类是方法学基准。因为样本在同一机构测、同一协议跑,SGDP 是检验新流程是否能正确处理多群体数据的合适夹具。用多中心数据做基准时,很难区分「流程不好」与「数据批次差异」。

8.5 未来的位置

两个方向正在接续 SGDP。SGDP 之后,人类群体遗传资源的重心向两个方向移动:一是长读段与完整组装,二是每群体上千人的频率资源。前者解决的是结构变异与复杂区域的读法,后者解决的是频率精度。

这两个方向都不取代 SGDP。SGDP 在长读段资源里缺少对手的,恰恰是群体分散度;在频率资源里缺少对手的,是单样本的深度与一致性。因此在可预见的范围内,它更可能以「参照集」的身份长期存在,而不是被后续资源整体替换。

§9 使用指引

9.1 三种角色的路径

做古 DNA 与群体历史的人:最短路径是直接取论文配套的 eigenstrat 或 VCF,不要从读段重跑。要点是把 SGDP 与目标古样本统一到同一坐标、同一位点交集后,再做混合建模。凡是涉及澳大利亚、新几内亚、安达曼这类群体的分析,SGDP 往往是唯一可用的现代参照。

做变异目录与流程评测的人:需要取读段。做法是选若干覆盖度高、群体边缘的样本,用自己流程重跑,再与官方 VCF 比对。重点不在一致率有多高,而在差异是否集中在特定类型的位点,比如 indel 或低复杂度区。

做机器学习与统计方法的人:SGDP 适合当作「多群体、单机构、深覆盖」的测试集。它的样本量小但质量统一,便于在小数据上验证方法是否对群体结构敏感。需要注意的是,训练集人数太少,任何依赖样本量的方法在这里都会失真。

9.2 一条最短的可用流程

#-- 一、取样本清单并核对数量
curl -s "https://www.ebi.ac.uk/ena/portal/api/search?result=read_run&query=study_accession%3D%22PRJEB9586%22&fields=run_accession,sample_accession&format=tsv&limit=0" -o runs.tsv
tail -n +2 runs.tsv | cut -f2 | sort -u | wc -l

#-- 二、取样本别名,确认哪些带 HGDP 前缀
curl -s "https://www.ebi.ac.uk/ena/portal/api/search?result=sample&query=study_accession%3D%22PRJEB9586%22&fields=sample_accession,sample_alias&format=tsv&limit=0" -o samples.tsv
grep -c "^SAMEA[0-9]*	HGDP" samples.tsv
#-- 三、按群体归并,给每个样本打上来源标签
import csv, collections

alias = {}
with open("samples.tsv") as f:
    for r in csv.DictReader(f, delimiter="\t"):
        alias[r["sample_accession"]] = r.get("sample_alias", "")

by_source = collections.Counter()
for s, a in alias.items():
    by_source["HGDP 细胞系" if a.startswith("HGDP") else "其他来源"] += 1
print(by_source)

这段代码的意义在于把「新旧两类来源」变成可操作的分组。后续凡是要做跨样本比较,都应当先检查这两组的覆盖度与过滤等级是否齐整。

9.3 引用方式

引用 SGDP 要写到三层。

第一层是论文。标准写法是 Mallick 等人 2016 年发表于《Nature》第 538 卷、201 至 206 页的那篇,数字编号为 18964 结尾。注意论文有两处版本差异:正式发表版与作者手稿本在开放样本数上不同,引用开放样本数时应以正式发表版为准。

第二层是数据。写明 ENA 的项目号与次级研究号,以及实际下载日期。若用到受限样本,须同时写 EGA 的研究号。

第三层是版本与坐标。写明参考组装为 hg19/hs37d5,以及所用的过滤等级。只写「用了 SGDP」而不写过滤等级,结果无法复现。

§10 AI 使用声明

项目 说明
本页 AI 参与程度 由 AI 助手依据官方页面、ENA 记录与论文全文起草,人工核对数字
数字来源层级 见附录 B,论文与 ENA 记录为一级
版本信息 以 2026 年 10 月 29 日读取的 ENA 记录与论文版本为准
已知不一致 论文正式版写开放 279 份,作者手稿本写 277 份;ENA 描述段写 301 人、146 个群体
未核实项 论文补充数据表未逐行核对,群体级别的人数分布未在此列出
适用边界 本文描述数据集本身的结构、规模与边界,不评价任何具体研究结论
更新机制 数据不再滚动更新,本文不承诺随外部镜像变化而刷新

常见误读(避坑清单)

常见说法 实际 证据
「SGDP 就是 HGDP 的测序版」 两者是不同项目、不同年代、不同实物,只有部分样本重叠 论文与基金会页面分别描述,样本别名中 HGDP 前缀只占一部分
「300 份都能直接下载」 公开 279 份,21 份在 EGA 需签协议 论文数据可得性段与 ENA 实际样本数
「ENA 上写 301 人,论文写错了」 两个口径的计数规则不同,非对错问题 ENA 项目描述段与论文正文并列
「可以用它估各人群等位基因频率」 每群体平均两人,频率误差极大 论文的 300 人 142 群体设计
「它有表型,可以拿来做关联」 无任何表型、病史或随访字段 样本侧元数据只有群体、片区、语言
「数据是 GRCh38 坐标」 参考组装为 hs37d5/hg19 论文方法段明确写明了组装版本
「300 份都用了无 PCR 建库」 278 份用无 PCR,其余用常规建库 论文方法段的原文表述
「开放数据和受限数据使用条款一样」 受限数据明确禁止任何商业用途 论文给出的签署信函四项承诺
「它是 HGDP 那样的实物面板,可以申请样本」 只有数据分发,没有实物分发 基金会与论文页面均未提供样本申请通道
「覆盖度 43 倍意味着每份都 43 倍」 43 是均值,范围 34 至 83 倍 论文方法段给出范围
「它还在不断加样本」 2016 年后基本不再更新 ENA 记录的最后更新停在 2016 年 5 月

FAQ

Q1:SGDP 到底有多少份基因组?

分三个数字看。论文口径是 300 名个体、142 个群体。ENA 上可检索到的开放样本是 279 个,对应 397 条 run。另有 21 份在 EGA,需签署协议。ENA 项目描述段写的是 301 人、146 个群体,那是提交方的计数规则,与论文口径并列而非替代。

Q2:它和 HGDP 到底差在哪?

差在实物、年代与方法三处。HGDP 是 1980 年代起采集并长期保存的淋巴细胞系,可按学术协议申请 DNA,历史上以芯片与微卫星为主,2020 年才补了 929 人高深度测序。SGDP 是 2010 年代前后为此计划采集的样本加部分旧细胞系,一次性在单一机构做均值 43 倍的深测序。两者的群体有大量重叠,数据层与用途完全不同。

Q3:为什么每个群体只有一两个人?

因为预算与目标。300 份深测全基因组的成本很高,而项目要解决的是「多样性覆盖不全」而不是「频率估不准」。把有限的样本摊到尽可能多的群体上,是这个目标下的最优解。代价是群体内统计全部不可用。

Q4:能用它做什么最合适?

三件事:古 DNA 与混合建模的现代参照、变异目录完整性检验、多群体流程的基准测试。这三件事都要求群体分散且数据一致,而不要求群体内样本量。

Q5:数据可以商用吗?

开放层在 ENA 上没有附加使用限制,但论文要求遵守 Fort Lauderdale 原则,核心是不得试图识别个体。受限层的协议明确禁止商业用途。商用前须逐项确认所用样本属于哪一层。

Q6:坐标是 hg19,会不会很麻烦?

会有一点。用 GRCh38 的流程需要先做 liftover,过程中会丢掉部分无法映射的位点。如果分析的重点在边缘群体的特异位点,建议在 hg19 上完成主体分析,只在必要时转换。

Q7:为什么不直接用它的 VCF 而要重跑读段?

如果你接受论文的过滤策略与基因型判定,VCF 足够。如果你要检验新的变异调用方法、或者需要论文未提供的中间产物,就必须从读段重跑。重跑的代价是数 TB 下载与大量计算。

Q8:它有没有古 DNA 样本?

没有。SGDP 全部是现代人的基因组。项目名里的「多样性」指的是现代人群之间的多样性,与时间维度无关。

Q9:为什么说它「不再更新」?

ENA 记录的最后更新是 2016 年 5 月,之后没有新的样本加入。项目本身在论文发表后即告完成,没有像某些资源那样滚动扩样。这与它的定位一致:一份固定的参照集,而不是持续生长的数据库。

Q10:文献里提到的 580 万碱基是什么?

那是 FermiKit 从头组装出来的、在参考基因组里找不到的连续序列。它们大概率是参考基因组在这些位置发生缺失、而真实人群里仍然存在的序列。公开后可作为诱饵序列,改进读段比对。

术语表

术语 含义
全基因组测序 对个体全部核 DNA 做高通量测序,区别于只测特定区域的芯片或外显子测序
覆盖度 基因组每个碱基平均被测到的次数,以倍数表示
无 PCR 建库 建库过程不做 PCR 扩增,减少扩增引入的偏差
配对抗读 从片段两端各读一段,测序仪输出成对的读段
hs37d5 / hg19 人类参考基因组的两个常用版本标识,hs37d5 是在 hg19 上加了诱饵序列的版本
诱饵序列 加在参考里的额外序列,用于吸附本不该比对到主基因组的读段
掩码 标记每个样本哪些碱基可信、哪些需剔除的文件
过滤等级 掩码的严格程度分级,等级越高剔除越多
单核苷酸多态 单个碱基位置上存在两种以上等位基因的变异
indel 插入或缺失型变异
短串联重复 一到六个碱基为单位的串联重复序列,长度多态性高
拷贝数变异 一段 DNA 的拷贝数在不同个体间存在差异
eigenstrat 群体遗传学常用的基因型矩阵格式,配套主成分分析等工具
主成分分析 把高维基因型压缩到少数几个维度以观察群体结构的方法
混合成分分析 估计每个个体的祖源成分比例的方法
连锁不平衡 邻近位点等位基因非随机关联的现象
参考偏倚 基因型判定流程倾向把读段判成与参考基因组一致的等位基因
Fort Lauderdale 原则 基因组数据共享的一套惯例,核心是数据开放但不得试图识别个体
受限访问 需经数据访问委员会批准才能获取的数据层级
知情同意 样本提供者对样本用途与数据共享范围的事先授权
liftover 把一套坐标体系下的基因组位置转换到另一套坐标体系
淋巴细胞系 用病毒转化 B 细胞后获得的可以无限增殖的细胞,用于长期保存 DNA

附录 A:核心数字核对表

项 值 来源 来源层级
论文口径个体数 300 论文摘要 一级
论文口径群体数 142 论文摘要 一级
ENA 描述段个体数 301 ENA 项目描述 一级
ENA 描述段群体数 146 ENA 项目描述 一级
ENA 开放样本数 279 ENA 样本检索结果 一级
ENA run 数 397 ENA run 检索结果 一级
受限样本数 21 论文数据可得性段 一级
作者手稿本开放数 277 PMC 作者手稿本 一级
平均覆盖度 43 倍 论文方法段 一级
覆盖度范围 34 至 83 倍 论文方法段 一级
无 PCR 建库数 278 论文方法段 一级
一级掩码保留量 每样本平均 2.13 Gb 论文方法段 一级
单核苷酸多态数 约 3440 万 论文方法段 一级
indel 数 约 210 万 论文方法段 一级
短串联重复数 160 万 论文方法段 一级
STR 与毛细管一致性 0.92 论文方法段 一级
参考缺失序列 580 万碱基 论文摘要与方法段 一级
七个片区开放样本合计 279 官方云端项目说明 二级
试点规划规模 250 份、125 个群体 基金会页面 二��

附录 B:数字的来源分层

一级:论文与 ENA 记录。 包括摘要中的个体数与群体数、方法段的覆盖度与掩码标准、数据可得性段的公开与受限份数,以及 ENA 检索接口返回的样本数与 run 数。本文所有规模数字都取自这一层,并且三处不一致的表述并列写出而不做裁决。

二级:官方云端项目说明。 按片区统计的样本构成取自一份第三方云平台的官方项目说明。这份说明与论文数字吻合,但它不是项目方原始发布,因此列为二级。

三级:未核实。 论文补充数据表逐一列出的群体名单与每群体人数未在此逐行核对,本文只给出群体总数与片区合计,不列逐群体人数。

附录 C:完整参考文献

  1. Mallick S, Li H, Lipson M, Mathieson I, Gymrek M 等. The Simons Genome Diversity Project: 300 genomes from 142 diverse populations. Nature, 2016, 538(7624): 201-206. 数字编号 18964 结尾,PMID 27654912。
  2. ENA 项目 PRJEB9586(次级研究号 ERP010710),项目描述段与样本、run 检索结果,2026 年 10 月访问。
  3. EGA 研究 EGAS00001001959,受限基因组访问入口,2026 年 10 月访问。
  4. 西蒙斯基金会 SGDP 页面,2013 年 12 月的试点说明与规划值,2026 年 10 月访问。
  5. 官方云端平台的 SGDP 项目说明,按片区统计的样本构成,2026 年 10 月访问。
  6. 国际基因组样本资源(IGSR)站点,千人基因组阶段三发布说明,用于 §2.6 与 §8.2 的对照。
  7. HGDP 相关文献与 CEPH 面板页面,用于 §6 与对照章节。

附录 D:取数代码

#-- 完整的最小脚本:列样本、分组、估量、存盘
import csv, collections

runs = {}
with open("runs.tsv") as f:
    for r in csv.DictReader(f, delimiter="\t"):
        s = r["sample_accession"]
        runs.setdefault(s, []).append(r["run_accession"])

alias = {}
with open("samples.tsv") as f:
    for r in csv.DictReader(f, delimiter="\t"):
        alias[r["sample_accession"]] = r.get("sample_alias", "")

rows = []
for s, rs in runs.items():
    a = alias.get(s, "")
    rows.append({
        "sample": s,
        "alias": a,
        "runs": len(rs),
        "source": "HGDP" if a.startswith("HGDP") else "other",
    })

rows.sort(key=lambda x: x["sample"])
with open("sgdp_panel.tsv", "w", newline="") as f:
    w = csv.DictWriter(f, fieldnames=["sample", "alias", "runs", "source"], delimiter="\t")
    w.writeheader()
    w.writerows(rows)

print("样本", len(rows), "按来源", collections.Counter(r["source"] for r in rows))

这段脚本输出一张稳定的样本面板表,后续所有分析都应从这张表出发,而不是每次重新抓取。

附录 E:如果只记五件事

第一,SGDP 是 2016 年发表的 300 份深测人类全基因组,取自 142 个群体,均值 43 倍覆盖,全部在单一机构按统一协议测序。

第二,ENA 开放 279 份,21 份受知情同意限制存放在 EGA;ENA 描述段另外写着 301 人、146 个群体,两套口径并列看。

第三,它与 HGDP 不是同一份东西:HGDP 是长期保存的细胞系面板与多平台历史数据,SGDP 是一次性深测序,群体有重叠但数据层不同。

第四,它没有表型、没有病史、每群体平均两人,因此只能做群体历史、变异目录与基准测试,不能做频率估计与关联分析。

第五,坐标是 hg19/hs37d5,用现代流程必须先统一坐标;数据 2016 年后基本不再更新,作为固定参照集长期存在。

编辑说明

本篇的核验时间为 2026 年 10 月 29 日。核验方式为直接读取《Nature》论文全文(含正式版与 PMC 收录的作者手稿本)、ENA 项目 PRJEB9586 的项目描述与样本、run 检索结果,以及西蒙斯基金会的项目页面。ENA 一侧的样本数、run 数、测序机构与读段类型均由检索接口返回值直接统计,未做二次加工。

三处数字不一致已并列写明而不做裁决:论文正式版写开放 279 份、受限 21 份,作者手稿本写 277 与 23;ENA 描述段写 301 人、146 个群体,与论文的 300 与 142 不同;基金会页面仍写 2013 年的规划值 250 份与 125 个群体。这些差异分别来自版本、计数规则与规划执行三个阶段,不应互相覆盖。

未覆盖的内容包括:论文补充数据表的逐群体人数、受限样本的具体群体归属、以及按覆盖度分层的逐样本指标。这些都需要下载补充材料后自行核对,本文不据推测填写。


相关数据集导航

以下为站内 AI-Ready 数据集百科中与本词条共享多个主题标签的相关数据集,按相关度降序排列:

  • hgdp — 共享标签:基因组学与多组学 / 测序数据 / 变异与注释 / GWAS
  • 1000-genomes — 共享标签:基因组学与多组学 / 测序数据 / GWAS
  • gwas-catalog-legacy — 共享标签:基因组学与多组学 / 测序数据 / GWAS
  • gwas-catalog — 共享标签:基因组学与多组学 / 测序数据 / GWAS
  • hprc — 共享标签:基因组学与多组学 / 测序数据 / GWAS
  • jogo — 共享标签:基因组学与多组学 / 变异与注释 / GWAS
  • superagers-family-study — 共享标签:基因组学与多组学 / 测序数据 / 变异与注释 / GWAS
  • geneasso — 共享标签:基因组学与多组学 / 变异与注释 / GWAS
  • dbsnp — 共享标签:基因组学与多组学 / 测序数据 / 变异与注释
  • ensembl — 共享标签:基因组学与多组学 / 测序数据 / 变异与注释

导航说明:本章节由全站统一标签体系自动计算生成(标签重合度算法),双向可达;点击链接可跳转至对应数据集词条。

返回 AI-Ready 数据集