IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 人工智能 -> 单细胞转录组聚类分析R包——SC3的应用 -> 正文阅读

[人工智能]单细胞转录组聚类分析R包——SC3的应用

前言

在做单细胞相关聚类分析的过程中,为了研究异质性,发现了一种专门用于单细胞转录组的聚类分析R包——SC3(single cell consensus clustering,单细胞一致性聚类)。该聚类算法发表于Nature Methods(2017),能够让单细胞RNA-seq基于转录组特征对细胞类型进行定量表征。这是一种用户友好的无监督聚类工具,它通过一致方法将多个聚类解决方案组合在一起,从而得到高精度和鲁棒性的分群结果。SC3包的官方具体使用教程见:http://www.bioconductor.org/packages/release/bioc/vignettes/SC3/inst/doc/SC3.html
SC3包源代码见Github:https://github.com/hemberg-lab/SC3

原文的SC3聚类流程如图所示:SC3聚类的一般流程
(a)使用SC3框架进行聚类的概述(参见方法)。用Treutlein数据举例说明了一致步骤。
(b)用于设置SC3参数的已发布数据集。N是数据集中的细胞数;k为作者最初确定的簇数;单位:RPKM是每千碱基每百万次读的转录本,RPM是每百万次读的转录本,FPKM是每千碱基每百万次读的转录本片段,TPM是每百万次读的转录本片段。
( c)ARI>处d值的直方图。金标准数据集达到95。黑色竖线表示细胞总数N的d = 4-7%,分类准确率高。
(d) (b)中所示数据集的SC3聚类的100个实现。条对应点的中位数。红色和灰色分别对应有一致步长和无一致步长时的聚类。这条黑线对应的ARI=0。8。黑色虚线分隔了金和银标准数据集。

笔者主要想通过该包对单细胞转录组进行聚类数目的估计。在网上没有直接写SC3关于这个功能的帖子,故我去原文,官方教程以及代码研究了一下,该包主要通过随机矩阵理论(Random Matrix Theory,RMT) 确定聚类的数目。

安装SC3包

if (!requireNamespace("BiocManager", quietly = TRUE))
install.packages("BiocManager")
BiocManager::install("SC3")

同时还需要安装如下包:

library(SingleCellExperiment)#安装方法和SC3一样
library(SC3)
library(ggplot2)
library(scater)

利用SC3实现聚类数目的估计

首先看一下源代码:

if (k_estimator) {
        object <- sc3_estimate_k(object)
        # Do not override cluster if user has set a k
        if (is.null(ks))
        {
            ks <- metadata(object)$sc3$k_estimation
        }

把该方法应用于自己的代码:
注意:在跑自己的数据之前,要先准备两个文件:(1)单细胞表达矩阵文件;(2)每个细胞的注释文件。

pbmc <- read.table("SC3/分组表达/exp_SCE_M.csv",stringsAsFactors=FALSE, header=TRUE, check.names=FALSE,row.names=1, sep=",")
ann<-read.table("SC3/ann/SCE_M.csv", header=T, row.names=1, sep=",")
#构建sce对象
sce <- SingleCellExperiment(
    assays = list(
        counts = as.matrix(pbmc),
        logcounts = log2(as.matrix(pbmc) + 1)
    ),
	colData=ann
	)

# define feature names in feature_symbol column
rowData(sce)$feature_symbol <- rownames(sce)
# remove features with duplicated names
sce <- sce[!duplicated(rowData(sce)$feature_symbol), ]
# define spike-ins
#isSpike(sce, "ERCC") <- grepl("ERCC", rowData(sce)$feature_symbol)

#开始聚类(estimate k)
sce<-sc3_estimate_k(sce) #估计k值
ks<-metadata(sce)$sc3$k_estimation #调用k值
ks
a <- ks - 1
b <- ks + 1
sce <- sc3(sce, ks = a:b, biology = TRUE) #这一步会运行很久

#主成分分析PCA
sce <- runPCA(sce)
plotPCA(sce, colour_by = "cell_type")

#画降维后的分布
sc3_n_clusters <- paste0("sc3_", as.character(ks),"_clusters")
sc3_n_log2_outlier_score <- paste0("sc3_", as.character(ks), "_log2_outlier_score")
sc3_n_clusters
sc3_n_log2_outlier_score
plotPCA(
    sce, 
    colour_by = sc3_n_clusters, 
    size_by = sc3_n_log2_outlier_score
)

#计算一致性矩阵
sc3_plot_consensus(
    sce, k = ks, 
    show_pdata = c(
        #"cell_type", 
        #"log10_total_features",
        sc3_n_clusters, 
        sc3_n_log2_outlier_score
    )
)

#计算簇内稳定性
sc3_plot_cluster_stability(sce, k = ks)

绘制的PCA结果和一致性矩阵结果如下图:
在这里插入图片描述
在这里插入图片描述
SC3包后续还可以进行基因表达矩阵热图的绘制; 提供调整p值< 0.01的所有差异表达基因的列表,并绘制p值最低的50个基因的基因表达谱;以及找到标记基因。

参考:
代码:https://blog.csdn.net/weixin_42889479/article/details/108943720
https://www.jianshu.com/p/65094dfd6922
https://www.jianshu.com/p/24f65dd2c88f
https://www.jianshu.com/p/ea81c3635a8b

  人工智能 最新文章
2022吴恩达机器学习课程——第二课(神经网
第十五章 规则学习
FixMatch: Simplifying Semi-Supervised Le
数据挖掘Java——Kmeans算法的实现
大脑皮层的分割方法
【翻译】GPT-3是如何工作的
论文笔记:TEACHTEXT: CrossModal Generaliz
python从零学(六)
详解Python 3.x 导入(import)
【答读者问27】backtrader不支持最新版本的
上一篇文章      下一篇文章      查看所有文章
加:2021-10-15 11:47:53  更:2021-10-15 11:49:26 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/27 10:41:31-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码