信息速览
变异注释这件事,过去二十年一直有一道跨不过去的坎:把变异和基因表达连起来的研究,大多用的是整块组织磨碎之后的平均值。一块肿瘤里,恶性细胞、T 细胞、成纤维细胞的调控状态各不相同,平均下来只剩一条折线。要让变异说话,得先让它落回具体的细胞类型里。
CellSNVReg 是哈尔滨医科大学做的一次尝试。它把三类单细胞与空间模态收进同一个框架,先在每个样本里检出高频体细胞变异,再沿 miRNA、转录因子、增强子、RNA 结合蛋白、蛋白互作、新抗原六个方向,逐一判断变异是增益、丢失、增强还是减弱了某条调控关系。凡是能由序列规则算出来的后果,它都算了一遍。
代价同样清楚:全部结论来自序列与结构预测,没有湿实验回验;数据以网页表格形式提供,没有批量矩阵,也没有程序接口;站点免费开放、无需登录,却没有单列数据许可。这三点决定了它适合做假设生成,不适合当金标准标签。一屏速览见下表。
| 维度 | 内容 |
|---|---|
| 全名 | CellSNVReg |
| 中文定位 | 单细胞与空间组学中 SNV 介导的调控扰动多维资源 |
| 发布方 | 哈尔滨医科大学生物信息科学与技术学院 |
| 论文出处 | Nucleic Acids Research 2026 年数据库专刊,54 卷 D1 期,D971–D981 |
| 论文时间线 | 2025 年 8 月投稿,9 月接收,10 月 31 日在线,2026 年 1 月 6 日随刊 |
| 样本规模 | 1,026 个样本 |
| 细胞与空间点 | 4,602,505 个 |
| 组织覆盖 | 56 种组织,26 个细胞类型 |
| 模态构成 | scRNA-seq 428 个、scATAC-seq 283 个、空间转录组 315 个 |
| 变异口径 | 逐样本累计 3,822,897 个高频变异,跨组织去重 248,695 个 |
| 扰动事件 | 约 3.19 亿条,RBP–靶最丰富 |
| 参考基因组 | GRCh38 |
| 取数方式 | 网页四路检索 + 逐样本导出 CSV / TXT / Excel,无 API |
| 许可 | 论文 CC BY-NC 4.0;站点免费开放、无需注册,未单列数据许可 |
| 典型用途 | 细胞类型特异的候选驱动变异排序、扰动网络构建、新抗原假设生成 |
§1 它要解决的具体麻烦
1.1 变异与调控之间,缺的是细胞这一层
遗传学有一条很长的证据链:变异改变序列,序列改变转录因子或 miRNA 的结合,结合改变靶基因表达,表达改变细胞状态,状态最终落到疾病表型上。这条链的每一环都有成熟的工具,但绝大多数工具都停在组织层面。批量测序把几万个细胞混在一起,得到的表达量是加权平均,权数是各细胞类型的比例。当某个变异只在一小群细胞里起作用,这个信号会被稀释到噪声以下。
单细胞技术本来可以补上这一层,但它带来新的麻烦。单个细胞的测序深度浅,覆盖度参差,变异检出的灵敏度与批量测序不在一个量级;不同样本的细胞类型注释口径不统一;体细胞变异在细胞之间的分布本身高度稀疏,大多数位点只有少数细胞携带。想得到一个跨样本可比、跨组织可查的变异扰动目录,需要有人先把这些坑填平。
CellSNVReg 填的就是这一段。它不发明新算法,而是把已有的变异检出工具、已有的基序扫描工具、已有的结合亲和力预测工具串成一条流水线,在统一种质资源与统一参考基因组下跑一遍,再把结果整理成可以按组织、按细胞类型、按基因、按位点四个方向查的表格。它的价值不在单点方法的先进性,而在把散落在几十篇文献里的同类计算集中做了一次。
这也意味着它的边界与方法学边界完全重合:流水线里任何一环的假设,都会变成资源的系统性倾向。这一点在 §7 会展开,此处先记住结论——它是一个注释器,不是一个检测器。
1.2 三条常见的错误期待
第一条,期待它是变异检出工具。它不是。资源给出的是已经检出并筛选过的高频变异,以及这些变异的下游后果;它不提供原始比对文件,不提供每个细胞每个位点的读段计数矩阵,也不提供变异等位基因频率的逐细胞分布。想从它这里拿到原始证据链,会失望。
第二条,期待它覆盖全部人类变异。它的筛选逻辑是体细胞导向:dbSNP、gnomAD 与千人基因组注释到的胚系位点被过滤掉,COSMIC 记录的体细胞位点被保留。这是一次主动的取舍,换来的是肿瘤与疾病样本里更干净的体细胞信号,代价是健康人群里的常见多态性几乎全部缺席。
第三条,期待它的结论有实验支撑。六个维度里,miRNA 与转录因子结合用的是序列打分,蛋白互作界面用的是结构数据库映射,新抗原用的是结合亲和力与免疫原性预测。全部是计算推断,论文没有做湿实验验证,也没有引用独立实验队列做回验。把它当假设来源是合适的,当验证过的结论是误用。
1.3 它能给到的与给不到的
| 你的需求 | 它给的 | 够不够 |
|---|---|---|
| 某个变异在特定细胞类型里打断了哪些调控关系 | 六维定性标签与定量分数,按细胞类型分层 | 够,这是它的核心输出 |
| 跨组织的候选驱动变异排序 | P-score 与六个分项分数,附置换检验显著性 | 够做初筛,不足以定级 |
| 变异扰动的靶基因列表 | miRNA、TF、增强子、RBP 四类靶基因与结合分数变化 | 够,且带参考序列与突变序列 |
| 潜在的肿瘤新抗原 | 8 至 11 肽的结合亲和力、稳定性、免疫原性三档预测 | 够做假设,需自行做 HLA 分型核对 |
| 原始读段与逐细胞等位基因频率 | — | 不够,需回到 GEO 或 SRA 取原始数据 |
| 胚系变异的调控解读 | — | 不够,胚系位点在流程中被过滤 |
| 批量矩阵形式的训练语料 | — | 不够,只有网页表格,需自行抓取整理 |
| 实验验证过的调控结论 | — | 不够,全部为预测,无湿实验回验 |
1.4 你的处境与它能帮到的事
| 你的处境 | 它能帮你什么 | 下一步该做什么 |
|---|---|---|
| 你手上有一批肿瘤单细胞数据,想找一个外部目录来对照自己的变异扰动结果 | 提供同组织、同模态的已算好的扰动表,可直接比对方向与量级 | 先确认细胞类型注释口径是否一致,不一致就先做标签映射 |
| 你在做变异到靶基因的优先级排序,缺一个细胞类型分辨的先验 | 六维分数可以作为特征,P-score 可以作为先验权重 | 把分项分数而不是综合分当特征,避免权重规则被二次放大 |
| 你想给一个新抗原文库做预筛 | 提供突变肽的结合亲和力、稳定性、免疫原性三档标签 | 先用 HLA 分型过滤,再用它做二次筛选,不要反过来 |
| 你在验证某个已发表位点的调控机制 | 可以查到该位点在哪些细胞类型、哪些维度上有预测扰动 | 把预测当假设,设计报告基因或 EMSA 实验去验 |
| 你要做一个跨模态的调控图谱整合 | 三类模态统一到 GRCh38,元数据字段一致,便于拼接 | 注意空间点的坐标体系各不相同,不要直接混用坐标 |
| 你想复现论文里的乳腺癌案例 | 样本编号、位点坐标、分数在正文里给全了 | 按 §4.2 的路径逐步核对,注意位点写法去掉千分位空格 |
1.5 一句话判断
它不回答「这个变异是不是致病的」,只回答「这个变异在哪种细胞里同时松动了哪几根调控的螺丝」——后者是前者的上游,而不是替代。
1.6 不适合谁:四条边界
不适合拿它做临床变异分级。 P-score 的权重是二值设定后取平均,没有经过任何临床队列校准。把它塞进 ACMG 证据链,等于用一个未经校准的排序分数冒充功能证据。
不适合拿它做胚系研究。 流程主动过滤了 dbSNP、gnomAD 与千人基因组的位点。这不是覆盖不全,是设计上的排除。做人群遗传学或胚系 eQTL,它从一开始就不在候选名单里。
不适合拿它做规模化预训练语料。 没有批量矩阵,没有对象存储,没有分页接口。想拿全量扰动表,只能沿样本详情页逐层导出,工程成本高于收益。
不适合拿它当多物种资源。 检索时物种被限定为智人,全部流程绑定 GRCh38。小鼠、猕猴的单细胞变异扰动不在范围内,也没有预留扩展位。
§2 数据构成与规格
2.1 三类模态如何拼成一张表
资源把三类测序模态放进同一个框架,但三者的预处理路径并不相同。scATAC-seq 从 GEO 取原始 FASTQ,用 Cell Ranger ATAC 2.1.0 比对到 GRCh38,再用 ArchR 做质控、去双细胞、降维聚类,并通过标签迁移把 TISCH2 与 DISCO 的参考注释搬过来。scRNA-seq 走的是既有资源 CanCellVar 的成品,细胞过滤条件是唯一分子标识少于 200、检出基因少于 1000、线粒体基因比例高于 20%,细胞周期分数在标准化时回归掉。空间转录组来自同一课题组的 stSNV,用 SpaCET 做细胞类型解卷积。
三条路径最后汇到一张样本表上。样本表的主键是样本编号,外键是数据集编号,两者都与 GEO 或 SRA 的登录号对应。行内记录数据类型、平台、文献 PMID、组织、组织状态、疾病类型,以及该样本的细胞或空间点计数。
| 模态(样本数) | 预处理主线(注释工具) | 变异检出 |
|---|---|---|
| scRNA-seq(428) | CanCellVar 成品,ScType 注释 | scSNV |
| scATAC-seq(283) | Cell Ranger ATAC 2.1.0 加 ArchR,标签迁移 | SComatic |
| 空间转录组(315) | stSNV 成品,SpaCET 解卷积 | SComatic |
三者的共同点是参考基因组统一、细胞类型词表统一(26 类)、变异检出后走同一套过滤规则。不同点在于变异检出的灵敏度:scATAC-seq 的覆盖度通常高于 scRNA-seq,同一阈值下能检出更多位点;空间转录组的捕获效率最低,检出数往往最少。这种模态间的系统性差异,在跨模态比较时必须先分层,否则会把技术差异读成生物学差异。
2.2 字段与记录的完整字典
浏览页导出的表共有 22 列,覆盖样本层到扰动层。下表按出现顺序列出,取值说明依据站点实际渲染的列名与论文方法部分。
| 字段(类型) | 取值或单位 | 说明 |
|---|---|---|
| Samples ID(文本) | GSM 或同类登录号 | 样本主键,与 GEO 一致 |
| Datasets ID(文本) | 数据集登录号 | 一个数据集可含多个样本 |
| Data type(枚举) | scRNA-seq / Spatial / scATAC-seq | 三类模态 |
| Platform(文本) | 测序平台名称 | 来自原始数据集元数据 |
| PMID(整数) | 文献编号 | 指向样本来源论文 |
| Article(文本) | 论文标题 | 与 PMID 对应 |
| Journal(文本) | 期刊名 | 与 PMID 对应 |
| Year(整数) | 发表年份 | 用于追溯数据新旧 |
| Tissues(文本) | 组织名 | 标准化的组织词表 |
| Tissue states(枚举) | Normal / Tumor / Other Disease | 组织状态 |
| Disease types(文本) | 疾病缩写 | 全称见帮助页对照表 |
| Disease(文本) | 疾病名 | 与缩写并列 |
| No.Cells/Spots(整数) | 个 | 该样本的细胞或空间点数 |
| No.Mutated_Genes(整数) | 个 | 携带变异的基因数 |
| No.SNVs(整数) | 个 | 全部检出变异数 |
| No.HF-SNV(整数) | 个 | 高频变异数,阈值见 §3.3 |
| No.SNV-miRNA-T(整数) | 条 | miRNA–靶扰动记录数 |
| No.SNV-Enhancer-T(整数) | 条 | 增强子–靶扰动记录数 |
| No.SNV-TF-T(整数) | 条 | 转录因子–靶扰动记录数 |
| No.SNV-RBP-T(整数) | 条 | RBP–靶扰动记录数 |
| No.SNV-PPI(整数) | 条 | 蛋白互作扰动记录数 |
| No.SNV-Neoantigen(整数) | 条 | 新抗原生成记录数 |
六个计数列的名字里都带 SNV 前缀与 -T 后缀,-T 指 target。这六列是浏览页最有用的部分:它们让使用者在打开任何详情页之前,就能判断某个样本在哪个维度上有信号。
六列的量级与误读风险并不对等。miRNA 与 TF 两列通常在中高档,前者取决于 3′UTR 注释覆盖,后者取决于 JASPAR 基序库覆盖,两处都容易把「基序命中」误当成「体内结合」。增强子列的量级看着中等,实际高度依赖增强子注释的密度,而增强子边界本身是推断出来的,不同组织不可直接比。RBP 列几乎总是最高,原因在基序库而不是生物学,短基序在随机序列里也常能匹配上。PPI 与新生抗原两列最低,因为前者要求非同义且落在界面内,后者要求三档预测全部通过;低不代表不重要,只代表闸门窄。
2.3 一条记录的完整解剖
把某个样本在某个维度上的一条扰动摊开,字段大致如下。这里用文本块表示结构,不表示真实取值。
Sample_ID : GSM6177599
Dataset_ID : 随样本,GSE 系列登录号
Data_type : Spatial
Tissue : Breast
Tissue_state : Tumor
Disease : BRCA
Cell_type : Malignant cells
SNV : chr11:309127:A>G
Gene : IFITM2
Dimension : miRNA-target
miRNA : hsa-miR-1322
Perturb_type : Weaken
Ref_score : -0.21
Alt_score : -0.08
Delta : 0.13
Target_gene : IFITM2
P_score : 0.94
Perm_p : 0.018
一条记录的身份由四元组决定:样本、位点、细胞类型、维度。同一个位点在不同细胞类型里可以有不同方向,同一个位点在同一细胞类型的不同维度上也可以一个增益一个减弱。这是资源设计上最关键的一点——它把「变异」拆成了「变异 × 细胞类型 × 维度」的组合,而不是给每个变异一个全局标签。
位点写法有一个容易踩的细节。论文正文里写成 chr11:309 127:A>G 这种带空格的千分位形式,站点表格里通常写成 chr11:309127:A>G。做字符串匹配时要去掉空格,否则会匹配失败。
2.4 两个口径:累计计数与去重计数
资源有两组容易混淆的计数。第一组是变异数:方法部分说三类模态合计检出约 382 万个高频变异,结果部分说跨全部组织共约 24.9 万个高频变异,平均每样本三千七百余个。前者的口径是逐样本累计,同一个位点在不同样本里各算一次;后者是跨组织去重后的位点数。两者之比正好落在样本数附近,可以互相印证。精确值统一放在附录 A,正文只用概数,避免同一个数字在多处反复出现。
第二组是扰动数,这一组没有这么整齐。论文摘要说每个样本平均识别超过 7 万条调控扰动;结果部分说合计约 3.19 亿条扰动事件。两个数字的比值与样本数并不吻合,差额的构成官方未作说明。引用时要么只引其中一个并注明出处段落,要么把两个都列出并说明口径不明,不要自行换算。
这条经验值得写进方法学章节:凡是引用的数字,都注明它来自摘要还是结果段。两者在论文内部并不总是对齐。
2.5 与同类资源的字段差异
把它的字段与另外几类资源并排看,差异一目了然。批量 eQTL 资源的核心字段是变异、基因、组织、效应量与显著性,回答的是「这个位点在不同组织里把表达推动了多少」,没有细胞类型这一层。单细胞图谱的核心字段是细胞、基因、表达量与细胞类型,有细胞类型但没有变异。变异功能注释库的核心字段是位点、功能类别与致病性证据,有变异但没有细胞语境。CellSNVReg 的核心字段是变异、细胞类型、调控维度、扰动方向与分数——这个组合在公开资源里并不常见,也解释了它为什么既不能被前两类替代,也不能替代前两类。
§3 它到底是什么:资源定位与身份
3.1 不是变异检测器,是扰动注释器
把三类资源分开看会更清楚。第一类是变异检出工具,输入比对文件,输出位点列表与基因型,代表是 SComatic、scSNV、Mutect2 这一类。第二类是变异功能注释库,输入位点,输出它落在哪个基因、哪个调控元件、哪个蛋白结构域。第三类是整合资源,把前两步的结果按统一口径跑一遍,整理成可检索的表。CellSNVReg 属于第三类。
这个定位决定了三件事。它不能替代你手里的变异检出流程,只能在你已经有位点列表之后提供对照;它的质量上限由上游工具决定,而不是由自己决定;它的更新节奏跟随上游工具与参考数据库,而不是跟随新数据。
| 资源类型 | 输入 → 输出 | 代表工具与相对位置 |
|---|---|---|
| 变异检出 | 比对文件 → 位点与基因型 | SComatic、scSNV,位于上游 |
| 功能注释 | 位点列表 → 基因与元件归属 | ANNOVAR、VEP,位于上游 |
| 整合资源 | 多数据集 → 可检索注释表 | 本资源、IGVF Catalog,同类 |
| 下游分析 | 注释表 → 通路、状态、药物 | GSVA、CellPhoneDB,位于下游 |
3.2 与前作的谱系关系
资源不是从零收集数据。scRNA-seq 部分直接沿用同一课题组的 CanCellVar,空间转录组部分沿用 stSNV,只有 scATAC-seq 部分是这次新收集与处理的。这条谱系有两个后果:一是三类模态的质控口径不完全一致,因为它们来自不同的既有流程;二是资源的可复现性依赖于两个前作是否长期在线。
| 组成 | 来源与本次工作 | 可复现性依赖 |
|---|---|---|
| scRNA-seq 428 个样本 | 沿用 CanCellVar,统一重注释与变异重算 | 前作是否继续开放 |
| 空间转录组 315 个样本 | 沿用 stSNV,统一重注释与变异重算 | 前作是否继续开放 |
| scATAC-seq 283 个样本 | GEO 与 SRA 全新处理 | 原始登录号是否有效 |
| 六维扰动注释 | 本次全部新算 | 基序库与结构库版本 |
同一个课题组连续发布三个资源,好处是口径连贯、字段设计一致,坏处是错误也可能被继承。使用前作数据时,值得回到前作的说明页确认质控参数是否与本次一致。
3.3 高频变异这条线画在哪里
高频变异的定义是「在一个样本内至少 50 个细胞携带」。这条线画得很实:它同时决定了资源的灵敏度下限与样本间可比性上限。
从灵敏度看,细胞数少的样本天然吃亏。一个只有几百个细胞的空间样本,50 个细胞的阈值意味着携带率要超过百分之十才能入选;而一个上万细胞的 scATAC 样本,同样 50 个细胞只相当于千分之五。同一个位点在不同样本里可能一边入选一边落选。
从可比性看,这条线保证了每个入选位点都有足够的细胞支撑,使得「按细胞类型分组比较表达相关性」这类下游分析在统计上勉强站得住。代价是低频变异、亚克隆变异、以及只在少数细胞里出现的早期事件,全部被排除在外。
除这条阈值外,流程还有四项固定设定:过滤库用 dbSNP、gnomAD 与千人基因组,保留库用 COSMIC,参考基因组用 GRCh38,细胞类型词表为 26 类。前三项决定哪些位点进得来,最后一项决定注释的粒度上限。它们共同构成了一把尺子——尺子的刻度是固定的,被量的东西千差万别,这是解读任何跨样本比较的前提。
3.4 P-score 是怎么算出来的
P-score 是资源的招牌指标,算法本身并不复杂。六个维度各自先算一个分项分数:完全获得或完全丢失一条关系记 2 分,部分增强或部分减弱记 1 分,没有变化记 0 分。分项分数在同一细胞类型内对该位点的所有扰动取平均,得到六个维度分;六个维度分再取算术平均,就是 P-score。
为了给出显著性,流程在每个样本内做了 1000 次六维分数置换,得到该位点在不同细胞语境下的经验 P 值。因此完整的一条记录其实有两个数:P-score 与置换 P 值。
| 扰动类型 | 权重 | 判定含义 |
|---|---|---|
| Gain | 2 | 突变后新出现显著结合 |
| Loss | 2 | 突变后原有显著结合消失 |
| Enhance | 1 | 结合强度上升但未改变有无 |
| Weaken | 1 | 结合强度下降但未改变有无 |
| Yes(新抗原) | 2 | 突变肽成为候选新抗原 |
| No(新抗原) | 1 | 突变肽未达新抗原标准 |
这套权重有一个隐含假设:获得与丢失比增强与减弱更重要。这个假设在调控生物学里大体成立,但它把「结合强度翻倍」和「结合强度下降一成」压成同一档,损失了不少信息。实际使用时,分项分数往往比综合分更有解释力。
3.5 名字里的三个词各指什么
Cell 指细胞分辨率,全部注释都落在细胞类型上,不是组织平均。SNV 指单核苷酸变异,资源只处理一个碱基替换这一类,插入缺失不在范围内。Reg 指 regulatory,指六个调控维度,不包括剪接、甲基化、染色质三维结构这些同样受变异影响的层面。
三个词合起来,边界就清楚了:它是一个以单碱基替换为对象、以细胞类型为坐标、以六类调控关系为轴心的注释资源。名字里没有出现的东西——多物种、插入缺失、实验验证、临床解读——都不在它的范围内。词素与覆盖范围的对应关系可以逐条对照:Cell 落在 26 个细胞类型上,不涉及亚细胞或单细胞层面的个体差异;SNV 只认碱基替换,插入、缺失、结构变异与拷贝数一概不收;Reg 只覆盖六类调控关系,剪接、甲基化与染色质三维构象同样受变异影响,但不在这套坐标里。
§4 质量与特色
4.1 六个维度各自的判定逻辑
六个维度不是并列的六种算法,而是三层不同的证据类型。前四层(miRNA、TF、增强子、RBP)都是序列层面的基序扫描,第五层是结构层面的界面映射,第六层是免疫学层面的肽段预测。三层的可信度依次下降:序列扫描有明确的物理模型,结构映射依赖数据库覆盖,免疫原性预测的假阳性率最高。
| 维度 | 工具与阈值 | 标签与输出 |
|---|---|---|
| miRNA–靶 | TargetScan,context++ 低于 −0.1 视为强结合 | 四类标签;结合分数差、miRNA 名、靶基因 |
| TF–靶 | FIMO,默认 P 值 1e−5 | 四类标签;基序名、分数变化、匹配序列 |
| 增强子–靶 | FIMO 加增强子区间,同一阈值 | 四类标签;增强子坐标、靶基因 |
| RBP–靶 | FIMO 加 ATtRACT 基序,同一阈值 | 四类标签;RBP 名、分数变化 |
| 蛋白互作 | Interactome INSIDER,两次 Fisher 乘积 P 小于 0.05 | 两类标签;界面比值比、相关性变化 |
| 新抗原 | NetMHCpan 4.1、NetMHCstabpan 1.0 与 IEDB,秩均低于 2 且免疫原性分大于 0 | Yes / No;肽段序列与三档预测值 |
4.1.1 miRNA 维度:靠 3′UTR 的序列算术
miRNA 结合位点集中在靶基因的 3′非翻译区,序列短、简并性高,因此最适合用位置权重矩阵打分。TargetScan 的 context++ 分数把序列特征与上下文特征(位点在 UTR 中的位置、周边序列、UTR 长度)一起纳入,分数越低表示结合越强。流程对参考序列与突变序列各算一次,差值就是扰动幅度。
这个维度的主要误差来源是 UTR 注释版本。同一个基因在不同转录本上的 3′UTR 长度差异很大,位点落在哪个转录本上决定了它是否处在结合区内。流程没有逐转录本给出结果,只给一个合并判断,因此跨转录本的歧义被折叠掉了。
4.1.2 转录因子维度:JASPAR 覆盖决定上限
TF 维度的逻辑与 miRNA 类似,但基序库换成了 JASPAR,扫描工具换成 FIMO。FIMO 把位置权重矩阵转成对数优势比,逐位点扫描并给出 P 值,默认阈值 1e−5。变异落在基序核心位点上时,分数变化最剧烈;落在边缘位点上时,往往只引起轻微下降。
这个维度的天花板由 JASPAR 的覆盖决定。人类转录因子有上千个,JASPAR 收录的基序覆盖了其中一部分,且不同家族的覆盖密度差异很大。一个没有被收录的转录因子,其结合位点上的变异在这套资源里完全不可见。
| 情形 | 标签与分数变化 | 生物学解释 |
|---|---|---|
| 核心位点被破坏 | Loss,大幅下降 | 结合可能完全消失 |
| 边缘位点被破坏 | Weaken,小幅下降 | 亲和力降低但仍有结合 |
| 突变创造新基序 | Gain,从无到有 | 可能出现异位结合 |
| 突变优化基序 | Enhance,小幅上升 | 亲和力提高 |
4.1.3 增强子维度:先定位元件,再看基序
增强子维度比前两个多一步:先确认变异落在注释的增强子区间内,再做基序扫描。这一步依赖增强子注释的质量,而增强子本身没有统一的序列特征,只能靠染色质状态、组蛋白修饰或保守性推断。资源采用的是已注释的增强子区间,具体来源随各数据集的原始注释而定,不同组织之间的注释密度差异很大。
结果是这个维度的计数在组织之间不可直接比较。注释密集的组织天然报出更多记录,注释稀疏的组织报得少。看到某组织增强子维度计数高,不能直接推断该组织的增强子受变异影响更严重。
4.1.4 RBP 维度:记录最多,因为基序库最大
RNA 结合蛋白维度用的是 ATtRACT 基序库,扫描方式与 TF 相同。这个维度在总量上通常占据首位,原因不复杂:ATtRACT 收录的 RBP 基序数量多,且 RBP 结合位点常落在较短的线性基序上,随机序列里出现匹配的概率更高。记录多不等于信号强,这一点在解读计数时尤其要注意。
| 维度 | 来源与记录量级 | 计数偏高的技术原因 |
|---|---|---|
| miRNA | TargetScan 内置,中等 | 受 3′UTR 注释完整度限制 |
| TF | JASPAR,中高 | 基序库覆盖决定 |
| 增强子 | 数据集自带注释,中等 | 增强子注释密度决定 |
| RBP | ATtRACT,最高 | 基序短、库大、随机匹配多 |
| PPI | Interactome INSIDER,低 | 仅非同义且需落在界面 |
| 新抗原 | NetMHCpan 与 IEDB,最低 | 三档预测全部通过才计 |
4.1.5 蛋白互作维度:结构数据库的覆盖是硬约束
PPI 维度只处理非同义变异。流程先用 ANNOVAR 拿到氨基酸改变,再把它映射到 Interactome INSIDER 的人类界面数据上,判断突变残基是否落在蛋白互作界面上。显著性由两次 Fisher 精确检验的 P 值乘积给出,富集程度用比值比表示。
这个维度的覆盖率受限于界面数据库。一个蛋白如果没有被收录界面结构,它的非同义变异就完全无法评估。对于缺乏结构解析的膜蛋白与内在无序蛋白,这个维度基本是空的。
4.1.6 新抗原维度:三道闸门,假阳性最高
新抗原维度取 8 至 11 个氨基酸的突变肽,用 NetMHCpan 4.1 预测与 HLA 的结合亲和力,用 NetMHCstabpan 1.0 预测复合物稳定性,再用 IEDB 的 T 细胞免疫原性工具打分。三道闸门都过才标 Yes:亲和力秩与稳定性秩都要从参考态的不结合(秩大于 2)转为突变态的结合(秩小于 2),且免疫原性分大于 0。
这个维度的结果对 HLA 分型极度敏感。流程在预测时使用的 HLA 等位基因集合,决定了哪些肽段会被判为结合。使用者在解读时必须先核对自己样本的 HLA 分型是否落在该集合内,否则得到的 Yes 可能根本不属于这个病人。
4.2 案例:乳腺癌空间样本里的一个 IFITM2 位点
论文用乳腺癌做了一次完整演示,样本编号 GSM6177599,模态是空间转录组。该样本检出了 824 个高频变异,扰动分布很不均衡:miRNA 维度 89,460 对,RBP 维度 51,696 对,TF 维度 9,941 对,新抗原只有 20 条。恶性细胞承担的扰动负担最重。
案例的主角是 chr11:309127:A>G,落在 IFITM2 上。这个位点在恶性细胞里的综合评分是 0.94,置换检验 P 值 0.018,进入了该细胞类型的前五位。它在三个层面上同时有信号:削弱了 IFITM2 与 hsa-miR-1322、hsa-miR-4804-5p 的结合;增强了剪接激活因子 SRSF7 对 IFITM2 的结合,增益分数 1.57;预测产生一段候选新抗原肽 GIFMTLLV。
| 层面与对象 | 变化 | 数值 |
|---|---|---|
| miRNA hsa-miR-1322 | 减弱 | 未单列 |
| miRNA hsa-miR-4804-5p | 减弱 | 未单列 |
| RBP SRSF7 | 增强 | 1.57 |
| 新抗原 GIFMTLLV | 生成 | 免疫原性分大于 0 |
| 综合 P-score | 前五位 | 0.94 |
| 置换检验 | 显著 | 0.018 |
这个案例的价值不在于证明了 IFITM2 是乳腺癌的驱动基因,而在于展示了一种读法:一个位点可以在抑制性调控上做减法、在激活性调控上做加法,同时产生一个新的免疫学靶标。三个方向的证据叠在一起,才构成一个值得跟进假设。§4.2 的案例在后面几个章节还会被引用,用来对照不同资源的分工。
4.3 第二个案例:scATAC 样本里的转录因子增益
论文另给了一个 scATAC-seq 的例子,样本 GSM7681695,含 4,657 个细胞与 10,915 个高频变异。恶性细胞里受变异影响的 TF 靶基因最多,且多为上调。
| 位点与基因 | 维度 | 结果 |
|---|---|---|
| chr17:4790047:C>A(GLTPD2) | TF | ELK 结合增强,靶基因显著上调 |
| chr10:58385319:A>G(TFAM) | TF | THRB 调控增强,靶基因显著上调 |
| chr8:56113670:C>A(MOS) | PPI | 与 HOMER3 互作增强,P 值 0.02 |
这三个位点的共同点是「增益」而非「丢失」。在肿瘤场景里,增益型扰动往往比丢失型更难被注意到,因为常规的损失功能筛选思路天然偏向寻找被破坏的结合。这也是资源的一个隐性偏向:它把增益与丢失放在同等位置呈现,但使用者的注意力通常只投向丢失。
4.4 八个工具模块:从注释走到功能
注释只是第一步。资源把下游分析做成了八个模块,覆盖差异表达、功能富集、细胞状态、干性、细胞通讯、代谢与药物重定位。每个模块的输入都是「被变异扰动的靶基因集合」,输出都是与某个签名基因集的交集统计。
| 模块 | 方法 | 输出指标 |
|---|---|---|
| 扰动统计 | 样本与维度内分布汇总 | 六维记录数与分布图 |
| 差异表达 | 按细胞类型分组比较扰动靶基因 | 显著差异靶基因 |
| 功能富集 | GO 与 KEGG 富集 | 通路与功能项 |
| 细胞状态 | Spectra 的 148 个程序 | GSVA 分数、重叠基因数 |
| 干性 | Cancer Stemness Online 的 17 个基因集 | GSVA 分数、重叠比例 |
| 细胞通讯 | CellPhoneDB v5 | 互作分数与 P 值 |
| 代谢 | KEGG 85 条与 Reactome 82 条通路 | 通路活性 |
| 药物重定位 | Drug2Cell 的 20,744 对药物靶基因 | 富集与重叠 |
每个模块都输出三个量:GSVA 富集分数、重叠基因数、重叠比例。这三个量放在一起看才有意义——富集分数高但重叠基因只有两三个,说明信号来自少数基因的极端值;重叠基因多但分数低,说明扰动弥散、缺乏方向。
五套签名资源各有版本风险。Spectra 的 148 个细胞程序定义会随版本调整;Cancer Stemness Online 的 17 个干性基因集在癌种之间覆盖不均;KEGG 与 Reactome 的通路定义按年更新,同一通路编号在不同版本下可能包含不同的基因;Drug2Cell 的药物靶基因对更新滞后于药物上市节奏。跨年份复现时,这四项都要锁版本。
4.5 DAIMS 视角下的适配度
用数据与 AI 就绪度的通行框架 DAIMS 来量,这个资源的强弱很清楚。它在可发现性与可理解性上得分高:有论文、有 DOI、有统一字段、有对照表。它在可访问性与可互操作性上得分中等:网页可读、无需注册,但没有接口、没有批量包、没有标准本体映射。它在可复用性上得分偏低:许可未单列,版本未编号,取数需解析网页。
| DAIMS 维度 | 表现 | 依据 |
|---|---|---|
| 可发现性 | 强 | 有论文与 DOI,站点可检索 |
| 可访问性 | 中 | 免费无需注册,但无接口与批量包 |
| 可理解性 | 强 | 字段命名直观,帮助页有疾病对照表 |
| 可互操作性 | 中偏弱 | 无本体映射,细胞类型词表为自定义 26 类 |
| 可复用性 | 弱 | 许可未单列,无版本号,无持久标识 |
| 可溯源性 | 中 | 每个样本可回溯到 PMID 与登录号 |
| 时效性 | 中 | 2025 年发布,扩展计划写在结论里 |
§5 怎么拿到:取数与接口
5.1 四个检索入口
站点提供四个检索方向:按组织、按细胞类型、按基因、按变异位点。四者背后是同一张表的不同索引,返回的粒度都是样本,再往下钻才是扰动明细。
| 入口 | 输入与返回粒度 | 适用场景 |
|---|---|---|
| 组织检索 | 组织名,返回样本列表 | 想知道某组织有哪些数据集 |
| 细胞类型检索 | 细胞类型名,返回样本与维度 | 想做细胞类型特异的汇总 |
| 基因检索 | 基因符号,返回位点与扰动 | 手上有一个候选基因 |
| 位点检索 | 坐标与碱基改变,返回细胞类型与维度 | 手上有一个具体位点 |
四个入口都不支持布尔组合,也不支持批量提交。一次只能查一个关键词,这决定了它适合点查,不适合批量拉取。
5.2 浏览页与导出格式
浏览页是取数的主力。左侧三个筛选器分别控制组织状态(正常、肿瘤、其他疾病)、疾病类型(站点列出四十余个缩写)与数据类型(三类模态)。右侧表格默认展示全部 22 列,可以勾选需要的列后导出。
四个位置各自能导出什么,差别不小。浏览页主表可导出 CSV 与 TXT,含 22 列样本与扰动汇总;数据集信息面板可导出 CSV 与 Excel,只含该数据集下的样本清单;下载页三张表是页面表格,按模态分列样本元数据;样本详情页也是页面表格,给的是六维扰动明细。只有前两处是真正意义上的文件导出。
下载页把样本元数据按模态拆成三张表,每张表只给样本编号、数据集编号、PMID、组织、组织状态、疾病类型六列,不含任何扰动计数。想看计数必须回浏览页。这个设计意味着两条取数路径:要元数据走下载页,要计数走浏览页。
5.3 用命令行取浏览页
站点对没有浏览器标识的请求返回 403,抓取时必须带 User-Agent。下面的命令取回浏览页并统计表格行数。
#-- 带浏览器标识取回浏览页,否则站点返回 403
UA="Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 Chrome/120.0 Safari/537.36"
curl -sL -A "$UA" "http://bio-bigdata.hrbmu.edu.cn/CellSNVReg/Browse.jsp" -o browse.html
wc -c browse.html
grep -c "<tr" browse.html
浏览页的数据是服务端渲染后由前端脚本填充的,直接抓 HTML 往往只能拿到表头。稳妥的做法是在浏览器里筛好条件、点导出,再用脚本处理导出的 CSV。下面的脚本读取导出文件并做基本清洗。
#-- 读取浏览页导出的 CSV,统一列名并检查关键列是否存在
import pandas as pd
df = pd.read_csv("browse_export.csv", encoding="utf-8-sig")
df.columns = [c.strip().replace(" ", "_") for c in df.columns]
required = [
"Samples_ID", "Data_type", "Tissues", "Tissue_states",
"No.Cells/Spots", "No.HF-SNV", "No.SNV-RBP-T",
]
missing = [c for c in required if c not in df.columns]
if missing:
raise SystemExit(f"缺列: {missing}")
df["No.Cells/Spots"] = pd.to_numeric(df["No.Cells/Spots"], errors="coerce")
df["No.HF-SNV"] = pd.to_numeric(df["No.HF-SNV"], errors="coerce")
print(df.groupby("Data_type")[["No.Cells/Spots", "No.HF-SNV"]].sum())
5.4 按位点查一条扰动
位点检索的输入格式是染色体、坐标、参考碱基、突变碱基。网页表单分四个输入框,提交后返回该位点在所有样本、所有细胞类型、所有维度上的记录。批量查询只能循环提交。
#-- 逐个位点提交查询,节流一秒,避免给站点造成压力
import time
import urllib.parse
import urllib.request
UA = "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 Chrome/120.0"
BASE = "http://bio-bigdata.hrbmu.edu.cn/CellSNVReg/SearchSNV.jsp"
loci = [
("chr11", "309127", "A", "G"),
("chr17", "4790047", "C", "A"),
("chr10", "58385319", "A", "G"),
]
for chrom, pos, ref, alt in loci:
query = urllib.parse.urlencode(
{"chr": chrom, "pos": pos, "ref": ref, "alt": alt}
)
req = urllib.request.Request(f"{BASE}?{query}", headers={"User-Agent": UA})
with urllib.request.urlopen(req, timeout=30) as resp:
body = resp.read().decode("utf-8", errors="ignore")
print(chrom, pos, ref, alt, len(body))
time.sleep(1)
实际表单的字段名以页面源码为准,上面的参数名是按常见命名推的,跑之前先打开页面看一次表单的 name 属性。这一步不能省,站点没有公开接口文档。
5.5 把六维结果拼成一张长表
研究里真正需要的往往不是单条记录,而是一张可以喂进模型的长表:每行是一个「样本 × 位点 × 细胞类型 × 维度」的组合,列是方向与分数。逐样本导出后拼接,是唯一可行的路径。
#-- 把多个样本的导出表纵向拼接,并补上样本来源列
import glob
import pandas as pd
frames = []
for path in sorted(glob.glob("exports/*.csv")):
part = pd.read_csv(path, encoding="utf-8-sig")
part["source_file"] = path.split("/")[-1].replace(".csv", "")
frames.append(part)
if not frames:
raise SystemExit("exports 目录为空")
long = pd.concat(frames, ignore_index=True)
long["Perturb_type"] = long["Perturb_type"].str.strip().str.title()
long = long.dropna(subset=["SNV", "Cell_type", "Dimension"])
print(long.shape)
print(long["Dimension"].value_counts())
long.to_parquet("cellsnvreg_long.parquet", index=False)
拼接时有三处必须统一:位点写法要去掉千分位空格;细胞类型名要映射到同一套词表;维度名的大小写与连字符要统一。三处任何一处不一致,后续的聚合都会静默出错。
5.6 接进单细胞分析流程
如果手上有同一批样本的表达矩阵,可以把扰动表按细胞类型挂到注释对象上,做成每个细胞类型的额外协变量。
#-- 把扰动计数按细胞类型并入 AnnData 的 obs,供下游分层分析
import anndata as ad
import pandas as pd
adata = ad.read_h5ad("sample.h5ad")
pert = pd.read_csv("perturb_by_celltype.csv")
pert = pert.set_index("Cell_type")
common = adata.obs["cell_type"].isin(pert.index)
print("可匹配细胞比例:", common.mean())
adata.obs["n_rbp_pert"] = (
adata.obs["cell_type"].map(pert["No.SNV-RBP-T"]).fillna(0).astype(int)
)
adata.obs["p_score_max"] = (
adata.obs["cell_type"].map(pert["P_score_max"]).fillna(0.0)
)
adata.write_h5ad("sample_annotated.h5ad")
细胞类型名不匹配是这一步最常见的失败原因。资源用的是自定义的 26 类词表,与 CELLxGENE 或 HCA 的词表并不一致,直接 map 会大量落到缺失值上。稳妥做法是先建立一张手工映射表,把两边的高频标签对齐,再做填充。
5.7 没有接口这件事意味着什么
站点没有 REST 接口,没有 GraphQL,没有可编程的分页游标。全部取数依赖三种方式:浏览器导出、表单提交、页面解析。三者都不是为程序准备的,因此任何规模化使用都要付出额外的工程成本。
| 取数方式 | 可行性与主要障碍 | 缓解办法 |
|---|---|---|
| 浏览器手动导出 | 可行性高,依赖人工、无法批量 | 固定筛选条件后脚本化点击 |
| 表单逐条提交 | 可行性中,无文档、参数名需反推 | 先抓一次源码确认字段 |
| 页面解析 | 可行性低,前端渲染、表头与数据分离 | 用无头浏览器等待渲染完成 |
| 原始数据重跑 | 可行但昂贵,需算力与存储 | 只在需要全量时考虑 |
这也是它作为 AI 就绪语料的根本短板:数据本身结构清晰,但分发方式是为人眼设计的。要做训练语料,得先承担一次性的工程投入,把它转成列式存储。
§6 与库内条目的关系
6.1 关系图谱
库内与本资源相关的记录分布在三条线上:变异与调控的图谱类、批量表达与 eQTL 类、单细胞图谱类。三条线与它的距离不同。
| 库内记录 | 层次与关系 | 可否替代 |
|---|---|---|
| IGVF Catalog | 变异到调控元件的图结构,上游图谱,无细胞类型方向 | 部分互补,不可替代 |
| GTEx | 批量组织 eQTL,同时看变异与表达,但为胚系与组织平均 | 不可替代 |
| Human Cell Atlas | 单细胞参考图谱,提供细胞类型参考,无变异 | 不可替代 |
| CELLxGENE Census | 版本化单细胞语料与接口,提供表达语料,无变异注释 | 不可替代 |
| Single Cell Expression Atlas | 统一重处理的单细胞表达库,表达层,无变异 | 不可替代 |
| scPerturb | 实验扰动的标准化资源,扰动源是药物或基因编辑 | 不可替代 |
| FANTOM5 | 批量 CAGE 调控元件图谱,元件层,无变异与细胞类型 | 不可替代 |
| Tahoe-100M | 药物扰动单细胞图谱,药物维度与变异维度正交 | 不可替代 |
这张表想说明的是一件事:库内没有第二份资源在做「细胞类型分辨的体细胞变异扰动方向」。相邻资源各自占据上游、旁路或下游,没有重叠。
6.2 检索路径
从库内跳转到这条记录,有四条自然路径。第一条从变异出发,先落在 IGVF Catalog,再发现需要细胞类型分辨的扰动方向。第二条从组织表达出发,先落在 GTEx,再发现批量平均不够用。第三条从单细胞图谱出发,先落在 HCA 或 CELLxGENE,再发现图谱里没有变异。第四条从扰动出发,先落在 scPerturb,再发现实验扰动与遗传变异是两回事。四条路径的终点相同:手上已经有一个具体的位点或一个具体的细胞类型,需要一个能把两者连起来的表。
6.3 与 IGVF Catalog 的分工
IGVF Catalog 的组织方式是图:变异、基因、调控元件、蛋白、疾病、表型都是节点,边是各类证据。它的强项是跨数据集合的连接广度与查询接口,弱项是没有细胞类型分辨的扰动方向,也不比较参考态与突变态的结合分数差。
CellSNVReg 的组织方式是表:每行一个「样本 × 位点 × 细胞类型 × 维度」的组合。它的强项是方向与分数,弱项是连接广度与接口。
| 维度 | IGVF Catalog | CellSNVReg |
|---|---|---|
| 数据模型 | 属性图 | 关系表 |
| 主键 | 节点标识 | 样本 × 位点 × 细胞类型 |
| 变异范围 | 广,含多种变异类型 | 窄,仅单碱基替换 |
| 细胞类型 | 无 | 26 类 |
| 扰动方向 | 无 | 有,四类标签 |
| 定量分数 | 部分 | 有,六维分与综合分 |
| 接口 | 有,REST 与图查询 | 无 |
两者最好的用法是串联:先用图谱找到候选变异与调控元件,再用本资源判断这些变异在具体细胞类型里是否真的改变了结合。反过来走不通,因为本资源没有图结构可查。§4.2 的案例正是这种串法的缩影——位点坐标与基因归属可以从图谱和文献拿到,而它是否真的改变了结合、改变了哪一层,只能回到细胞类型分层的表里去看。
6.4 与 GTEx 的分工
GTEx 做的是胚系变异与组织表达的关系,样本是死后正常组织,效应量是 eQTL 的斜率。CellSNVReg 做的是体细胞变异与细胞类型调控的关系,样本以肿瘤为主,输出是扰动方向。两者在变异类型、样本来源、分析单位三个层面都不同:前者是胚系对组织,后者是体细胞对细胞类型;前者给效应量与显著性,后者给方向与分数。
一个常见的误用是把两者当同一件事的两个版本,拿本资源的扰动分数去和 eQTL 效应量做相关。两者测的不是同一个量,相关系数没有解释意义。
6.5 与单细胞图谱类的分工
HCA、CELLxGENE Census、Single Cell Expression Atlas 都是表达层的资源,回答「哪些细胞类型存在、它们的表达谱长什么样」。它们不含变异,也不含变异对调控的影响。本资源假设你已经知道细胞类型,专注于回答「这些细胞里的变异做了什么」。核心内容从表达矩阵换成变异扰动表,含变异而不含表达,衔接点在于提供同一套细胞类型标签下的变异层注释。
衔接的现实障碍是词表不一致。图谱类资源多用 CL 本体或自定义标签,本资源用 26 类自定义词表。要做联合分析,先做标签映射,这一步没有现成对照表,只能手工对齐。
6.6 与实验扰动资源的分工
scPerturb 与 Tahoe-100M 都属于扰动资源,但扰动源是外部干预:药物、CRISPR、细胞因子。本资源的扰动源是内源变异。两者在实验设计上完全不同:前者有对照孔、有剂量、有时间点;后者没有实验干预,全部结论来自序列推断。把三组邻居放在一起,差异可以压成一张表。
| 相邻资源 | 它们的强项 | 本资源的差异 |
|---|---|---|
| GTEx | 人群规模与统计框架成熟 | 体细胞与细胞分辨,但无统计校准 |
| 单细胞图谱 | 表达与细胞注释完整 | 只做变异层,不含表达 |
| scPerturb 与 Tahoe-100M | 有实验对照,可谈因果 | 无干预、无对照,只给假设 |
§7 质量评估与局限性
7.0 阅读本节前的一个前置校正
在给这个资源打分之前,需要先纠正一个常见的认知错位:把它当成「变异功能数据库」来评。如果按那个标准,它缺致病性证据、缺临床注释、缺实验验证,几乎处处不合格。但它的设计目标不是这个。它要做的是一张「变异在细胞类型里动了哪几根调控线」的地图,地图的价值在于覆盖与一致性,不在于每个点的绝对正确。
按地图的标准看,评价维度应该换成另外四个:覆盖是否够广、口径是否一致、方向是否可信、取数是否可行。这四个维度上它的表现与前者完全不同。下面所有评分都按这个框架给,不按变异数据库的框架给。这个前置校正不做,后面的分数会被系统性误判。
还有一层错位需要说明:预测链条从变异检出一直延伸到功能推断,每一环都有误差,单条记录的可信度天然不高,集合层面的统计规律则稳得多。所以单点判断要谨慎,分布比较可以宽松。
7.1 五维评分
| 维度 | 分数 | 理由 |
|---|---|---|
| 规模 | 4 / 5 | 逾千样本、四百余万细胞,组织覆盖广,但模态间不均衡 |
| 结构 | 3 / 5 | 字段清晰、导出可用,但无接口、无批量包、无版本号 |
| 可解释性 | 4 / 5 | 方向标签直观,分数可拆解,权重规则公开 |
| 可信度 | 2 / 5 | 全链条预测,无湿实验回验,单点结论证据弱 |
| 许可与合规 | 2 / 5 | 站点未单列数据许可,论文为禁止商用许可 |
| 综合 | 3 / 5 | 适合假设生成与初筛,不适合定级与训练标签 |
分数不高的两项恰好是最容易被忽略的两项。可信度低是方法决定的,不是执行问题;许可含糊是治理问题,与技术水平无关。前者可以通过下游验证弥补,后者只能通过联系作者澄清。
7.2 预测链条上的误差如何累积
一条扰动记录要经过至少五道推断。第一道是变异检出,单细胞覆盖度浅,假阴性与假阳性同时存在;第二道是高频筛选,50 个细胞的阈值把低频真信号挡在门外;第三道是序列注释,转录本选择与 UTR 边界决定了位点是否落在功能区内;第四道是基序扫描,位置权重矩阵的假阳性率在短基序上尤其高;第五道是功能推断,从结合变化推到表达变化再推到细胞状态,每一步都是相关性而非因果。
| 环节 | 主要误差与方向 | 可否补救 |
|---|---|---|
| 变异检出 | 覆盖度不足导致漏检,假阴性为主 | 回到原始数据加深测序 |
| 高频筛选 | 阈值固定,样本间不等效,双向 | 按细胞数分层重算 |
| 序列注释 | 转录本与 UTR 边界歧义,双向 | 逐转录本重跑 |
| 基序扫描 | 短基序随机匹配,假阳性为主 | 提高阈值或加保守性过滤 |
| 功能推断 | 相关被读成因果,过度解读 | 实验验证 |
五道推断串起来,一条记录的可信度不会高于最弱的一环,而最弱的一环通常是基序扫描。这也是为什么 RBP 维度的记录虽多,却最不该被逐条当真。
7.3 已知的、可枚举的偏差
| 偏差与表现 | 成因 | 使用时的对策 |
|---|---|---|
| 物种偏差,仅人类 | 检索时限定智人 | 跨物种研究直接排除 |
| 变异类型偏差,仅单碱基替换 | 流程只处理 SNV | 插入缺失需另找资源 |
| 胚系排除,常见多态性缺席 | 主动过滤三个胚系库 | 人群遗传学不适用 |
| 细胞数偏差,细胞少的样本检出少 | 50 细胞阈值固定 | 按细胞数分层比较 |
| 组织构成偏差,肿瘤样本占比高 | 原始数据集构成 | 做正常组织分析时先核对样本量 |
| 注释密度偏差,增强子维度组织间不可比 | 增强子注释来源不一 | 只在同组织内比较 |
| 基序库偏差,RBP 记录最多 | 基序库规模与长度 | 不按记录数排序重要性 |
| 文献偏差,数据集偏向高影响力研究 | 来源为已发表数据 | 注意发表偏倚 |
这些偏差里,最容易被忽略的是后两条。使用者看到 RBP 维度记录最多,容易误以为 RBP 调控最受变异影响,实际只是基序库最大、匹配最容易。看到某组织数据多,容易误以为该组织研究充分,实际只是该组织的高影响力论文多。
除了偏差,还有五个具体的失效条件值得单列。细胞数少于两百的样本,高频阈值几乎无法达到,扰动表基本为空;缺乏结构解析的蛋白,PPI 维度没有记录,容易被误读成「没有影响」;HLA 分型不在预测集合内的样本,新抗原结果不适用,假阳性风险高;位点落在多转录本歧义区时,维度归属不确定,跨转录本结论不稳;组织注释稀疏时,增强子维度计数偏低,跨组织比较会失真。这五条都不是缺陷,而是适用范围到期的地方。
7.4 外部验证矩阵
资源本身没有做外部验证,但可以侧面核对。可核对的锚点有四类:与已知数据库的重叠、与已发表案例的一致性、内部计数的一致性、以及与上游原始数据的一致性。
| 验证角度 | 结论与局限 |
|---|---|
| 位点与 COSMIC 的重叠 | 设计上保证重叠,但未给出重叠比例 |
| 与 dbSNP 的排除 | 方法部分明确说明,但未公布残留比例 |
| 内部计数一致性 | 变异数自洽,扰动计数未对齐 |
| 案例可复现性 | 提供样本与坐标,需人工逐条核对 |
| 与上游数据一致性 | 提供 PMID 与登录号,部分数据集可能已撤 |
内部计数这一项值得单独说:变异数的两个口径自洽,扰动数的两个口径不自洽。前者说明流程的计数逻辑是清楚的,后者说明摘要与结果段的表述没有对齐。这不影响数据本身,但影响引用时的严谨性。
7.5 它为何能持续:一个课题组的流水线复用
这类资源的生存逻辑与通用数据库不同。通用数据库靠社区贡献与基金持续投入,一旦资助中断就停止更新。课题组型资源的生存逻辑是复用:同一套流水线跑不同的数据类型,产出不同的资源,每篇论文都是一次流水线的复用与一次新的应用场景。
CanCellVar 做单细胞变异,stSNV 做空间变异,CellSNVReg 把两者合起来再加 scATAC。三次发布共用一套变异检出与注释工具链,边际成本递减,每次都能产出一篇新论文与一个新资源。这个模式在短期内很稳定,因为它不依赖社区;在长期则受限于课题组的规模与人员流动。
对使用者来说,这个逻辑有两条实际含义。好消息是字段设计会保持连贯,三个资源之间可以互相拼接;坏消息是更新节奏取决于下一篇论文,而不是取决于数据本身的积累。如果三年内没有新论文,资源很可能停在当前版本。
§8 生态位与历史
8.1 一条从批量到细胞的路线
变异调控研究的方法演进可以分成四段。第一段是人群遗传学,用 GWAS 找位点,不涉及机制。第二段是批量 eQTL,把位点与组织表达连起来,代表是 GTEx。第三段是单细胞 eQTL,把关联做到细胞类型,但需要大样本基因型与表达配对。第四段是单细胞体细胞变异注释,不依赖基因型芯片,直接在单细胞数据里检出变异并推断后果,本资源属于这一段。
| 阶段与方法 | 分析单位与变异类型 | 主要局限 |
|---|---|---|
| 人群遗传学,GWAS | 人群,胚系常见变异 | 不涉及机制 |
| 批量 eQTL,GTEx | 组织,胚系 | 组织平均 |
| 单细胞 eQTL,配对队列 | 细胞类型,胚系 | 样本量要求极高 |
| 单细胞体细胞注释,本资源一类 | 细胞类型,体细胞 | 全链条预测 |
四段不是替代关系,而是互补。前三段有严格的统计框架与人群基础,第四段有细胞分辨率但缺统计校准。把它们并列看,才知道本资源补的是哪一块。
8.2 时间线
| 时间 | 事件 | 意义 |
|---|---|---|
| 2025 年 8 月 13 日 | 投稿 | 方法与数据定稿 |
| 2025 年 9 月 14 日 | 修回 | 补充分析 |
| 2025 年 9 月 29 日 | 接收 | 内容冻结 |
| 2025 年 10 月 31 日 | 在线发表 | 站点对外开放 |
| 2026 年 1 月 6 日 | 随刊出版 | 卷期页码确定 |
从投稿到在线不到三个月,在数据库类论文里属于正常节奏。这个节奏也解释了为什么资源的字段设计相对简洁——它没有经历多轮社区评议。
8.3 生态位:夹在图谱与工具之间
把市面上的相关资源按广度与深度两个轴摆开,本资源的位置在中间偏深。图谱类资源覆盖广但不深入细胞类型,广度在中高、深度在中;批量 eQTL 两头都在中间;单细胞图谱广度大而深度浅;各类基序扫描器正好相反,只做单一环节但做得深。本资源整合了六个环节,覆盖一个物种、一类变异、一种分辨率。
| 资源 | 广度与深度 | 与本资源的重叠 |
|---|---|---|
| IGVF Catalog | 广泛,中等深度 | 变异与元件的连接 |
| GTEx | 中等,中等 | 变异与表达的关联 |
| 单细胞图谱 | 广泛,浅 | 细胞类型参考 |
| 基序扫描工具 | 窄,深 | 单维度判定 |
| 本资源 | 中等,深 | — |
这个位置有一个天然优势:它是目前少有的、把六个维度放在同一套坐标下比较的资源。也有一个天然劣势:六个维度都做得不深,每一维都存在更专业的替代工具。
8.4 许可与合规的实际状态
论文以 CC BY-NC 4.0 发表,这意味着论文文本可以非商业性复用。但论文的许可覆盖的是论文,不必然覆盖数据库内容。资源本身免费开放、无需注册,站点页脚只有版权声明,没有数据使用协议,也没有引用要求的具体措辞。
| 对象 | 声明与条款 | 商用可行性 |
|---|---|---|
| 论文正文 | CC BY-NC 4.0,要求署名与非商业 | 不可商用 |
| 数据库内容 | 免费开放、无需注册,未见独立许可 | 不明确 |
| 底层原始数据 | 随各数据集,各自许可 | 需逐个核对 |
| 图表 | 随论文,CC BY-NC 4.0 | 不可商用 |
这个状态对学术使用影响不大,对商业使用是一个真实的障碍。稳妥做法是:学术使用引用论文与网址;商业使用前联系通讯作者取得书面许可;二次分发的数据要逐个回溯到原始数据集的许可。
§9 使用指引
9.1 三种角色的路径
不同角色进入这个资源的路径完全不同。做变异解读的人从位点进,做单细胞分析的人从细胞类型进,做药物靶点的人从通路进。
| 角色(入口) | 主要用到 | 典型产出 |
|---|---|---|
| 变异解读(位点检索) | 六维标签与 P-score | 候选位点清单 |
| 单细胞分析(细胞类型检索) | 扰动计数与靶基因 | 细胞类型特异的扰动谱 |
| 药物靶点(基因检索加药物模块) | 扰动靶基因与药物交集 | 重定位候选 |
| 方法学研究(浏览页全表) | 字段结构与计数分布 | 基准数据集 |
9.2 一条最短的可用流程
如果只想在半小时内拿到一个可用的结果,最小路径是四步:确定组织与疾病、筛出样本、导出浏览表、按维度排序。
#-- 第一步:取回浏览页,确认站点可达
UA="Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 Chrome/120.0"
curl -s -o /dev/null -w "%{http_code}\n" -A "$UA" \
"http://bio-bigdata.hrbmu.edu.cn/CellSNVReg/Browse.jsp"
#-- 第二步:在浏览器里筛组织与数据类型,导出 CSV 到当前目录
#-- 第三步:按 RBP 维度排序,取前二十个样本
python3 - <<'PY'
import pandas as pd
df = pd.read_csv("browse_export.csv", encoding="utf-8-sig")
df.columns = [c.strip().replace(" ", "_") for c in df.columns]
col = "No.SNV-RBP-T"
top = df.sort_values(col, ascending=False).head(20)
print(top[["Samples_ID", "Tissues", "Tissue_states", col]].to_string(index=False))
PY
四步里最容易出错的是第二步:导出的表默认包含全部列,列名里带空格与点号,直接读入会被 pandas 改名。先从已知位点出发的话,路径要换成先做位点检索,再按 §4.2 的案例逐层展开:先看它出现在哪些细胞类型,再看每一层的方向与分数。
9.3 引用方式
资源没有独立 DOI,也没有版本号。引用时以论文为主锚点,网址为辅。
Shi J, Zhang S, Lu Z, Zhou W, Lu W, Chen G, Li J, Liu W, Huang J,
Jiang T, Jin X, Xu J, Shao T. CellSNVReg: a multidimensional resource
for SNV-mediated regulatory perturbations in single-cell and spatial
omics. Nucleic Acids Res. 2026;54(D1):D971-D981.
doi:10.1093/nar/gkaf1076
方法学章节里还应写明取数日期,因为站点没有版本号,字段可能随时微调。
| 引用场景 | 引什么 | 备注 |
|---|---|---|
| 论文方法 | 论文全引用 | 含卷期页码 |
| 数据来源 | 论文加网址 | 注明取数日期 |
| 具体位点 | 论文加样本号加坐标 | 便于他人复核 |
| 二次分发 | 论文加原始数据集 | 需核对原始许可 |
§10 AI 使用声明
| 项目 | 说明 |
|---|---|
| 数据来源 | 哈尔滨医科大学 CellSNVReg 站点与 NAR 论文,均公开可查 |
| 是否含个人身份信息 | 否,资源层只有样本登录号与组织信息 |
| 是否含临床结局 | 否,无随访、无生存、无用药 |
| 训练可用性 | 需先自行转为列式存储,且许可状态不明确 |
| 标注性质 | 全部为计算预测,非人工标注,非实验验证 |
| 建议用途 | 假设生成、候选排序、方法学基准 |
| 不建议用途 | 临床变异分级、诊断结论、直接监督标签 |
| 引用要求 | 引用论文与网址,注明取数日期 |
常见误读(避坑清单)
| 说法 | 实际 | 证据 |
|---|---|---|
| 它是 PhysioNet 上的数据集 | 不是,托管在哈医大站点 | PhysioNet 项目索引无此记录,按该地址访问返回 404 |
| 它有 24 万个变异,规模不大 | 24 万是去重后的位点数,逐样本累计是 382 万个 | 论文方法段与结果段分别给出两个口径 |
| P-score 高就是致病 | 分数只反映打断了多少条调控关系 | 权重规则为二值设定后取平均,未经临床校准 |
| 它可以做胚系变异解读 | 胚系位点在流程中被过滤 | 方法段明确过滤 dbSNP、gnomAD 与千人基因组 |
| 六个维度权重相同就是同等可靠 | 权重相同,可靠度差别很大 | 序列扫描、结构映射、免疫预测三类证据强度递减 |
| 有网页就能批量下载 | 只能逐样本导出,无接口 | 站点无 REST 端点,下载页只有元数据表 |
| 细胞少的样本扰动少说明影响小 | 是阈值效应,不是生物学差异 | 高频阈值固定为每样本 50 个细胞 |
| RBP 维度记录最多说明最重要 | 是基序库最大、匹配最容易 | ATtRACT 基序短且数量多 |
| 论文是开放获取就等于数据可商用 | 论文是 CC BY-NC,数据许可未单列 | 站点仅有版权页脚,无数据使用协议 |
| 它可以替代变异检出 | 它是注释器,输入已检出的位点 | 不提供读段与逐细胞等位基因频率 |
FAQ
| 问题 | 回答 |
|---|---|
| 它和 PhysioNet 是什么关系? | 没有关系。它托管在哈尔滨医科大学生物大数据中心的站点,论文发在核酸研究 2026 年数据库专刊。按 PhysioNet 的路径访问会得到 404。 |
| 248,695 与 3,822,897 哪个是真实变异数? | 两个都对,口径不同。前者是跨组织去重后的位点数,后者是逐样本累计计数,两者相差约一个数量级,正好对应样本规模。论文另给平均每样本三千七百余个,是累计值除以样本数的结果。 |
| 为什么摘要和结果段的扰动数对不上? | 摘要说每样本逾 7 万条,结果说合计约 3.19 亿条,两者比值与样本数不吻合。官方未说明差额构成,引用时注明出处段落即可。 |
| 能不能直接拿 P-score 做致病性排序? | 可以作为候选排序的一个特征,但不能作为致病性结论。它的权重是人为设定的二值打分,没有经过任何临床队列校准。 |
| 有 API 吗? | 没有。只有网页检索、表单提交与逐样本导出三种方式,全部为人眼操作设计,程序化取数需要额外工程投入。 |
| 为什么下载页没有扰动明细? | 扰动明细按样本、维度、细胞类型分层,量级在亿级,站点选择逐层下钻而不是打包。全量获取只能逐样本导出或重跑流程。 |
| 支持小鼠或其他物种吗? | 不支持。检索时物种限定为智人,全部坐标绑定 GRCh38。 |
| 插入缺失和结构变异覆盖吗? | 不覆盖。资源只处理单核苷酸替换,名字里的 SNV 就是范围声明。 |
| 新抗原结果可以直接做疫苗设计吗? | 不能直接用。结果依赖预测时的 HLA 等位基因集合,必须先核对自己样本的分型是否落在集合内,再做实验验证。 |
| 数据可以商用吗? | 不明确。论文是禁止商用许可,资源免费开放但未单列数据许可。商用前应联系通讯作者取得书面许可。 |
| 引用时写论文还是写网址? | 两者都写。论文提供版本锚点,网址提供取数入口。资源没有独立 DOI 与版本号。 |
| 为什么抓取时返回 403? | 站点对缺少浏览器标识的请求做了拦截。抓取时带上常规 User-Agent 即可,但仍需注意请求频率。 |
术语表
| 术语 | 中文 | 释义 |
|---|---|---|
| SNV | 单核苷酸变异 | 单个碱基被替换为另一种碱基的变异 |
| HF-SNV | 高频变异 | 在一个样本内至少 50 个细胞携带的变异 |
| scRNA-seq | 单细胞转录组测序 | 逐细胞测量 RNA 表达 |
| scATAC-seq | 单细胞染色质可及性测序 | 逐细胞测量开放染色质区域 |
| Spatial | 空间转录组 | 保留组织位置信息的表达测量 |
| P-score | 综合扰动评分 | 六维分项分数取算术平均 |
| Gain | 增益 | 突变后新出现显著结合或互作 |
| Loss | 丢失 | 突变后原有显著结合消失 |
| Enhance | 增强 | 结合强度上升但未改变有无 |
| Weaken | 减弱 | 结合强度下降但未改变有无 |
| Motif | 基序 | 转录因子或 RBP 识别的短序列模式 |
| PWM | 位置权重矩阵 | 描述基序各位置碱基偏好的矩阵 |
| context++ | 上下文打分 | TargetScan 的 miRNA 结合效率评分 |
| FIMO | 基序扫描工具 | MEME 套件中用于扫描基序命中的程序 |
| JASPAR | 转录因子基序库 | 公开的转录因子结合模式集合 |
| ATtRACT | RBP 基序库 | 公开的 RNA 结合蛋白基序集合 |
| PPI | 蛋白互作 | 两个蛋白之间的物理相互作用 |
| Neoantigen | 新抗原 | 突变产生、可被免疫系统识别的新肽段 |
| HLA | 人类白细胞抗原 | 呈递肽段给 T 细胞的分子 |
| GSVA | 基因集变异分析 | 评估基因集在样本间相对活性的方法 |
| CellPhoneDB | 细胞通讯分析工具 | 基于配体受体对的互作推断 |
| GRCh38 | 人类参考基因组第 38 版 | 资源全部坐标绑定的版本 |
| COSMIC | 体细胞突变数据库 | 用于保留体细胞位点的注释库 |
| gnomAD | 人群变异频率库 | 用于过滤常见胚系位点 |
| DAIMS | 数据与 AI 就绪度框架 | 评估数据集可发现性、可访问性等维度 |
附录 A:核心数字核对表
| 项 | 值 | 来源与层级 |
|---|---|---|
| 样本总数 | 1,026 | 论文方法段,与站点一致 |
| scRNA-seq 样本 | 428 | 论文方法段 |
| scATAC-seq 样本 | 283 | 论文方法段 |
| 空间转录组样本 | 315 | 论文方法段 |
| 细胞与空间点合计 | 4,602,505 | 站点首页,官方页面 |
| 细胞数 | 约 413.9 万 | 论文方法段 |
| 空间点数 | 约 46.3 万 | 论文方法段 |
| 组织类型 | 56 | 论文与站点一致 |
| 细胞类型 | 26 | 论文方法段 |
| 高频变异(累计) | 3,822,897 | 论文方法段 |
| 高频变异(去重) | 248,695 | 论文结果段,与站点一致 |
| 平均每样本高频变异 | 3,726 | 论文结果段 |
| 扰动事件合计 | 约 3.19 亿 | 论文结果段 |
| 高频阈值 | 每样本 50 个细胞 | 论文方法段 |
| 参考基因组 | GRCh38 | 论文方法段 |
| 药物靶基因对 | 20,744 | 论文方法段 |
| 论文 DOI | 10.1093/nar/gkaf1076 | 论文 |
附录 B:数字的来源分层
| 层级 | 含义与本文中的例子 | 可信度 |
|---|---|---|
| 官方页面 | 站点或论文直接陈述,如 56 种组织与约 460 万个细胞与空间点 | 高 |
| 论文方法 | 方法段的具体参数,如 50 细胞阈值与 FIMO 的 1e−5 阈值 | 高 |
| 论文结果 | 结果段的汇总数,如去重位点数与 3.19 亿条扰动 | 高但口径需注明 |
| 内部不一致 | 两处陈述无法对齐,如每样本逾 7 万条与合计 3.19 亿条 | 低,仅作提示 |
| 未核实 | 官方未公布,如数据总体积与各维度记录占比 | 不写入正文结论 |
未核实的项一律不填数字:数据总体积、各维度记录在总量中的占比,站点都没有公布,正文只作定性描述。
附录 C:参考文献
| 文献 | 类型与用途 |
|---|---|
| Shi J 等,核酸研究 2026,54(D1):D971–D981,doi:10.1093/nar/gkaf1076 | 主论文,全部方法与规模数字 |
| 站点首页与浏览页,bio-bigdata.hrbmu.edu.cn/CellSNVReg | 官方页面,字段、导出格式与疾病对照表 |
| SComatic(论文参考文献 13) | 方法,scATAC 与空间样本的变异检出 |
| scSNV(论文参考文献 26) | 方法,scRNA 样本的变异检出 |
| ANNOVAR 5.0(论文参考文献 31) | 方法,变异功能注释 |
| TargetScan(论文参考文献 32) | 方法,miRNA 结合打分 |
| FIMO 与 MEME 套件(论文参考文献 33) | 方法,基序扫描 |
| JASPAR(论文参考文献 34) | 数据库,转录因子基序 |
| ATtRACT(论文参考文献 35) | 数据库,RBP 基序 |
| Interactome INSIDER(论文参考文献 36) | 数据库,蛋白互作界面 |
| NetMHCpan 4.1(论文参考文献 38) | 方法,肽与 HLA 结合预测 |
| CellPhoneDB v5(论文参考文献 45) | 方法,细胞通讯 |
| Drug2Cell(论文参考文献 47) | 数据库,药物靶基因对 |
| CanCellVar(论文参考文献 15) | 前作,scRNA 数据来源 |
| stSNV(论文参考文献 17) | 前作,空间数据来源 |
附录 D:任务代码
一段把导出表转成训练可用长表的最小脚本,含字段校验与去重。
#-- 导出表转长表:校验列、统一位点写法、按四元组去重
import re
import pandas as pd
RAW = "browse_export.csv"
OUT = "cellsnvreg_clean.parquet"
df = pd.read_csv(RAW, encoding="utf-8-sig")
df.columns = [c.strip().replace(" ", "_") for c in df.columns]
need = ["Samples_ID", "Data_type", "Tissues", "Tissue_states", "No.HF-SNV"]
for col in need:
if col not in df.columns:
raise SystemExit(f"缺少必需列 {col}")
def norm_locus(value: str) -> str:
#-- 去掉千分位空格,统一大写成 chr:pos:ref>alt
return re.sub(r"\s+", "", str(value)).upper()
if "SNV" in df.columns:
df["SNV"] = df["SNV"].map(norm_locus)
key = [c for c in ["Samples_ID", "SNV", "Cell_type", "Dimension"] if c in df.columns]
before = len(df)
df = df.drop_duplicates(subset=key)
print(f"去重 {before - len(df)} 行,剩余 {len(df)} 行")
df.to_parquet(OUT, index=False)
print("写出", OUT)
脚本假设导出表里已经有位点、细胞类型与维度三列。如果只有浏览页的汇总表,这三列不存在,需要先逐样本下钻取明细,再回到这个脚本。
附录 E:如果只记五件事
| 序 | 要点 |
|---|---|
| 一 | 它回答的是「变异在哪种细胞里动了哪几根调控线」,不是「这个变异是否致病」 |
| 二 | 两个变异口径要分清:逐样本累计 382 万,跨组织去重 24 万 |
| 三 | 六个维度里只有前四个是序列扫描,后两个分别依赖结构库与免疫预测,可信度依次下降 |
| 四 | 全链条预测,无湿实验回验,适合假设生成,不适合当监督标签 |
| 五 | 没有接口、没有批量包、许可未单列,规模化使用前先算工程与合规成本 |
编辑说明
本篇的事实核对时间为 2026 年 10 月 28 日。核对方式为直接抓取哈尔滨医科大学站点首页、浏览页、下载页、帮助页的原始 HTML,并从 Europe PMC 取得论文全文 XML 逐段比对。
需要说明一处前提修正:流传的检索线索称该资源位于 PhysioNet 且页面返回 200,核对结果为不成立。PhysioNet 项目索引共 453 项,URL 中含 snv 的为 0 项;按 physionet.org/content/cellsnvreg/ 访问返回 404,站内检索该词为 0 结果。真实托管地为 bio-bigdata.hrbmu.edu.cn/CellSNVReg/,带浏览器标识可正常返回 200。本篇按真实来源撰写。
未覆盖的内容有三项:数据总体积、各维度记录在总量中的精确占比、站点是否另有一份未公开的批量下载包。前两项站点未公布,第三项无入口可查,正文均未给出数字。
相关数据集导航
以下为站内 AI-Ready 数据集百科中与本词条共享多个主题标签的相关数据集,按相关度降序排列:
- expression-atlas-legacy — 共享标签:基因组学与多组学 / 单细胞基因组学 / 变异与注释
- expression-atlas — 共享标签:基因组学与多组学 / 单细胞基因组学 / 变异与注释
- 3d-genome-browser — 共享标签:基因组学与多组学 / 单细胞基因组学 / 变异与注释
- cnascope — 共享标签:基因组学与多组学 / 单细胞基因组学 / 变异与注释
- c-elegans-embryo-lineage-3d — 共享标签:基因组学与多组学 / 单细胞基因组学
- igvf-catalog — 共享标签:基因组学与多组学 / 变异与注释
- clinmave — 共享标签:基因组学与多组学 / 变异与注释
- cosmic — 共享标签:基因组学与多组学 / 变异与注释
- clinvar — 共享标签:基因组学与多组学 / 变异与注释
- dbsnp — 共享标签:基因组学与多组学 / 变异与注释
导航说明:本章节由全站统一标签体系自动计算生成(标签重合度算法),双向可达;点击链接可跳转至对应数据集词条。

