Single Cell Expression Atlas(SCEA): 从网页点到代码拉数据
2026/9/13 21:38:09 网站建设 项目流程

这个基因在哪个器官里表达高?

bulk RNA-seq,54个组织位点

Human Cell Atlas

人体所有细胞类型的完整目录

多中心联盟项目,数据分散在各门户

SCEA

这个基因在某个研究的哪些细胞类型里是?

统一重处理的scRNA-seq实验集

进行一下类比, (关于这个类比的失效边界可查看第七节), GTEx是一栋楼里面每间房屋各自电表读取出来的总数, SCEA是每间房屋之内每一盏灯的开关所处状态。

二、家底盘点:2026年8月24日实测

SCEA给出一个官方JSON清单端点, 一回返回全部实验元讯息。当天抓取结果:

C:///curl.exe -s "" -o .json

指标

实测数值

说明

实验总数

384个

全部为(正常/参照态表达)

细胞总数(合计)

15,370,362

约1537万个细胞/文库

物种数

22种

动物359 / 植物21 / 原生生物3 / 真菌1

人/鼠实验

160 / 125个

果蝇41个排第三(Fly Cell Atlas贡献)

最大实验

E-ANND-5:911,873 cells

发育期人体免疫系统跨器官图谱

HCA关联实验

99个

标记为Human Cell Atlas项目

COVID相关实验

22个

2020-2021疫情期的集中收录

数据更新跨度

2018-05 至 2026-04

最近一次更新2026年4月

几个值得记住的点:

SCEA 是只进行操作而不单单是做, 疾病与正常的差异分析实验归属 Atlas 主库(bulk 侧) , 此处收纳的是“正常态 / 参照态”的单细胞表达 , “assay”同细胞类似 , 但严格来讲是单个细胞构建的一个测序文库, 个别实验中一个细胞测两次会存在轻微重复计数 , 在量级方面可忽略不计 , 规模上它并非最大的单细胞数据库(HCA 、体量更大) , 但它是唯一由 EBI 运用同一套流程统一重新处理的 , 这便正是它的核心价值 , 下一节展开 , 三是为何需要”统一重处理”? ——SCEA存在的根本理由

设想一下, 你从GEO那儿下载了5篇有关乳腺上皮的scRNA-seq研究, 打算进行合并分析, 是如此吧。

SCEA将这些通通消除, EBI团队在获取原始数据之后, 运用自身的统一流程, 也就是先进行比对, 接着开展定量, 随后实施质控过滤, 再予以聚类, 之后进行基因检测, 最后进行细胞类型注释, 重新走上一遍, 然后:

也要知晓代价: SCEA进行重处理后所形成的结果给出的是“一份观点”, 并非属于唯一性的真理。原作者要是选用了另外一套参数, 那么就有可能聚集出数量不一样的亚群。在进行引用的时候, 写上“经SCEA统一管线重处理”, 相较于写上“SCEA证实了XX”, 会显得更为准确。

四、采取三种用法, 先是网页, 接着进行下载, 然后是 API4.1 网页交互, 此为零代码的情形。

首页的搜索框之中输入基因名, 像KRT8这样的, 选择物种之后, 所得到的是这样的结果列表, 即“哪些实验之中这个基因存在有表达或者记录的”。点击进入任何一个实验:

适合快速看一眼、截个图放PPT。

4.2 文件下载(推荐给要做正式分析的读者)

在每个实验页面的右上角位置, 有按钮能够给出标准文件包。需要注意此项, 即这个地方的URL模式, 是网上教程出错频率最高的所在之处。具体而言, 路径呈现的是(单数)这种情况, 而非(复数)的状况。并且, 源码作者特意撰写了一条注释, 用来提醒关于这一点的相关内容。

当日实测(以E-CURD-7人乳腺上皮为例):

BASE=""

C盘斜线斜线curl.exe, 以静默方式, 使用“$BASE/?=&=-”这个内容, 输出到.tsv文件。

C盘根目录斜线斜线curl.exe, 以静默模式运行, 请求指向$BASE斜线zip问号等于号负号genes的链接, 将结果输出到点zip文件。

的全部合法值(实测自官网下载菜单):

内容

格式

-

每细胞一行:供体、组织、细胞类型标签等

TSV

-raw

过滤后的raw 矩阵

MTX三件套zip

-

进一步过滤版

MTX zip

归一化后的表达矩阵

MTX zip

-genes

每个一个TSV

TSV zip

-

实验级说明文件

zip

细胞→对应关系

TSV

MTX三件套乃稀疏矩阵, 此稀疏矩阵以(.mtx)为标识, 包含行名也就是基因, 还附带列名即细胞, 这些都能够直接进行读取。经过真实测试, 在E-CURD-7中, 存在25,155个基因与631个细胞, 这是经过质量控制之后的数据, 其raw包大小约为20 MB。

4.3 一条龙:官方封装

内置了SCEA下载函数,两行拿到对象:

as sc

adata =

sc..("E-CURD-7")

# 返回 :X= , obs=细胞元数据+, var=基因

它在内心里就是捣鼓拼接上面那两个URL, 也就是.tsv加上 -raw.zip, 所以同样会受到”单数”URL的限禁制的约束。不想进行安装其部件这一行为动作和操作的人, 使用4.2版本的裸curl加上自己动手去展开、组装起来, 也完全是具有等价性、等同性的。

4.4 JSON查询端点(本文实测的重点)

索尼电脑娱乐美国分公司没有具备正式性质的REST API文档, 然而前端进行调用的JSON服务能够直接加以使用。

# 全部实验元信息

curl -s "

"

# 某实验的基因热图数据(按聚类)

curl -s "

"

# 某基因在某实验的逐细胞表达(UMAP坐标叠加用)

curl -s "

"

# 基因名自动补全

curl -s "

+"

实测踩坑实录(都是2026-08-24当天撞上的):

JSON端点速度极其慢, 其中全库基因检索超过120秒都没有响应, 说明这是服务端所出现的问题, 并非是操作姿势有误。对于批量任务而言应当改用4.2下载文件接着在本地进行处理。cell - plots必须携带维度参数, 当等于UMAP时若不携带等于20会报错。这些默认参数隐藏在实验页面的HTML里的字段中, 需先抓取页面才能够调用API。k值不可以随意猜测, 因为每个实验的预聚类k值是不一样的, 例如E - CURD - 7是。

2,4,5,7,11,17,22,26

传错k报,Index 0超出范围。k列表也在页面HTML里。基因只有ID, 没有其他内容: 需自我获取端点或转换(见第五节实战相关内容)。这些JSON端点属于前端内部接口, 不存在稳定性承诺, 在生产环境中要谨慎依赖。五、十分钟的实战描述: 从实验到“哪个表达KRT8最高”。

场景: 你想晓得, 于乳腺上皮研究E-CURD-7之时, 8(KRT8, : ENSG)主要处于哪一群细胞当中。

Step 1 — 拿设计文件,看每细胞元数据:

as pd

= pd.(".tsv", sep="\t")

print(.Shape), (867, 25), 注意, 包含全部867个assay, 然而矩阵仅仅保留经过QC之后的631个细胞。

Step 2 — 拿归一化矩阵,抽KRT8那一行:

, numpy as np

from scipy.io

z = .("norm.zip")

mtx = (z.open(

n for n in z.() if n.(".mtx")

)) # 25155 x 631

要留意, _rows/_cols文件呈现的是"IDID"这样的双列格式情况, 从中选取的是第一列。

genes =

把n赋值给n, 对于在z的括号里的n而言, 如果n有“_rows”这个属性。

cells =

l.().split("\t") for l in z.open(

请你提供的内容有误, 这看起来不像是正确的代码片段。请修正后再让我进行改写。

krt8 = mtx

若numpy数组中的基因等于“ENSG”采用np.where函数, 冒号。

.().()

Step 3 — 对比各的平均表达:

clu = pd.(

",

sep 等于"\t"), # 第一列, sel.K 等于 TRUE 的那一行, 就是默认聚类。

row = clu.iloc

= dict(zip(clu., row.))

df = pd.({"":

for c in cells

, "KRT8":krt8})

试验实测得出的输出结果是, 4 的平均表达处于最高水平, 大约为 557 CPM, KRT8 在此次实验里 75%的细胞当中被检测到出现, 这一情况是符合乳腺腔上皮的生物学预期的。

步骤4, 进行交叉验证基因表, 要下载-genes包, 查看KRT8是不是出现在某的高logFC名单之中(实际测量它处于k=17聚类情况下17的第9位, logFC等于4.86, 这与步骤3的结果是一致的), 接着随机抽查排名靠前的(比如1榜首ENSG为MGP, logFC是7.08)前去文献核对查看其生物学合理性。

整个流程, 不安装任何单细胞软件, 纯粹借助scipy, 在笔记本上便可运行。这恰恰就是SCEA的价值所在, 它把那些繁重的工作预先完成了, 并留给你的仅仅是查询以及小规模的计算。

六、什么时候别用它?

诚实地说出边界,帮你省时间:

场景

该用SCEA吗

替代方案

快速查基因的细胞类型分布、找

首选

教学演示、截图入门

首选

需要疾病vs对照的差异分析

只收

/ 原始GEO

需要最新最大的人类图谱(如 全量)

️ 部分收录

HCA Data /

需要自己重聚类、改参数

️ 可以下载MTX重跑,但要尊重原设计

直接下原始数据

需要蛋白水平验证

只有RNA层

Human Atlas

还有一个隐性的限制, 那就是SCEA的收录存在选择性, 何为选择性? 是需要经过人工筛选以及质量把关的那般过程, 并非所有的GEO scRNA-seq数据都在其中。另外要注意, 查完之后没有找到相关数据, 并不等同于实际上数据不存在。

七、类比的失效边界(认真版)

第一节讲“GTEx是房间电表总读数, SCEA是每盏灯的开关”, 这般阐述有着不恰当性, 这番类比存在误导性, 此比喻会在三处地方误导你:

不是开关, 单细胞表达是连续谱。在同一个细胞类型当中, KRT8的表达量存在高低差别(呈对数正态分布), 并非亮或灭的二值情况。更确切的图像是, 每一盏灯都设有一个亮度调节旋钮, 并且该旋钮在同类灯之间的位置也并非完全相同。细胞类型自身是聚类的结果, 并非天然的实体。k等于7时聚出的3, 和k等于26时聚出的3, 有可能完全属于不同的细胞集合。SCEA给出的细胞类型标签, 是基于这套流程以及这组参数所生成的一份注释, 并非柏拉图理念中真正的细胞类型。类比将问题给掩盖了, 单细胞捕获效率存在着限度, 真实表达的基因存在着相当大的概率被测到为0, 也就是假阴性, “灯灭”这种情况, 有可能是真的没开启, 还有可能是灯已经开启了, 然而却没有人看见, 在解读低表达或者零表达的时候, 需要留好这个心眼, 八, 横向对比的那个速查表。

维度

SCEA

GTEx

HCA

数据层级

单细胞()

bulk

单细胞(含疾病)

单细胞(图谱级)

重处理

EBI统一管线

官方管线

️ 收录即用为主

各团队自有

体量

384实验/1537万细胞

~2万样本

数千万细胞

千万级

物种

22种

人为主

人为主+模式动物

上手难度

适合

入门/快查/教学

组织层定位

大规模整合分析

权威图谱引用

九、FAQ

问题1: SCEA跟Atlas存在着怎样的关系呢。它们是来自同一个团队(也就是EMBL - EBI的Atlas组)的两个不同模块, 其中主库(gxa)负责管理bulk以及蛋白表达方面, 而SC子库(gxa/sc)负责管理单细胞相关内容。在文献引用的时候要留意进行区分, 旗舰论文共同使用“Acids数据库特刊”, 这种特刊每年会有一篇, 是一个系列的。

问句二: 数据可不可以用于商业用途? SCEA自身是依据EBI开放政策来提供的, 然而每一个实验另外都有着原始来源许可(大多数属于CC - BY类别), 在下游使用之前要前往实验页面去确认相关的来源条款。

问题3: 怎样进行引用行为呢? 资源本体引用NAR系列论文内容(2020年为创刊号、2024年有更新、2026年为最新状态), 具体的发现情况还需要引用原始研究内容(实验页面均给出了原文对应的链接)。

Q4: 为何我所搜索的基因于某个实验当中查找不到呢? 存在三种可能性: 其一, 该一实验未曾测到该基因(基因panel以及物种相互不匹配这一情况);其二, 致使表达量成为零;其三, SCEA重处理之际的质控将其过滤掉了。应当先于别的实验进行交叉确认之后再得出结论。

Q5: 是否能够拿到原始的fastq呢? 答案是否定的。SCEA所给予的是重新处理之后的产物, 具体为矩阵以及聚类等方面。原始的序列需要从实验页面的链接进行跳转, 从而到源库当中去另外获取。这里的源库是GEO以及EGA。而涉及到人类供体的那一部分, 通常是需要进行dbGaP或者EGA的受控申请的。

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询