点击关注,桓峰基因
SCS【4】单细胞转录组数据可视化分析 (Seurat 4.0)
SCS【6】单细胞转录组之细胞类型自动注释 (SingleR)
SCS【7】单细胞转录组之轨迹分析 (Monocle 3) 聚类、分类和计数细胞
SCS【8】单细胞转录组之筛选标记基因 (Monocle 3)
SCS【9】单细胞转录组之构建细胞轨迹 (Monocle 3)
SCS【10】单细胞转录组之差异表达分析 (Monocle 3)
SCS【11】单细胞ATAC-seq 可视化分析 (Cicero)
SCS【12】单细胞转录组之评估不同单细胞亚群的分化潜能 (Cytotrace)
今天来说说单细胞转录组数据分析细胞的分化,学会这些分析结果,距离发文章就只差样本的选择了,有创新性的样本将成为文章的亮点,并不是分析内容了!
前 言
CytoTRACE (Cellular (Cyto) Trajectory Reconstruction Analysis using gene Counts and Expression)是一种利用单细胞RNA-SEQ数据预测细胞分化状态的计算方法。CytoTRACE利用了一个简单但强大的发育潜力决定因素——每个细胞可检测表达的基因数量,或基因计数。我们已经在跨越315个细胞表型、52个谱系、14个组织类型、9个scRNA-seq平台和5个物种的约150K单细胞转录组上验证了CytoTRACE。
CytoTRACE框架
骨髓分化的CytoTRACE预测
网站的功能
CytoTRACE 运行原理和步骤 (1)基因计数:第一步是计算每个细胞中可检测表达的基因数量。这是通过对每个单细胞表达大于零的基因总数求和来完成的。
(2)基因计数特征(GCS):第二步是捕捉表达模式与基因计数相关的基因。这是通过以下步骤完成的:
输入基因表达表被重新调整为每百万转录本 (TPM) 或每百万计数 (CPM)。
将每个单个细胞的转录本总和设置为该细胞中可检测表达的基因总数。这样做是为了将基因表达矩阵转换为相对转录物计数,或细胞裂解物中 mRNA 分子的估计丰度,我们和其他人已经证明这可以改进差异表达基因的检测(Gulati 等人,2020 年;Qiu 等人等,2017)。
生成的表达式矩阵是 log 2归一化的,拟计数为 1。
为了测量每个基因与基因计数的关系,计算每个基因的标准化表达和基因计数之间的 Pearson 相关性。
与基因计数最正相关的前 200 个基因的几何平均表达是基因计数特征 (GCS)。
(3) CytoTRACE:最后一步是通过利用细胞之间的局部相似性并应用两步平滑程序来迭代改进我们对 GCS 向量的估计:
创建我们的最近邻图,我们将归一化的表达矩阵(见上文)转换为马尔可夫过程,以捕捉单元格之间的局部相似性。
使用这个马尔可夫矩阵,然后我们将非负最小二乘回归 (NNLS) 应用到 GCS。这使我们能够将 GCS 表示为马尔可夫矩阵中捕获的不同转录邻域的函数。
应用扩散过程,根据马尔可夫过程的概率结构迭代调整 GCS。注意:这不是 GCS,而是经过 NNLS 调整的 GCS。
结果值在 0 和 1 之间进行排序和缩放,代表细胞的相对分化状态的预测顺序(0,分化程度更高;1,分化程度较低)。
官网提供以下功能:
-
分析42个公开可用的带注释的scRNA-seq数据集,用CytoTRACE预先计算;
-
预测自定义scRNA-seq数据集中的分化状态;
-
预测来自不同平台和发展阶段的多个批次/数据集的分化状态;
-
用交互式3D图(包括t-SNE、力向布局和UMAP)可视化预测的分化;
-
根据已知表型总结结果;
-
识别预测的干细胞和分化相关基因。
软件安装
策划新特性: 提供表现型时,箱线图带有plotCytoTRACE功能 其他外部生成的值可以使用CytoTRACE使用“otherValue”和“otherName”字段绘制 新的plotCytoGenes功能用于绘制与CytoTRACE相关的基因条形图 iCytoTRACE现在提供了快速模式,可以通过分析大型数据集来改进运行时 改进了所有函数的文档,可以在加载CytoTRACE库后通过R中的函数名访问这些文档 由于科学界的建设性反馈,我们修复了几个小错误 与最新的R v4.0.0版本兼容 使用以下链接下载CytoTRACE R包v0.3.3。
现在,您应该在本地目录(下面称为/PATH/to/directory/)中看到一个名为cytotrace_0.3.3.ar.gz的文件。要将这个包安装到R,打开R (version >= 4.0.0)并运行以下命令:
install.packages("devtools")
devtools::install_local("PATH/TO/DIRECTORY/CytoTRACE_0.3.3.tar.gz")
R包中的iCytoTRACE()函数需要2个Python包、scanoramaCT(用于应用于CytoTRACE的原始Scanorama代码的改编版本)和numpy。CytoTRACE()函数将在没有这些依赖项的情况下运行,但要跨多个批处理/数据集启用CytoTRACE应用程序,请运行以下命令安装Python依赖项:
$ pip install scanoramaCT
$ pip install numpy
数据读取
运行CytoTRACE 用库(CytoTRACE)在R中加载CytoTRACE。包装内容如下:
Cytotrace():在自定义scRNA-seq数据集上运行Cytotrace的函数。iCytoTRACE:在多个异构scRNA-seq批/数据集上运行Cytotrace的函数 两个具有对应表型标签(marrow_10x_pheno和marrow_plate_pheno)的骨髓分化scRNA-seq数据集(marrow_10x_expr和marrow_plate_expr)
示例I:在自定义scRNA-seq数据集上运行CytoTRACE
使用骨髓10x scRNA-seq数据集运行CytoTRACE
results <- CytoTRACE(marrow_10x_expr)
当数据集中的单元数超过3,000时,CytoTRACE将自动以快速模式运行,这是一种用于减少运行时和内存使用的子采样方法。此外,用户还可以使用’ncores’(默认值为1)来多线程,或者使用’subsamplingsize’(默认值为1,000 cells)来指示子采样大小。在快速模式下运行以下数据集,使用8个核心,子样本大小为1000。
results <- CytoTRACE(marrow_10x_expr, ncores = 8, subsamplesize = 1000)
输出是一个列表对象,其中包含CytoTRACE的数值[从0(差异较大)到1(差异较小)]、排序的CytoTRACE、GCS和基因计数、每个基因和CytoTRACE之间Pearson相关性的数值向量、每个基因和基因计数之间Pearson相关性的数值向量、过滤细胞的id和规范化的基因表达表。
例II:在多个scRNA-seq批/数据集上运行iCytoTRACE
在包含两个在不同平台上分析的骨髓scRNA-seq数据集的列表上运行iCytoTRACE,分别是10x和Smart-seq2
datasets <- list(marrow_10x_expr, marrow_plate_expr)
results <- iCytoTRACE(datasets)
输出是一个列表对象,其中包含合并的CytoTRACE的数值(值从0(差异较大)到1(差异较小))、排序的CytoTRACE、GCS、基因计数、scanoram校正的基因表达矩阵、合并的低维嵌入和过滤细胞的id(更多详细信息,请参阅软件包文档)。
可视化分析
可视化CytoTRACE结果
生成2D图和表格来可视化CytoTRACE、已知表型和基因表达。目前的实现使用t-SNE进行降维,但用户也可以输入自己的嵌入。plotCytoTRACE函数至少接受一个由CytoTRACE或iCytoTRACE函数生成的列表对象作为输入。用户还可以选择提供表型标签或基因名称,以生成额外的图。
plotCytoTRACE(results, phenotype = marrow_10x_pheno, gene = "Kit")
该函数将两个文件保存到磁盘:-一个由CytoTRACE着色的2D嵌入图的pdf,以及(如果提供的话)表型标签和基因表达。-一个以制表符分隔的文本文件,其中包含CytoTRACE值- t-SNE嵌入表,如果提供,还包括表型标签和基因表达值。
当提供表型标签时,根据表型标签自动生成CytoTRACE箱图。
可视化与CytoTRACE相关的基因
生成条形图以可视化与CytoTRACE相关的基因。plotCytoGenes函数至少接受一个由CytoTRACE或iCytoTRACE函数生成的列表对象作为输入。用户还可以指定要显示的基因数量和颜色。
plotCytoGenes(results, numOfGenes = 10)
该函数将一个文件保存到磁盘: 条形图的pdf,根据与CytoTRACE的相关性表明与分化程度最低和分化程度最高的细胞相关的基因。
网页版使用教程
官网 :https://cytotrace.stanford.edu/
Load pre-computed datasets
导航到网站上的Run选项卡,单击页面右上角预计算数据集下面的栏。
现在应该看到一个下拉菜单,其中列出了CytoTRACE已经分析过的42个数据集。每个数据集根据生物学主题和scRNA-seq平台(例如体外hESC (C1))命名,如下图所示:
一旦选择了要分析的数据集,单击如下所示的显示结果:
Analyze results I: Low-dimensional visualization
分析scRNA-seq数据的一种有用方法是可视化数据的低维嵌入
提供了两个选项来可视化scRNA-seq数据:
-
二维可视化
-
三维可视化
还提供了三种降维方案:
-
t-分布式随机邻居嵌入(t-SNE)与Rtsne (R包)
-
Force Atlas 2 with fa2 (Python包)
-
统一流形逼近和投影(UMAP)与UMAP (Python包)
还为颜色嵌入提供了三个选项:
-
CytoTRACE值
-
表型(如果提供)
-
基因符号
用户可以使用页面左上角的菜单在这些选项之间切换
用CytoTRACE和表型着色的体外hESC (C1)数据集的t-SNE表示的二维示例:
用CytoTRACE和NANOG基因表达着色的体外hESC (C1)数据集的t-SNE表示的二维示例:
用CytoTRACE、表型和NANOG基因表达着色的体外hESC (C1)数据集的t-SNE表示的3D示例:
将鼠标悬停在细胞上方将显示一个框,详细描述了样本名称、t-SNE坐标、CytoTRACE值和表型(如果提供):
我们这期主要介绍细胞分化该怎么分析以及可视化,包括代码实现和网页版实现功能。目前单细胞测序的费用也在降低,单细胞系列可算是目前的测序神器,有这方面需求的老师,联系桓峰基因,提供最高端的科研服务!
桓峰基因,铸造成功的您!
未来桓峰基因公众号将不间断的推出单细胞系列生信分析教程,
敬请期待!!
有想进生信交流群的老师可以扫最后一个二维码加微信,备注“单位+姓名+目的”,有些想发广告的就免打扰吧,还得费力气把你踢出去!
References:
- Gulati GS, Sikandar SS, Wesche DJ, Manjunath A, Bharadwaj A, Berger MJ, Ilagan F, Kuo AH, Hsieh RW, Cai S, Zabala M, Scheeren FA, Lobo NA, Qian D, Yu FB, Dirbas FM, Clarke MF, Newman AM. Single-cell transcriptional diversity is a hallmark of developmental potential. Science. 2020 Jan 24;367(6476):405-411. doi: 10.1126/science.aax0249. PMID: 31974247; PMCID: PMC7694873.