Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >识别无监督类的工具包ConsensusClusterPlus

识别无监督类的工具包ConsensusClusterPlus

作者头像
作图丫
发布于 2022-03-29 01:39:08
发布于 2022-03-29 01:39:08
2.4K00
代码可运行
举报
文章被收录于专栏:作图丫作图丫
运行总次数:0
代码可运行

导语

GUIDE ╲

一致性聚类(Consensus Clustering)是一个能够确定数据集(微阵列基因表达)中可能聚类的数量和成员的方法。这种方法在癌症基因组学研究中广泛普及,用于发现新的疾病的分子亚型。

方法简介

Consensus Clustering是从一组样本(items)数据(如微阵列)中进行子抽样,并确定指定簇数(k)的簇。对于每个k,计算配对的一致性值consensus values,即两个样本在同一子样本中出现的次数占同一聚类的比例,并存储在一个对称的共识矩阵(consensus matrix)中。共识矩阵汇总在几个图形展示中,使用户能够决定合理的聚类数量和成员

R包介绍

使用ConsensusClusterPlus有三个主要步骤:

①准备输入数据

②运行程序

③计算聚类一致性(cluster-consensus)和样本一致性(item-consensus)。

1. 准备输入数据

输入的是要进行聚类的数据,这些数据可能是一个实验的结果,如mRNA表达芯片或免疫组织化学染色强度。输入数据是一个矩阵,其中列是样本,行是特征,单元格是数值。接下来我们使用ALL包的基因表达数据进行介绍。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
BiocManager::install("ConsensusClusterPlus")
library(ConsensusClusterPlus)
 
library(ALL)
data(ALL)
d=exprs(ALL) #提取表达数据
d[1:5,1:5]

为了选择信息最丰富的基因进行类的识别,将数据集减少到前5000个最可变(most variable)的基因(通过中位数绝对偏差度量,MAD)。对5000个基因和MAD的选择也可以用其他统计变异筛选方法代替。用户可以决定是否使用筛选方法或使用筛选方法的类型。另一种选择是为取样基因提供权重(方法:weightsFeatures)

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
mads=apply(d,1,mad) #MAD测度
d=d[rev(order(mads))[1:5000],] #提取前5000个基因

如果想要转换或标准化数据,可以很容易地使用其他Bioconductor methods或一个简单语句。该包选择使用皮尔逊相关距离(Pearson correlation distance)的聚类遗传算法为默认设置。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
d = sweep(d,1, apply(d,1,median,na.rm=T))
#sweep是一个循环函数
#这里首先用apply计算每列的中值
#然后用每个基因在样本中的表达值减中值,是一个标准化方法
d[1:5,1:5]

d矩阵将用于聚类计算

2. 运行 ConsensusClusterPlus

(1)运行

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
title="C:\\Users\\DELL\\Desktop"  #设置输出文件的保存位置
results = ConsensusClusterPlus(
         d,maxK=6, #聚类的最大类数,所以会评估聚2类、3...6类
         reps=50, #50个重采样
         pItem=0.8,  #重采样样本为80%  
         pFeature=1, #重采样基因为80%  
         title=title, #输出文件的保存位置
         clusterAlg="hc", #聚合层次聚类算法
         distance="pearson", #Pearson 相关距离
         seed=1262118388.71279,
         #设置特定的随机种子,使例子是可重复的
         plot="png")

在我们实际计算时,建议使用更高的reps(如1,000),以及更高的 cluster count(如20)。

ConsensusClusterPlus的输出是一个列表,其中列表中的元素对应于第k个簇的结果,例如results[[2]]就是k=2的结果结果。

(2)结果展示

①例:聚两类时的consensus matrix

②例:聚两类时的hclust对象

③例:聚两类时的样本分类信息

(3)输出聚类图

①第一张图为颜色图例

②第二至六张图为聚类图

③第7张图为一致累积分布函数(Consensus Cumulative Distribution Function,CDF)图

该图展示每一种聚类(不同K)的一致累积分布函数图,以帮助用户确定当CDF达到最大时的k的选择,这样一致性和聚类置信达到最大。

④Delta Area

是CDF曲线比较k和k−1下面积的相对变化,当k = 2时,没有k -1,所以绘制的是曲线下的总面积,而不是相对增加的面积。此帮助用户确定共识的相对增加,以及没有明显增加的k值。

⑤Tracking Plot

此图显示了按颜色对每个k(行)样本(列)的各类分配。经常更改集类(在列中更改颜色)的说明成员关系不稳定。

3. 生成类和样本一致性

(1)计算cluster-consensus and item-consensus

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
icl = calcICL(results,title=title,plot="png")
#icl是两元素的列表,分别是cluster-consensus和item-consensus测度
icl[["clusterConsensus"]]
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
icl[["itemConsensus"]][1:5,]

(2)一致性图示

①聚类一致性图示

这是各类成员之间所有配对一致值的平均值分布。高值表示该类具有高稳定性,低值表示类具有低稳定性。

②样本一致性图示

是一个样本与特定类中的所有样本一致性的平均值。Item-consensus值由条形图的有色部分的高度表示,其颜色对应于通用的配色方案。条形的矩形按从下到上递增的值排列。顶部的星号表示每个样本的consensus cluster。

小编总结

今天介绍的聚类R包可以说是非常方便省事的一款聚类方法了,可以让我们直观的评估出最优的聚类分布,这个包在近期的一些生信分析中是很热门的,大家可以动手操作试试哦!

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2020-06-15,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作图丫 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
ConsensusClusterPlus, 一步到位的一致性聚类!
在之前的文章中分享了一致性聚类的原理,本文介绍下如何用R语言进行分析。ConsensusClusterPlus这个R包,就是专门用于一致性聚类分析的,为了简化调用,甚至将所有的步骤都封装到了一个函数里面,所以其使用方法非常的简单,一共三步
生信修炼手册
2022/06/09
6.7K0
ConsensusClusterPlus, 一步到位的一致性聚类!
转录组非负矩阵分解(NMF)/一致性聚类(ConsensusClusterPlus)
非负矩阵分解(NMF)和一致性聚类(ConsensusClusterPlus)是两种常用的聚类和模式识别方法,它们在算法原理、使用场景和结果解读上都有相似和不同之处。这两种代码流程已经被诸多老师所解析和展示,本次也是跟着老师们发布在网上的流程进行练习和整理。
凑齐六个字吧
2024/08/13
6920
转录组非负矩阵分解(NMF)/一致性聚类(ConsensusClusterPlus)
RNAseq|组学分型-ConsensusClusterPlus(一致性聚类), NMF(非负矩阵分解)
肿瘤分型分析是生信文章中的常客,大致是通过将基因的表达量进行聚类或者非负矩阵分解,发现新的亚型,然后对不同亚型的临床特征,免疫特征等进行比较分析,文章末尾简单的列了一些应用。
生信补给站
2023/08/25
5.7K2
RNAseq|组学分型-ConsensusClusterPlus(一致性聚类), NMF(非负矩阵分解)
多组学数据挖掘结直肠癌的预后与免疫应答潜在的预测标记
现在的数据挖掘文章越来越难了吗,本篇文章影响因子只有1分,但是图表内容其实还挺全的,「下面咱们解析一下看看这篇低分文章干了什么」。
生信技能树
2022/12/16
7230
多组学数据挖掘结直肠癌的预后与免疫应答潜在的预测标记
无监督学习 聚类分析①聚类分析
如前所述,在层次聚类中,起初每一个实例或者观测值属于一类。聚类就是每一次把两类聚成新的一类,直到所有的类聚成单个类为止。算法如下: (1) 定义每个观测值(行或单元) 为一类;
用户1359560
2018/08/27
1K0
无监督学习 聚类分析①聚类分析
「Workshop」第十期:聚类
聚类分析的思想:对于有p个变量的数据集来说,每个观测值都是p维空间中的一个点,所以属于同一类的点在空间中的距离应该显著小于属于不同类的点之间的距离
王诗翔呀
2020/07/29
2.9K0
「Workshop」第十期:聚类
免疫浸润结果分子分型(一致性聚类ConsensusClusterPlus)
分子分型也是生信灌水的常见知识点之一。可以用于分子分型的方法非常多,比如:一致性聚类、非负矩阵分解、PCA等等,当然这些方法不需要我们手动去计算,都是有成熟的R包帮我们做。
医学和生信笔记
2023/08/30
1.8K0
免疫浸润结果分子分型(一致性聚类ConsensusClusterPlus)
还在为细胞类型注释困扰?快试试 mLLMCelltype !
细胞类型注释是单细胞数据分析中的关键步骤。目前注释方法依赖于人工,手动将每个细胞簇中高表达的基因与文献中的经典细胞类型标记基因进行比对。这一流程及其耗时,而且需要专业的生物知识。随着测序成本的下降,当数据集规模扩大到数百万个来自不同组织的细胞,手动注释的方法已变得难以实现。
数据科学工厂
2025/04/27
1730
还在为细胞类型注释困扰?快试试 mLLMCelltype !
【Scikit-Learn 中文文档】聚类 - 无监督学习 - 用户指南 | ApacheCN
2.3. 聚类 未标记的数据的 Clustering(聚类) 可以使用模块 sklearn.cluster 来实现。 每个 clustering algorithm (聚类算法)有两个变体: 一个是 class, 它实现了 fit 方法来学习 train data(训练数据)的 clusters(聚类),还有一个 function(函数),是给定 train data(训练数据),返回与不同 clusters(聚类)对应的整数标签 array(数组)。对于 class(类),training dat
片刻
2018/01/15
5.5K0
【Scikit-Learn 中文文档】聚类 - 无监督学习 - 用户指南 | ApacheCN
【机器学习】--Kmeans从初识到应用
Kmeans算法一般在数据分析前期使用,选取适当的k,将数据分类后,然后分类研究不同聚类下数据的特点。
LhWorld哥陪你聊算法
2018/09/13
8930
【机器学习】--Kmeans从初识到应用
脚本更新---NMF识别单细胞数据中的基因模块
降维和特征提取:NMF可以用于从高维的基因表达矩阵中提取低维特征,帮助我们发现细胞亚群、基因模块等隐藏的结构。
追风少年i
2024/12/03
3910
脚本更新---NMF识别单细胞数据中的基因模块
拥有这个R包,只需三步帮你找到差异表达基因
目前,利用大量的微阵列或RNA-Seq技术来探索不同条件(例如治疗或疾病)之间基因表达的差异是研究疾病的最简单方法。但是,如何快速的从测序得到的“海量”的基因集群中发现差异表达的基因(DEGs)仍然是一项非常重要的任务。
百味科研芝士
2020/06/24
3.6K0
拥有这个R包,只需三步帮你找到差异表达基因
【V课堂】R语言十八讲(十三)—聚类模型
聚类分析是一种原理简单、应用广泛的数据挖掘技术。顾名思义,聚类分析即是把若干事物按照某种标准归为几个类别,其中较为相近的聚为一类,不那么相近的聚于不同类。聚类分析在客户分类、文本分类、基因识别、空间数据处理、卫星图片分析、医疗图像自动检测等领域有着广泛的应用;而聚类分析本身的研究也是一个蓬勃发展的领域,数据分析、统计学、机器学习、空间数据库技术、生物学和市场学也推动了聚类分析研究的进展。聚类分析已经成为数据分析研究中的一个热点。 1 原理 聚类算法种类繁多,且其中绝大多数可以用R实现。下面将选取普及性最广、
小莹莹
2018/04/23
1.3K0
【V课堂】R语言十八讲(十三)—聚类模型
WGCNA分析,简单全面的最新教程
本文应该是第二全的WGCNA分析教程,参考了最新的文档。第一全的还在路上,会出现于生信宝典和宏基因组公众号组织的二代三代转录组测序分析实战班上,欢迎点击链接了解更多。 WGCNA基本概念 加权基因共表达网络分析 (WGCNA, Weighted correlation network analysis)是用来描述不同样品之间基因关联模式的系统生物学方法,可以用来鉴定高度协同变化的基因集, 并根据基因集的内连性和基因集与表型之间的关联鉴定候补生物标记基因或治疗靶点。 相比于只关注差异表达的基因,WGCNA利用
生信宝典
2018/06/26
5.6K0
如何去学一个R包(上)
FateID是用于定量单细胞转录组数据集中细胞命运偏倚的方法,所述数据集包含从共同祖先(Herman,Sagar和 Grün2018)产生的不同细胞类型。预期祖先群体是数据集的一部分,并且FateID算法被设计用于学习每个祖细胞对一个或多个替代终端命运的预先存在的偏差。该算法的策略是应用迭代随机森林分类(Breiman 2001),以便使用在先前迭代中被分类为训练集的细胞来量化越来越年幼的祖细胞中的命运偏倚。
生信技能树jimmy
2020/03/30
1.4K0
用Scater包分析文章数据
Scater需要利用SingleCellExperiment这个对象(需要注意的是,官方友情提示,在导入对象之前,最好是将表达量数据存为矩阵)
生信技能树jimmy
2020/03/30
1K0
R语言学习笔记-Day10
R^2越大,越接近无标度网络,选择使R^2第一次到达0.8/0.85/0.9的β值
用户11190095
2024/07/17
1220
进入重要章节,第 05 章 癌症异质性的探索
癌症并非一种疾病,而是多种不同疾病的集合。癌症可以发生在不同的器官和细胞类型中,在显微镜下表现出不同的形态特征。它们具有不同的流行病学风险因素、不同的进展模式,对不同的治疗反应各异,并与不同的复发风险相关。在某种意义上,每种癌症都是独特的,因为它与每个个体的独特基因背景和体细胞进化密切相关(参见 Section 2.1)。
生信菜鸟团
2024/12/05
1330
进入重要章节,第 05 章 癌症异质性的探索
单细胞geneNMF分析流程学习
非负矩阵分解是一种用于分析高维数据的方法,它可以从一组非负数据向量中提取稀疏且有意义的特征。该方法非常适合分解单细胞RNA测序数据,有效地将大型的复杂矩阵(基因数量乘以细胞数量)分解为几个可解释的基因程序。
凑齐六个字吧
2025/04/16
1550
单细胞geneNMF分析流程学习
无监督学习:从理论到实践的全面指南
无监督学习(Unsupervised Learning)是一类机器学习任务,其中算法在没有标签的情况下,从未标记的数据中学习模式和结构。与有监督学习不同,无监督学习不依赖于预定义的输出,而是从数据本身提取信息,用于发现数据的内在规律和特征。
TechLead
2024/06/21
1.1K0
无监督学习:从理论到实践的全面指南
推荐阅读
相关推荐
ConsensusClusterPlus, 一步到位的一致性聚类!
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验