R软件包ConsensusCluster进行共识聚类(Consensus Clustering)

本文主要是介绍R软件包ConsensusCluster进行共识聚类(Consensus Clustering),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

从下面论文看到这个方法:

Wang, Xin, et al. "Deep learning using bulk RNA-seq data expands cell landscape identification in tumor microenvironment." Oncoimmunology 11.1 (2022): 2043662.

这篇论文基于 AI 方法对 bulk RNA-seq 数据识别肿瘤微环境中的细胞景观。

一、描述这个聚类方法的段落:

The R package of ConsensusCluster [REF], which provides a consensus clustering approach was used to classify pancancer patients into different cancer subtypes according the cell landscape identified by DCNet model. In brief, using a manhattan distance, the cluster method of partition around medoids (PAM) was resampled by 0.8% from all cell type features in 1000 iterations. The result is a co-classification matrix with the matrix element value equal to the frequency at which each pair of samples was found in the same cluster in the 1000 iterations. The consensus cluster result was obtained by a final k-mean clustering. In order to select the number of clusters K, the cophenetic correlation coefficient was calculated and the optimal number of consensus cluster was selected as K preceding the largest drop in the cophenetic correlation coefficient.

REF: Wilkerson MD, Hayes DN. ConsensusClusterPlus: a class discovery tool with confidence assessments and item tracking. Bioinformatics. 2010;26(12):1572–1573. doi:10.1093/bioinformatics/btq170.

二、方法详细描述

共识聚类是一种用于稳健地划分样本群集的方法。在这个情境下,研究人员想要将泛癌患者划分为不同的亚型。

Step1: DCNet模型用于识别细胞景观,可能通过基因表达或其他分子数据揭示不同的细胞类型或状态。

Step2: 基于曼哈顿距离,使用PAM (Partition Around Medoids)聚类:它通过选择中心点(medoids)来划分样本。这里,PAM通过0.8%的重采样在1000次迭代中应用于所有细胞类型特征。

Step3: 结果是一个共同分类矩阵,其中每个元素表示每对样本在1000次迭代中位于相同聚类中的频率。

其中:

Step4: 最后,通过应用k均值聚类,得到了最终的共识聚类结果。

Step5: 为了选择聚类数K,计算了共形相关系数 cophenetic correlation coefficient。共形相关系数衡量了原始数据和聚类结果之间的拓扑相似性。选择具有共形相关系数下降最大的K,这可能是聚类结果的拐点。

其中“如何根据聚类结果,计算一个相似性矩阵”:

根据原始数据计算一个相似性矩阵 常用方法:

这篇关于R软件包ConsensusCluster进行共识聚类(Consensus Clustering)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/529157

相关文章

使用Jackson进行JSON生成与解析的新手指南

《使用Jackson进行JSON生成与解析的新手指南》这篇文章主要为大家详细介绍了如何使用Jackson进行JSON生成与解析处理,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录1. 核心依赖2. 基础用法2.1 对象转 jsON(序列化)2.2 JSON 转对象(反序列化)3.

C#使用SQLite进行大数据量高效处理的代码示例

《C#使用SQLite进行大数据量高效处理的代码示例》在软件开发中,高效处理大数据量是一个常见且具有挑战性的任务,SQLite因其零配置、嵌入式、跨平台的特性,成为许多开发者的首选数据库,本文将深入探... 目录前言准备工作数据实体核心技术批量插入:从乌龟到猎豹的蜕变分页查询:加载百万数据异步处理:拒绝界面

Python使用自带的base64库进行base64编码和解码

《Python使用自带的base64库进行base64编码和解码》在Python中,处理数据的编码和解码是数据传输和存储中非常普遍的需求,其中,Base64是一种常用的编码方案,本文我将详细介绍如何使... 目录引言使用python的base64库进行编码和解码编码函数解码函数Base64编码的应用场景注意

Java进行文件格式校验的方案详解

《Java进行文件格式校验的方案详解》这篇文章主要为大家详细介绍了Java中进行文件格式校验的相关方案,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录一、背景异常现象原因排查用户的无心之过二、解决方案Magandroidic Number判断主流检测库对比Tika的使用区分zip

Java使用Curator进行ZooKeeper操作的详细教程

《Java使用Curator进行ZooKeeper操作的详细教程》ApacheCurator是一个基于ZooKeeper的Java客户端库,它极大地简化了使用ZooKeeper的开发工作,在分布式系统... 目录1、简述2、核心功能2.1 CuratorFramework2.2 Recipes3、示例实践3

基于Flask框架添加多个AI模型的API并进行交互

《基于Flask框架添加多个AI模型的API并进行交互》:本文主要介绍如何基于Flask框架开发AI模型API管理系统,允许用户添加、删除不同AI模型的API密钥,感兴趣的可以了解下... 目录1. 概述2. 后端代码说明2.1 依赖库导入2.2 应用初始化2.3 API 存储字典2.4 路由函数2.5 应

Python使用date模块进行日期处理的终极指南

《Python使用date模块进行日期处理的终极指南》在处理与时间相关的数据时,Python的date模块是开发者最趁手的工具之一,本文将用通俗的语言,结合真实案例,带您掌握date模块的六大核心功能... 目录引言一、date模块的核心功能1.1 日期表示1.2 日期计算1.3 日期比较二、六大常用方法详

Python使用DrissionPage中ChromiumPage进行自动化网页操作

《Python使用DrissionPage中ChromiumPage进行自动化网页操作》DrissionPage作为一款轻量级且功能强大的浏览器自动化库,为开发者提供了丰富的功能支持,本文将使用Dri... 目录前言一、ChromiumPage基础操作1.初始化Drission 和 ChromiumPage

Jackson库进行JSON 序列化时遇到了无限递归(Infinite Recursion)的问题及解决方案

《Jackson库进行JSON序列化时遇到了无限递归(InfiniteRecursion)的问题及解决方案》使用Jackson库进行JSON序列化时遇到了无限递归(InfiniteRecursi... 目录解决方案‌1. 使用 @jsonIgnore 忽略一个方向的引用2. 使用 @JsonManagedR

使用Folium在Python中进行地图可视化的操作指南

《使用Folium在Python中进行地图可视化的操作指南》在数据分析和可视化领域,地图可视化是一项非常重要的技能,它能够帮助我们更直观地理解和展示地理空间数据,Folium是一个基于Python的地... 目录引言一、Folium简介与安装1. Folium简介2. 安装Folium二、基础使用1. 创建