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

相关文章

Java使用Stream流的Lambda语法进行List转Map的操作方式

《Java使用Stream流的Lambda语法进行List转Map的操作方式》:本文主要介绍Java使用Stream流的Lambda语法进行List转Map的操作方式,具有很好的参考价值,希望对大... 目录背景Stream流的Lambda语法应用实例1、定义要操作的UserDto2、ListChina编程转成M

利用python实现对excel文件进行加密

《利用python实现对excel文件进行加密》由于文件内容的私密性,需要对Excel文件进行加密,保护文件以免给第三方看到,本文将以Python语言为例,和大家讲讲如何对Excel文件进行加密,感兴... 目录前言方法一:使用pywin32库(仅限Windows)方法二:使用msoffcrypto-too

Pandas使用AdaBoost进行分类的实现

《Pandas使用AdaBoost进行分类的实现》Pandas和AdaBoost分类算法,可以高效地进行数据预处理和分类任务,本文主要介绍了Pandas使用AdaBoost进行分类的实现,具有一定的参... 目录什么是 AdaBoost?使用 AdaBoost 的步骤安装必要的库步骤一:数据准备步骤二:模型

使用Pandas进行均值填充的实现

《使用Pandas进行均值填充的实现》缺失数据(NaN值)是一个常见的问题,我们可以通过多种方法来处理缺失数据,其中一种常用的方法是均值填充,本文主要介绍了使用Pandas进行均值填充的实现,感兴趣的... 目录什么是均值填充?为什么选择均值填充?均值填充的步骤实际代码示例总结在数据分析和处理过程中,缺失数

QT进行CSV文件初始化与读写操作

《QT进行CSV文件初始化与读写操作》这篇文章主要为大家详细介绍了在QT环境中如何进行CSV文件的初始化、写入和读取操作,本文为大家整理了相关的操作的多种方法,希望对大家有所帮助... 目录前言一、CSV文件初始化二、CSV写入三、CSV读取四、QT 逐行读取csv文件五、Qt如何将数据保存成CSV文件前言

通过Spring层面进行事务回滚的实现

《通过Spring层面进行事务回滚的实现》本文主要介绍了通过Spring层面进行事务回滚的实现,包括声明式事务和编程式事务,具有一定的参考价值,感兴趣的可以了解一下... 目录声明式事务回滚:1. 基础注解配置2. 指定回滚异常类型3. ​不回滚特殊场景编程式事务回滚:1. ​使用 TransactionT

Java中使用Hutool进行AES加密解密的方法举例

《Java中使用Hutool进行AES加密解密的方法举例》AES是一种对称加密,所谓对称加密就是加密与解密使用的秘钥是一个,下面:本文主要介绍Java中使用Hutool进行AES加密解密的相关资料... 目录前言一、Hutool简介与引入1.1 Hutool简介1.2 引入Hutool二、AES加密解密基础

SpringSecurity6.0 如何通过JWTtoken进行认证授权

《SpringSecurity6.0如何通过JWTtoken进行认证授权》:本文主要介绍SpringSecurity6.0通过JWTtoken进行认证授权的过程,本文给大家介绍的非常详细,感兴趣... 目录项目依赖认证UserDetailService生成JWT token权限控制小结之前写过一个文章,从S

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

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

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

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