近5年来,单细胞检测方法已经能够在单个实验中监测数千个单个细胞的基因和蛋白质表达、遗传和表观遗传变化。随着方法的改进和测序成本的降低,产出数据集的大小正在迅速增加,当前的瓶颈仍然是如何对单细胞实验产生的丰富信息进行分析。以下对分析方法进行了简单概述,使大家能够了解在已发表的文献中,单细胞数据的典型结果是如何呈现的。
1. 矩阵生成和质控
单细胞分析的关键是条形码技术,它在保持低成本的同时允许大规模的并行处理。在逆转录过程中,条形码被添加到RNA分子中识别单个细胞。数据分析的第一步是生成数据矩阵, 对于10x Genomics平台的单细胞数据,CellRanger是最常用的(如表1总结了相关工具、方法和数据库信息),主要分析内容包括测序数据拆分、比对、注释和定量。另外,还有一些其他的可选工具,包括UMI tools、zUMIs、kallisto、STAR和STARsolo等。
第二步是质控,包括每个barcode的count数、基因数和线粒体基因百分比。一般情况下,低基因数和高比例线粒体基因通常提示细胞质量不佳。然而也有些细胞,包括肾近端和远端曲小管细胞,本身富含线粒体。另外,异常高的reads数和基因数常常代表双细胞,这种情况可以使用一些双细胞检测工具如DoubletDecon、Scruble和DoubletFinder进行处理。
控制环境RNA污染也很重要,环境RNA是指存在于单细胞悬液中,油包水时整合到液滴的RNA,通常用SoupX估计空液滴中的环境RNA污染,或者使用CellBender工具进行处理。
2. 标准化处理
单细胞数据有不同类型的标准化方法(图1)。常用的方法是假设每个细胞都有相同的初始转录本数量,将数据标准化为每百万计数。Scran使用pooling-based size factor estimation和inearregression对数据进行归一化,除了seurat以外,Scran也是最流行的方法之一。另外,还有其他如SCtransform、SCnorm和BayNorm归一化方法。数据归一化后,进行对数log(x11)变换。在分析中通常需要通过regress out掉细胞周期变异相关影响,Seurat和Scanpy的标准分析平台中也包含了这一功能。
3. 批次矫正和数据整合
多数情况下,数据会生成多个数据集,需要额外的批校正和数据集成(图3)。如果包含了不同实验和不同方法的较大数据集,通常使用非线性方法进行整合。Seurat有一个整合选项,使用的是典型相关分析或PCA。Scanorama是scanpy中另一种比较常用的方法。最近,Harmony也得到了广泛的应用,也成为最常用的单细胞数据整合方法。
4. 数据可视化及聚类分析
可视化的第一步是特征选择,也就是保留提供有用信息的基因(1000- 5000),过滤掉其他基因,Seurat(图4)和Scanpy(图5)中都可实现。可视化是将数据整合在低维空间以便于观测。一般来说,降维是通过线性和非线性方法来实现的。PCA是聚类和轨迹分析的基础,是一种线性转换,在PCA中保留了细胞之间的欧氏距离。在常用的Seurat分析中,预处理可采用PCA。PCA可以将主成分映射到生物协变量中,以了解其效能。
单细胞数据可视化主要使用其他非线性降维方法,如t-SNE。这种方法侧重于以舍弃全局结构为代价来捕捉局部相似性。UMAP方法也因其运行速度快而广受推崇,它能更好地捕捉潜在的数据结构,并能在两个以上的维度上汇总数据,现在最常用于单细胞数据可视化。UMAP和t-SNE的主要缺陷是它们高度依赖用户选择的参数,而且结果对这些参数高度敏感。另外,这些可视化降维方法都没有保留细胞之间的距离,因此不能直接用于后续的下游分析。
基于基因表达相似性而形成的细胞群(cluster)是分析的第一个直接结果。细胞聚类允许基于基因表达的相似性对细胞进行分组来推断细胞类型。聚类是一种基于距离矩阵的无监督机器学习过程,默认的聚类方法是在单细胞KNN图上实现的Louvain社区发现算法(Louvain算法)(注:Louvain算法已经成为Scanpy和Seurat单细胞分析平台中默认聚类方法。)。细胞在图中以点表示。每个细胞连接着它的K最近邻细胞,细胞之间的距离是基于PC降维表达空间计算的欧几里得距离。推荐进行subclustering,也就是对原有数据集聚类后再挑选感兴趣的细胞群重新分群,这有助于更精细的划分细胞型。Leiden检测算法已经被整合进Leidenbase包中,是Louvain算法的另一替代选择,目前被用于Monocle轨迹分析的默认算法。
5. 细胞水平的分析
细胞组分的变化(数据集中各种细胞类型的比例)与疾病状态有很强的关联性,这是单细胞分析最简单的结果之一。此外,同一器官不同部位的样本细胞组分可能也存在差别。为了推断bulk RNA-seq数据的细胞类型组成,最近开发的MuSiC可以以单细胞表达数据为参考,对组织细胞类型进行去卷积分析。MuSiC使用加权非负最小二乘回归估计细胞类型组分,另外,也可以用其他的替代方法包括 CIBERSORT、BSEQ-sc和BisqueRNA。
仅仅通过离散分类系统如聚类并不足以充分描述细胞多样性,轨迹分析捕捉了细胞在转化过程中的显著特征。捕捉细胞身份、分支分化过程或生物功能的渐进、不同步变化之间的转变需要基因表达的动态模型。Monocle 是一种机器学习方法,可以重建每个细胞在从一种状态转换到另一种状态时必须执行的基因表达变化过程。它基于反向图嵌入(reverse-graph embedding),一种高度可扩展的非线性流形学习技术。掌握了分化轨迹之后,它可以将每个细胞放置在分化轨迹的正确位置,这被称为拟时序列。另一种更新的观测细胞轨迹的方法是使用velocyto包的RNA velocity(RNA速率)分析。RNA速率是基因表达状态的时间导数,可以通过区分剪接和未剪接的mRNA来直接估计,它是一个高维向量,可在数小时的时间尺度内预测单个细胞的未来状态。TradeSeq是基于Slingshot的一种新方法,其性能优于其他简单轨迹分析方法。另一个有用的包是PHATE,这是一种使用数据点之间的信息几何距离来捕获局部和全局非线性结构的可视化方法。推断的轨迹不一定代表生物过程,其他来源的信息将有助于轨迹分析结果的解读(图5)。
6. 基因水平分析:差异表达、基因调控网络、驱动通路和细胞互作
差异表达分析输入的是未经校正的数据集。Seurat可以使用不同的模型进行差异表达分析(图6)。MAST使用了一种栅栏模型(hurdlemodel)来计数drop-out。为了将scRNA-seq数据集信息与其他表型变量相关联,基于回归的模型可以结合多个样本及其相关的表型特征,以将某些细胞类型(如近端肾小管细胞)中的基因表达变化与相应的定量测量表型(例如GFR、蛋白尿)相关联。基因水平分析也可以与基因集富集分析方法相结合,如基因集富集分析或加权相关网络分析。为了解读差异表达的结果,我们通常基于基因参与的常见生物学进程将基因分组。生物学进程标签储存在MSigDB、GO、KEGG和Reactome等数据库中。
单细胞分析领域的一个最新发展是使用配对基因标签进行配体受体分析,细胞簇之间的相互作用是从受体及其同源配体的表达推断出来的。配体受体对标签可以从CellPhoneDB或Connectome数据库中获得,并使用统计模型来解释跨集群的高表达基因。
7. 网站工具和数据集
在过去的几年中,已经产出了大量的人类和小鼠肾脏数据集。这些原始数据集可以从GEO中下载。人类肾脏注释将为人类细胞图谱项目和人类生物-分子图谱项目提供参考。肾脏精准医学项目旨在生成各种人类肾脏疾病状况的数据集。重建肾脏协会将分析正在开发的人类肾脏样本和体外分化的肾类器官。此外,一些研究人员已经为小型单一实验数据集生成了可视化工具。Humphreys实验室的KIT网站可以使大量数据快速可视化(http://humphreyslab.com/ SingleCell/)。McMahon和Kim的实验室利用VisCello将发育中小鼠和成年小鼠的数据可视化,还比较了雄性和雌性小鼠的差异。利用VisCello平台,该实验室实现发育、成年、健康和疾病小鼠模型数据(http://susztaklab.com/VisCello/)和开放染色质表观基因组数据可视化,这些数据也可用于相同的时间点(http://susztaklab.com/developing_ adult_kidney/igv/)。另外,Satija实验室的独立分析应用程序(http://azimuth.satijalab.org/app/azimuth),允许将单个数据集投影到参考数据集, RNA和表面蛋白的表达在单个细胞中可同时被测量。研究人员可以上传本地生成的数据集,该包将数据集和人类血液参考数据自动执行上述所有步骤和聚类。
8. 总结
目前,肾脏疾病的分组定义是基于它们的时间进程,如急性或慢性,或颜色、形状组织学描述。这些描述无法捕捉致病分子途径的分子机制。因此,它们不适合用于靶标识别和药物开发。单细胞检测方法可以解决疾病状态的变化,实现新的分子水平疾病分类和潜在靶标的识别。
参考文献
Michael S Balzer, et al.,How to Get Started with Single Cell RNA Sequencing Data Analysis.J Am Soc Nephrol. 2021, 32 (6): 1279-1292.
张素维 | 文案