一个变异六维调控 — CellSNVReg 单细胞扰动资源

1,026 样本 / 460 万细胞与空间点 / 六维扰动

来源 http://bio-bigdata.hrbmu.edu.cn/CellSNVReg/发布时间: 2026-10-28最后更新: 2026-10-28 阅读 14
一个变异六维调控 — CellSNVReg 单细胞扰动资源

信息速览

数据集名称一个变异六维调控 — CellSNVReg 单细胞扰动资源
数据类型多组学,元数据,文献引用
规模1,026 个样本 / 约 460 万个细胞与空间点
接入方式http://bio-bigdata.hrbmu.edu.cn/CellSNVReg/
AI 就绪度

变异注释这件事,过去二十年一直有一道跨不过去的坎:把变异和基因表达连起来的研究,大多用的是整块组织磨碎之后的平均值。一块肿瘤里,恶性细胞、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 — 共享标签:基因组学与多组学 / 变异与注释

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

返回 AI-Ready 数据集