做单细胞和空间转录组分析这些年,我拆解过的脑区图谱不算少,但轮到把人类视交叉上核(SCN)的空间和单细胞转录组图谱完整过一遍的时候,我还是专门腾出了一整块时间。SCN不是什么网红脑区,大部分人可能一辈子没听过这个名字,但它管着你每天几点犯困、几点清醒、体温怎么波动,连褪黑素几点开涨都是它排的班表。这是我这套HD系列深度拆解文章的第15篇,核心就一件事:把这张人类SCN空间+单细胞的联合图谱,从立项逻辑、建库策略、分析流程一直拆到生物学结论和实战避坑。
这篇内容适合三类人看:一是做单细胞或空间组学数据分析的学生、工程师,能直接抄走一套可落地的分析流程;二是研究昼夜节律和神经环路的人,看看图谱揭示了哪些之前免疫组化看不到的细节;三是单纯想搞懂“单细胞+空间”这对组合拳怎么打的技术爱好者。看完你未必能马上复现整套实验,但至少能搞明白每一步为什么这么设计,以及哪些钱可以不花、哪些坑可以提前绕开。
1. 项目概述:大脑的总时钟为什么值得做一张图谱
1.1 视交叉上核到底是什么
视交叉上核位于下丘脑前部、视交叉的背侧、第三脑室两侧,体积也就一毫米见方,人类单侧大约由几万个神经元构成,在整颗大脑里属于不折不扣的“小不点”。但就是这么一小团细胞,承担着全身节律系统“总控台”的角色。
它的工作原理可以简单类比成一个带光传感器的调度中心:视网膜黑视素细胞感知光照,通过视网膜-下丘脑束把光信号直接送进SCN,SCN把信号整合后输出到下游节律中枢,再通过激素和自主神经影响到肝脏、心脏、肌肉等外周器官。你凌晨三点还清醒、倒时差时浑身难受、上夜班后内分泌乱掉,背后都是这个核团在“抗议”。SCN一旦受损,动物的昼夜节律会几乎完全丧失。
正因为它重要,搞清楚这个核团在细胞层面到底由哪些类型的神经元和非神经元细胞组成,就成了理解昼夜节律的必要条件。过去我们靠免疫组化和原位杂交,一次只能标记三四个分子,看到的是“VIP细胞”“AVP细胞”这种粗粒度分类。但细胞的身份从来不只靠一个基因决定,要完整回答“人类SCN里到底有多少种细胞”,就需要转录组层面的方法。
1.2 为什么单细胞数据还不够
单细胞转录组能给出细胞的“身份卡”,告诉我们某种细胞表达哪些基因,从而推断它属于哪个类型。但单细胞测序有个天然短处:组织被解离成悬液后,细胞原来的位置信息就全丢了。而SCN的功能高度依赖空间排布——核心区接收光信号、外壳区负责输出节律信号,这个“核心-外壳”结构是小鼠里反复证实的经典模型。如果只看单细胞数据,我们能看到细胞类型,却看不到这些细胞是不是真的按照某种空间规律分布。
空间转录组正好补上这一环:它把组织切片上的每个位置都标上空间条形码,测序后既得到表达谱又得到坐标。但空间转录组的每个捕获点捕获的是十几个到几十个细胞的混合信号,不是真正单细胞分辨率。
所以这张图谱的价值就在于联合:单细胞数据提供细胞类型级别的分辨率,空间数据提供位置信息,两者整合后才可能既知道“有哪些细胞”,又知道“它们待在哪里、挨着谁”。说得直白点,单细胞是给你一份零件清单,空间转录组是把零件装回原来的位置,合在一起才是一张完整的装配图。
1.3 这张图谱到底能回答哪些问题
摆在我面前的人类SCN图谱,主要想回答四个层面的问题。第一,细胞类型清单:人类SCN里到底有哪些神经元亚型、多少种胶质细胞、各自表达什么特征基因。第二,空间结构基础:小鼠里清晰的核心-外壳分区在人类里是否存在,如果存在,对应的细胞类型组成是什么。第三,物种差异:人类和小鼠SCN的细胞构成到底有多大区别,哪些小鼠里验证的规律不能直接套到人脑上。第四,临床线索:从神经元的分子特征出发,能不能找到与衰老、睡眠障碍、神经退行性疾病相关的细胞状态变化。
这个定位决定了后面所有的技术决策,不是单纯“为了发文章而测序”,而是每一组实验、每一个分析参数都要能向这些科学问题靠拢。这也是我在拆解这类图谱时最看重的一点:技术服务于问题,先想清楚要回答什么,再去选平台、定参数,否则数据产出一大堆,分析起来反而不知道往哪个方向走。
2. 技术路线:空间和单细胞是怎么打配合的
2.1 单细胞转录组:先把零件清点出来
目前主流的单细胞建库平台用的是液滴微流控方案,简单说就是把单个细胞或细胞核和带条形码的凝胶微珠一起包进油滴,每个油滴相当于一个独立反应舱。微珠上的条形码给每个细胞发一个唯一编号,后续测序数据里凡是带同一编号的reads就归属同一个细胞。
关键点在于,成年人脑组织做单细胞测序,我建议优先考虑单核RNA测序而不是全细胞。原因很现实:成熟神经元有庞大的树突和轴突结构,常规的酶消化解离非常容易把细胞弄死或激活应激基因,导致活细胞比例极低、数据质量很差。抽核是绕过这个问题的主流做法——把组织裂解后只保留细胞核,神经元核的回收率和基因检出率都稳定得多。
但抽核也会带来一个分析上的坑:核内主要捕获的是未成熟mRNA,内含子区域的reads占比会很高。上游比对时不能只统计外显子,要保留内含子比对,否则大量真实信号被扔掉,每个核的有效基因数会虚低。这个细节我在不少项目里都见过有人踩坑,后续分析发现基因检出中位数怎么都上不去,最后查出来是上游参数没开内含子reads。
2.2 空间转录组:把零件装回原来的位置
空间转录组目前的常见方案是原位捕获芯片:新鲜冰冻组织切片贴在布满位置条形码的芯片上,每个捕获点直径大约55微米、点间距100微米左右。组织渗透裂解后,mRNA扩散到芯片上,由对应位置的条形码捕获并反转录。测序后每个点既得到表达谱,又天然带着坐标。
这个设计的直接后果是分辨率问题:一个点覆盖的是一小块组织,里面通常有十几到几十个细胞,所以空间转录组给的是“局域混合表达谱”,不是单个细胞的表达谱。想从混合信号里反推出每个点上有哪些细胞、各占多少比例,就要靠单细胞数据来做参考,通过算法把混合信号“解卷积”回细胞类型组成。
空间转录组的第二个限制是灵敏度比单细胞低,样本RNA质量不好时,大量点会变成白点。所以选样本、保RNA质量、切片的厚度控制都很关键,后面实操部分我会展开说。
2.3 为什么不直接上原位单细胞测序
这个问题我在复现和讨论时被问过很多次。既然空间转录组分辨率不够,为什么不直接用原位测序技术,一步到位拿到单细胞加空间位置?原因主要是成本和覆盖面的权衡。
多重原位测序(比如基于条形码原位测序或组合标记的原位杂交类方法)确实能做到单细胞分辨率和空间定位,但这类方法通常只能靶向几十到几百个经过挑选的基因,做不到全转录组覆盖。而SCN图谱的一大目标就是发现新细胞亚型和新的标记分子,属于探索性研究,需要尽可能全的转录组覆盖。
反过来看,如果我只需要验证已知的几个神经肽分布,那用多重原位标记就够了,完全没必要跑全转录组空间捕获。但探索性场景下,选择是明确的:全转录组单细胞测序给深度,全转录组空间转录组给广度,再配合小范围的原位验证实验做补充。这是一个典型的“广筛+验证”研究策略,既控制成本,又不牺牲发现能力。
3. 实操流程与关键参数
3.1 人脑SCN样本怎么取和处理
人脑样本不像模式动物那样方便,SCN位置又刁钻,取材第一步就要和神经病理方向的人配合。SCN位于视交叉上方,通常取视交叉周围一小块下丘脑组织,厚度大约5-10毫米,然后结合HE染色切片和肉眼解剖确认方向。
RNA质量是人脑样本第一道生死线。死亡后人脑RNA会快速降解,公认的做法是尽量缩短死后间隔,样本离体后尽快低温保存,并选用合适的组织保存介质。实际操作中,很多脑库样本的RIN值并不好看,组织RNA的RIN大于7属于优质,但遇到部分降解样本时,更实用的质量指标是DV200,也就是长度在200个核苷酸以上RNA片段所占比例。空间转录组对RNA完整度比单核测序更敏感,因为空间芯片捕获的是组织原位释放的mRNA,短片段比例过高会直接导致捕获量下降。
处理流程上,我建议的路线是:取组织后先分一块做冷冻切片用于空间转录组,其余部分用于抽核。抽核时把组织剪碎,在预冷的裂解缓冲液中研磨,再通过蔗糖梯度离心或者过滤柱去除髓鞘碎片。因为下丘脑白质少但血管丰富,髓鞘污染不严重,但仍建议加一步密度梯度离心,能让核纯度明显提升,对后续建库很有利。
3.2 单核测序的建库和测序参数
单核建库的目标回收核数一般在每例样本5000到12000个核之间,这个数量对鉴定SCN这种小核团内的主要细胞类型是够用的。测序深度建议做到至少3万到5万reads每个核,SCN神经元亚型之间的表达差异可能只在部分转录因子上体现,深度不够很容易在聚类时把稀有亚群吞掉。
建库前的质检重点看三件事:计数准确度、核膜完整度和背景杂质。核悬液里如果有大量碎片,液滴平台会把碎片当成细胞包进去,产生大量低复杂度文库。判断方法很简单,建库前用荧光染料对核进行染色计数,并设定一个完整核的判定阈值。实际操作里,碎片多的时候直接再加一次离心洗涤,比后续分析里拼命过滤更省事。
上游定量的时候要注意使用对应的参考基因组版本,并开启内含子reads统计参数。处理后一般要求每个核比对率高于80%,每个核检测到的基因数中位数在800到2500之间。如果中位数太低,优先怀疑RNA降解或建库投入量不足,而不是急着改下游分析参数。
3.3 空间转录组的切片和运行要点
空间转录组需要把组织切片直接贴在带条形码的芯片上,所以对切片的定位和形态要求很高。SCN体积小,一张10微米厚的冠状切片可能只覆盖核团的一部分区域,通常需要连续切几张并做HE对照,才能确定哪一片刚好切到目标位置。
切片时温度要控制在-20摄氏度左右,贴片后要在显微镜下确认组织没有褶皱、气泡。组织形态一旦歪曲,后面所有空间坐标的分析都会受影响。固定、染色、透化的时间需要根据组织类型微调,透化时间太短mRNA释放不充分,透化时间过长又会增加扩散,空间信号会变糊。每个样本最好都做一次透化时间梯度测试,不要盲目参考默认条件。
质量评估上,主要看每个捕获点的UMI数和基因数,以及组织覆盖区域的spot占比。一张合格的SCN空间切片,组织覆盖区域点位的基因检出应该在数百到上千的等级,同时还要有明显高于背景的信号强度。如果大部分点基因数极低,先检查RNA质量,再检查透化条件,别急着跑下游。
4. 核心分析流程与实操记录
4.1 单细胞数据质控、聚类和批次整合
拿到单核数据后,我习惯先把质控线收紧。过滤标准一般包含三个维度:每个核的基因数下限(排除空液滴和碎片)、基因数上限(排除可能的双核或过度扩增)、线粒体reads比例(抽核样本这个比例通常很低,设置上限主要用于排除破损核)。以下是一套我常用的Seurat处理流程:
library(Seurat) scn <- CreateSeuratObject(counts = counts, project = "SCN", min.cells = 3, min.features = 200) scn[["percent.mt"]] <- PercentageFeatureSet(scn, pattern = "^MT-") scn <- subset(scn, subset = nFeature_RNA > 500 & nFeature_RNA < 8000 & percent.mt < 10) scn <- SCTransform(scn, vars.to.regress = "percent.mt") scn <- RunPCA(scn, npcs = 50) scn <- RunHarmony(scn, group.by.vars = "orig.ident") scn <- RunUMAP(scn, reduction = "harmony", dims = 1:30) scn <- FindNeighbors(scn, reduction = "harmony", dims = 1:30) scn <- FindClusters(scn, resolution = 0.8)我特别想说一下为什么要做批次整合。人脑SCN样本通常来自多个供体,供体之间的性别、年龄、死亡原因差异都会带来基因表达的背景差异。如果不做任何处理直接合并聚类,很容易出现“按个体分堆”而不是“按细胞类型分堆”的现象。我用Harmony做供体维度矫正,同时保留生物学差异源如细胞类型本身的表达特征。整合之后必做的验证是检查已知标记基因是否还在预期的细胞群里,整合过度会把真实信号也抹掉,这一步千万不能省。
双核检测也要做。我倾向于用Scrublet或类似工具,但双核率的判断还是要结合表达谱本身——如果一个细胞群同时高表达两种互斥标记基因,那基本可以判定是双核,直接在过滤阶段删掉。
4.2 细胞类型注释:从自动注释到人工核对
聚类完成后,注释是最费心的一步。我一般分两步:先用已知的经典标记基因做参考,再结合人类SCN已有的公开注释数据做映射验证。SCN的几个关键标记需要牢牢记住:AVP是外壳区标志性神经肽,VIP和GRP在核心区更富集;星形胶质细胞看AQP4和GFAP,少突胶质谱系看MBP和OLIG1,小胶质细胞看P2RY12和CX3CR1,血管内皮细胞看CLDN5和FLT1,血管周细胞看PDGFRB,脉络丛和室管膜类细胞看TTR。
但注释不能只靠一两个标记。SCN神经元亚群经常是多种神经肽共表达,比如某些神经元同时表达AVP和VIP的子集,还有些共表达NTS、PACAP相关分子或prokineticin家族基因。只看单个marker会把这种组合状态切得七零八落。我最后的注释结果一定要回到表达热图上人工过一遍,还要结合已有的生物学知识判断:这个亚群表达的主流神经递质、转录因子、离子通道特征是否自洽。
4.3 空间数据映射和解卷积
空间部分的核心任务是把单细胞注释结果映射到每个空间点上。我的做法是分两步走。第一步,先把空间点的表达数据做标准化和降维,用参考映射类方法把每个点的表达谱和单细胞参考数据关联起来,给每个点打上“最相似细胞类型”的标签。第二步,用cell2location或者类似工具做严格的解卷积,估算每个捕获点中各类细胞的具体比例。
# cell2location 关键参数(简化示例) mod = cell2location.models.Cell2location( sc_use_as_basis, # 单细胞参考的细胞类型表达谱 spot_counts, # 空间点的表达矩阵 detection_alpha=20, batch_size=2500, max_epochs=300, )这一大步里最常见的错误是直接把单细胞参考和空间数据扔进模型,忽略了参考数据的质量。如果单细胞参考里含有大量未过滤干净的碎片或双核,解卷积结果会非常离奇。所以我在跑解卷积之前,会先把单细胞参考重新质控一遍,只保留高置信度的细胞。跑完之后还有个验证动作:把解卷积得到的某种细胞类型的比例,跟该类型经典marker的空间表达分布做空间相关性检查。相关度高,结果才可信。
空间数据本身也有一个必做的步骤:去噪和过滤组织外区域。切片的边缘、褶皱、气泡位置会产生异常信号,这些点要在正式分析前手动剔除。具体方法可以把所有点的总UMI数做一个空间分布图,组织覆盖稀疏的边缘区域一眼就能看出来,直接过滤掉。
5. 这张图谱告诉我们的生物学
5.1 细胞类型构成比想象中复杂
图谱给出的第一层信息是细胞类型清单。除了星形胶质细胞、少突胶质细胞谱系、小胶质细胞、血管内皮和周细胞这些在脑组织里普遍存在的群体,SCN里最受关注的当然是神经元亚型。从表达谱来看,人类SCN神经元不是简单的“一肽一型”,而是多种神经递质和神经肽的组合编码。
比如有神经元以AVP为主但同时表达其他神经肽,有神经元以VIP或GRP为核心标记但又在状态上分出多个亚群。这种组合式身份说明,SCN神经元的信息传递不靠单个分子,而是靠一套“神经肽鸡尾酒”。这在小鼠里也有迹象,但人类图谱显示共表达的组合更加多样,可能意味着人类SCN的网络编码方式比模式动物更复杂。
胶质细胞的异质性也值得一提。图谱里星形胶质细胞可以分出多个状态,小胶质细胞也存在激活相关梯度。虽然SCN的胶质细胞不是节律信号的直接发起者,但它们参与调控神经元周围的微环境、清除和代谢支持,这种异质性很可能在节律调节中扮演被忽略的角色。
5.2 经典的核心-外壳结构在人类里更“松散”
小鼠SCN的经典模型非常清晰:核心区富集VIP神经元,接受视网膜光输入;外壳区富集AVP神经元,负责节律输出。这套模型已经写进无数教科书。但人类图谱的空间映射结果显示,这个界限比小鼠模糊得多,VIP和AVP阳性细胞在空间上更多呈现穿插分布,而不是两个截然分开的区带。
这不是说核心-外壳概念在人类里不存在,而是说它更倾向于是功能梯度而非结构边界。一种可能的解释是:人类SCN的体积更大、细胞数更多,网络内并行处理需求增加,空间分区被削弱,细胞间的连接和功能耦合更多依赖分子表型而不是解剖位置。这个发现对建模的人很关键——如果继续沿用小鼠标尺度的规则来推算人类SCN的输入输出特性,误差会非常大。
5.3 为什么这些发现对临床有价值
从这张图谱的细胞类型数据能延伸出几个应用方向。第一,为“老化如何改变节律”提供细胞学基础线索:图谱数据里不同年龄供体的细胞状态可以对比,某些神经元的转录特征或者胶质细胞炎症状态会随年龄变化,这可能是老年人睡眠碎片化的分子背景。第二,为神经系统疾病中的节律紊乱提供候选标记:如果某种神经元亚群特异表达某类受体或通道,那它就可能成为调控睡眠、情绪相关节律症状的药物靶点。第三,给跨物种转化研究提供坐标:用人类图谱做锚,再看小鼠哪些发现能翻译到人,哪些完全对应不上,避免临床前研究走弯路。
6. 实战中的坑与排查技巧
6.1 核产量低、质量差,怎么救
人脑抽核最常见的问题是产量低或者碎片多,我第一次接触这类样本也栽过。后来总结了一个比较稳的思路:先把组织在预冷缓冲液里充分剪碎研磨,然后过一遍细胞筛去除大块残渣,再上密度梯度离心。如果离心后还是感觉碎片明显,不要怕多一步,再洗一次或者加一个过滤柱纯化。另外所有缓冲液里都要加RNase抑制剂,人脑组织内源RNase活性很高,这一步省了后面质控指标会很难看。
还需要强调一个认知:回收5000个核只是建库起点,真正决定数据能不能用的是核内基因检出中位数。中位数偏低,可能是核膜在裂解时受损,也可能是测序深度不够。排查时优先看测序饱和度,再判断是实验问题还是测序问题。
6.2 多供体样本总是按个体分堆
这是单细胞项目里高频出现的问题。症状很典型:UMAP图上细胞不是按类型聚团,而是按供体来源分成几大坨。原因是供体间本身就有真实表达水平差异,加上各样本建库批次不同。处理方式是先检查性别、年龄、诊断等已知变量是否解释了分群,然后做多供体整合。由于它去掉的是供体水平的背景差异,整合后必须重新验证关键标记基因的表达强度是否仍然正确。
如果整合后某些细胞类型特有的基因反而变模糊了,说明矫正过度,需要调低矫正强度,或者把这些基因从回归变量里排除。
6.3 SCN边界不清、邻组织污染
空间切片上SCN区域很小,很容易混入视交叉的白质或者第三脑室边缘的室管膜细胞。我在看空间聚类图时习惯先画经典标记的空间分布,比如AVP、VIP、GRP、TTR、MBP。哪个区域富集哪类标记一目了然,富集AVP、VIP、GRP的连通区域基本就圈出了SCN范围,而MBP阳性区是视交叉白质,TTR阳性和边缘高信号是脑室侧结构。分析前先把不属于SCN的spot过滤掉,能显著减少下游解卷积结果的污染。
6.4 解卷积模型怎么调都不收敛
解卷积不收敛或者结果不合理,先看参考数据,再看参数。模型收敛依赖参考细胞类型的可区分性,如果单细胞参考里两类神经元的表达谱太接近,模型很难把它们在空间点上区分。这时候选择更稳健的做法是先把高度相似亚群合并后再跑解卷积,拿到空间层面的“大类比例”,再回到原位验证数据里看亚类分布,而不是硬逼模型区分所有亚型。
参数上我习惯把训练轮数加多一些,batch_size改小。如果发现结果对随机种子特别敏感,通常说明参考数据有冗余,该清理的不是参数而是输入数据。
7. 一个实用的小经验和后续扩展方向
最后分享一点个人习惯。每次拿到空间和单细胞联合数据,我都不会一上来就跑复杂的解卷积或空间共定位算法。我会先用最原始的方式把数据看过一遍:单细胞的UMAP分群、经典marker热图、空间上的marker分布图。把这三样东西放在一起,基本能对组织的细胞构成和空间布局建立一个直觉。有了这个直觉再去跑算法,一来更清楚结果是否符合预期,二来能快速分辨算法报错是bug还是数据本身的问题。
这张图谱的扩展空间也很大。如果后续能拿到不同昼夜时间点取材的SCN样本,就能在细胞类型层面观察节律基因表达的周期性;如果和模式生物的同类型图谱做跨物种比较,又能反向筛选人类特有的节律调控分子。这些方向都建立在“单细胞+空间”这套基础数据的质量之上,所以前期每一步质控、注释、空间过滤做扎实,收益会在后续分析里加倍体现。