④-2单细胞学习-cellchat单数据代码补充版(通讯网络)

目录

通讯网络系统分析

①社会网络分析

1,计算每个细胞群的网络中心性指标

2,识别细胞的信号流模式

②非负矩阵分解(NMF)识别细胞的通讯模式

1,信号输出细胞的模式识别

2,信号输入细胞的模式识别

信号网络的流行学习与分类

①功能相似性

②结构相似性

为了便于解释复杂的细胞间通信网络,CellChat 通过从图论、模式识别和流形学习中抽象出来的方法对网络进行定量测量。

  • CellChat可以使用网络分析中的中心性度量来确定给定信号网络内的主要信号源和目标以及中介和影响者
  • CellChat可以利用模式识别方法预测特定细胞类型的关键传入和传出信号以及不同细胞类型之间的协调反应。
  • CellChat可以通过定义相似性度量并从功能和拓扑角度执行多种学习来对信号通路进行分组。
  • CellChat可以通过多个网络的联合流形学习来描绘保守的和特定于上下文的信号通路。

关于cellchat的流程图在进行细胞交互分析的时候,不同分组的样本尽量不要一起进行分析,想要一起分析的时候需要保证不同分组间的细胞种类一致。同一分组的不同生物学重复可以一起分析。

单细胞分析之细胞交互-3:CellChat - 简书 (jianshu.com)


通讯网络系统分析
①社会网络分析
1,计算每个细胞群的网络中心性指标
#数据载入
rm(list=ls())
library(CellChat)
library(patchwork)
library(ggplot2)
library(Seurat)
library(ggalluvial)#绘制桑基图
library(expm)
library(sna)
library(NMF)
options(stringsAsFactors = FALSE)##输入数据不自动转换成因子(防止数据格式错误)

load('humanSkin_CellChat.Rdata')#分析后的cellchat对象

 通过计算每个细胞群的网络中心性指标,识别每类细胞在信号通路中的角色/作用C(发送者、接收者、调解者和影响者)

cellchat@netP$pathways  #查看都有哪些信号通路
pathways.show <- c("GALECTIN")##选择其中一个信号通路,比如说GALECTIN
#计算网络中心性权重:识别每类细胞在信号通路中的角色/作用
cellchat <- netAnalysis_computeCentrality(cellchat, 
                                          slot.name = "netP")
#pdf("GALECTIN通路网络中心性权重.pdf",width = 8,height = 4)##一定添加大小
netAnalysis_signalingRole_network(cellchat, signaling = pathways.show, 
                                  width = 15, height = 6, font.size = 10)
#dev.off()

2,识别细胞的信号流模式

CellChat分析哪些信号对某些细胞组的传出或传入信号贡献最大的问题。

ht1 <- netAnalysis_signalingRole_heatmap(cellchat, pattern = "outgoing", font.size = 5)
ht2 <- netAnalysis_signalingRole_heatmap(cellchat, pattern = "incoming", font.size = 5)
ht1 + ht2

上图横轴是细胞类型,纵轴是pathway。左图是各个细胞类型中各个通路发出信号的强度,由图是各个细胞类型中各个通路接受信号的强度


②非负矩阵分解(NMF)识别细胞的通讯模式
1,信号输出细胞的模式识别

除了探索单个通路的详细通信之外,一个重要的问题是多个细胞群和信号通路如何协调发挥作用。CellChat 采用模式识别方法来识别全局通信模式。 识别和可视化分泌细胞的传出通信模式 (pattern) 传出模式揭示了发送细胞(即作为信号源的细胞)如何相互协调,以及它们如何与某些信号通路协调以驱动通信。

计算分解成几个因子(pattern)比较合适(这一步运行比较慢 。在使用NMF对细胞进行亚群细分时,如果不测试的话,最好选择比细胞类型多一点的值。

#非负矩阵分解(NMF)识别细胞的通讯模式
selectK(cellchat, pattern = "outgoing")

根据坡度图选择合适的pattern数量

nPatterns = 3
cellchat <- identifyCommunicationPatterns(cellchat, pattern = "outgoing",
                                          k = nPatterns)

左边是细胞模式,右边是信号通路模式 

河流图

#河流图
netAnalysis_river(cellchat, pattern = "outgoing")

气泡图

#气泡图
netAnalysis_dot(cellchat, pattern = "outgoing")

2,信号输入细胞的模式识别
#输入模式的识别
selectK(cellchat, pattern = "incoming") 

热图

#热图
nPatterns = 8
cellchat <- identifyCommunicationPatterns(cellchat, pattern = "incoming", k = nPatterns, 
                                          width = 5, height = 9, font.size = 6)

#桑基图
netAnalysis_river(cellchat, pattern = "incoming")

#气泡图
netAnalysis_dot(cellchat, pattern = "incoming")

信号网络的流行学习与分类
功能相似性
cellchat <- computeNetSimilarity(cellchat, type = "functional")
cellchat <- netEmbedding(cellchat, type = "functional")
#> Manifold learning of the signaling networks for a single dataset
cellchat <- netClustering(cellchat, type = "functional")
#> Classification learning of the signaling networks for a single dataset
# Visualization in 2D-space
netVisual_embedding(cellchat, type = "functional", label.size = 3.5)

# netVisual_embeddingZoomIn(cellchat, type = "functional", nCol = 2)
②结构相似性
cellchat <- computeNetSimilarity(cellchat, type = "structural")
cellchat <- netEmbedding(cellchat, type = "structural")
#> Manifold learning of the signaling networks for a single dataset
cellchat <- netClustering(cellchat, type = "structural")
#> Classification learning of the signaling networks for a single dataset
# Visualization in 2D-space
netVisual_embedding(cellchat, type = "structural", label.size = 3.5)

参考:

1:CellChat细胞通讯分析(中)--实操代码(单个样本) - 知乎 (zhihu.com)

2:单细胞分析之细胞交互-3:CellChat - 简书 (jianshu.com)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/696768.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

RocketMq源码解析六:消息存储

一、消息存储核心类 rocketmq消息存储的功能主要在store这个模块下。 核心类就是DefaultMessageStore。我们看下其属性 // 配置文件 private final MessageStoreConfig messageStoreConfig; // CommitLog 文件存储实现类 private final CommitLog commitLog; …

【研发日记】Matlab/Simulink软件优化(三)——利用NaNFlag为数据处理算法降阶

文章目录 前言 背景介绍 初始算法 优化算法 分析和应用 总结 前言 见《【研发日记】Matlab/Simulink软件优化(一)——动态内存负荷压缩》 见《【研发日记】Matlab/Simulink软件优化(二)——通信负载柔性均衡算法》 背景介绍 在一个嵌入式软件开发项目中&#xff0c;需要开…

FedAvg论文

论文&#xff1a;Communication-Efficient Learning of Deep Networks from Decentralized Data 原code Reproducing 通过阅读帖子进行的了解。 联邦平均算法就是最典型的平均算法之一。将每个客户端上的本地随机梯度下降和执行模型的平均服务器结合在一起。 联邦优化问题 数…

开发小Tips:切换淘宝,腾讯,官方,yarn,cnpm镜像源,nrm包管理工具的具体使用方式(方便切换镜像源)

由于开发中经常要下载一些软件或者依赖&#xff0c;且大多数的官方源的服务器都在国外&#xff0c;网速比较慢&#xff0c;国内为了方便&#xff0c;国内一些大厂就建立一些镜像&#xff0c;加快下载速度。 1.各大镜像源的切换&#xff1a; 切换淘宝镜像源&#xff1a; npm …

Bio-Info每日一题:Rosalind-06-Counting Point Mutations

&#x1f389; 进入生物信息学的世界&#xff0c;与Rosalind一起探索吧&#xff01;&#x1f9ec; Rosalind是一个在线平台&#xff0c;专为学习和实践生物信息学而设计。该平台提供了一系列循序渐进的编程挑战&#xff0c;帮助用户从基础到高级掌握生物信息学知识。无论你是初…

数据结构笔记 线性表的查找 顺序,折半,分块查找

顺序查找&#xff1a;从头找到尾&#xff0c;或者从尾找到头 顺序查找的性能&#xff1a; 其中&#xff0c;辅助空间的O&#xff08;1&#xff09;用于存放哨兵的 折半查找&#xff1a;向下取整&#xff1a;指当计算的结果不为整数时取小于计算结果的整数。 折半查找的性能&am…

类和对象的学习总结(一)

面向对象和面向过程编程初步认识 C语言是面向过程的&#xff0c;关注过程&#xff08;分析求解问题的步骤&#xff09; 例如&#xff1a;外卖&#xff0c;关注点菜&#xff0c;接单&#xff0c;送单等 C是面向对象的&#xff0c;关注对象&#xff0c;把一件事拆分成不同的对象&…

十大排序

本文将以「 通俗易懂」的方式来描述排序的基本实现。 &#x1f9d1;‍&#x1f4bb;阅读本文前&#xff0c;需要一点点编程基础和一点点数据结构知识 本文的所有代码以cpp实现 文章目录 排序的定义 插入排序 ⭐ &#x1f9d0;算法描述 &#x1f496;具体实现 &#x1f…

记一次Linux下Docker镜像服务器磁盘空间清理

我们开发环境Jenkins构建项目时报服务器磁盘空间不足&#xff0c;导致项目自动化构建部署失败&#xff0c; Docker镜像服务器磁盘空间清理我们做了多次了&#xff0c;之前在清理Docker镜像服务器时走了不少弯路&#xff0c;查了不少Docker镜像服务器空间清理&#xff0c;都大同…

架构设计-全局异常处理器404、405的问题

java web 项目中经常会遇到异常处理的问题&#xff0c;普遍的做法是使用全局异常处理&#xff0c;这样做有以下几种原因&#xff1a; 集中化处理&#xff1a;全局异常处理允许你在一个集中的地方处理整个应用程序中的异常。这有助于减少代码重复&#xff0c;因为你不必在每个可…

C++的string类

目录 一、导入 二、接口学习 1.默认成员函数 2.迭代器相关的函数iterator 3.与容量相关的函数Capacity系列 4.与成员权限相关的函数Element access: 5.修改器相关的函数Modifiers&#xff1a; 6.字符串操作接口函数String operations:​编辑 三、扩展 一、导入 学习过…

修复损坏的Excel文件比你想象的要简单,这里提供几种常见的修复方法

打开重要的Excel文件时遇到问题吗?Microsoft Excel是否要求你验证文件是否已损坏?Excel文件可能由于各种原因而损坏,从而无法打开。但不要失去希望;你可以轻松修复损坏的Excel文件。 更改Excel信任中心设置 Microsoft Excel有一个内置的安全功能,可以在受限模式下打开有…

阿里通义千问 Qwen2 大模型开源发布

阿里通义千问 Qwen2 大模型开源发布 Qwen2 系列模型是 Qwen1.5 系列模型的重大升级。该系列包括了五个不同尺寸的预训练和指令微调模型&#xff1a;Qwen2-0.5B、Qwen2-1.5B、Qwen2-7B、Qwen2-57B-A14B 以及 Qwen2-72B。 在中文和英文的基础上&#xff0c;Qwen2 系列的训练数…

前端开发部署:Visual Studio Code + vue

〇 说明 本教程全部采用默认安装路径&#xff0c;因为在进行自定义路径安装的时候&#xff0c;需要配置各种环境变量&#xff0c;在这个配置过程中&#xff0c;可能出现各种很混乱的问题。 一 安装Node.js 1 下载https://nodejs.org/en 2 按照默认NEXT执行 C:\Program Files…

C++ BFS相关题目

目录 图像渲染 岛屿数量 图像渲染 733. 图像渲染 vis就是标记1有没有被用过 符合条件的都放到队列里&#xff0c;每次出队列一个&#xff0c;判四个&#xff0c; 如果要改的值与当前的值相同直接返回 注意&#xff1a;image[x][y] prev要放在坐标判断的后面&#xff…

深度解析地铁票务系统的技术架构与创新应用

在城市交通体系中&#xff0c;地铁作为一种快速、便捷的公共交通方式&#xff0c;已经成为现代都市生活的重要组成部分。而地铁票务系统的技术架构&#xff0c;则是支撑地铁运营的核心之一。本文将深度解析地铁票务系统的技术架构与创新应用&#xff0c;从系统设计、数据管理、…

PE文件(七)扩大节合并节数据目录

添加shellcode有以下几种的方式&#xff1a; 1.直接在任意节的空白区添加代码 2.新增节添加代码 3.扩大最后一个节添加代码 4.合并节并添加代码 今天我们学习如何扩大节&#xff0c;合并节 扩大节 在上一节的学习中&#xff0c;我们可以通过上移NT头和节表覆盖DOS Stub以…

前端技术回顾系列 08|TS 泛型基础

在微信中阅读,关注公众号:CodeFit。 创作不易,如果你觉得这篇文章对你有帮助,请不要忘了 点赞、分享 和 关注 我的公众号:CodeFit,为我的持续创作提供一些动力。 上篇内容回顾:枚举(Enums) 在上篇文章中,我们详细回顾了 TypeScript 中的 枚举(Enums)。 枚举 是一…

spark第三篇sql

spark第三篇sql sparksql概述sparksql四大特性dataframe概述通过读取数据源创建dataFrameDataFrame常用操作DataSet将RDD转换为DataFrame代码开发sparksql 操作hivesqlsparksql读取mysql表中的数据sparksql将结果数据写入到mysql中 sparksql概述 1、sparksql发展史 shark为spa…

HTML静态网页成品作业(HTML+CSS)—— 环保主题介绍网页(5个页面)

&#x1f389;不定期分享源码&#xff0c;关注不丢失哦 文章目录 一、作品介绍二、作品演示三、代码目录四、网站代码HTML部分代码 五、源码获取 一、作品介绍 &#x1f3f7;️本套采用HTMLCSS&#xff0c;未使用Javacsript代码&#xff0c;共有5个页面。 二、作品演示 三、代…