Cellchat和Cellphonedb细胞互作一些问题的解决(error和可视化)
今日的内容主要解决两个问题,一个是cellchat的代码报错问题,因为已经有很多人提出这个问题了。第二个是Cellphonedb结果的可视化,这里提供一种免费的很实用的快捷可视化方法。其实这些问题只要自己思考都是能明白的。 Cellchat和cellphonedb细胞互作分析历史相关帖子:
Cellchat(代码详细注释版):单细胞转录组(人、小鼠)细胞互作分析及可视化 CellPhoneDB单细胞互作分析(1):Linux软件安装及遇到的Bug(ERROR)解决
CellPhoneDB单细胞互作分析(2):数据分析|人鼠基因同源转化|ERROR解决|详细注释版代码
CellPhoneDB单细胞互作分析(3):结果可视化作图
CellPhoneDB单细胞互作分析(4):受配体对结果提取及可视化作图
1、Cellchat报错问题
Cellchat在做网络图的时候会有如下的报错:
mat <- cellchat@net$weight
par(mfrow = c(5,3), xpd=TRUE, mar=c(1,1,1,1))
for (i in 1:nrow(mat)) {mat2 <- matrix(0, nrow = nrow(mat), ncol = ncol(mat), dimnames = dimnames(mat))mat2[1, ] <- mat[1, ]netVisual_circle(mat2, vertex.weight = groupSize, weight.scale = T, edge.weight.max = max(mat), title.name = rownames(mat)[i])
}
Cellchat运行出现错误:
# Error in i_set_edge_attr(x, attr(value, "name"), index = value, value = attr(value, :
# Length of new attribute value must be 1 or 11, the number of target edges, not 2
Error in i_set_edge_attr这个并不是代码都问题,当看到自己文件步骤没问题,是不是应该思考是内部问题。没错,主要的原因是igraph包更新了,如果你igraph是1.4.0或者以下就不会有问题。但是你降低版本或者保持旧版本可能其他包不答应。况且Cellchat更新了到1.6.0了,解决办法可以是更新cellchat。或者cellchat也提供了办法,就是更新object,就不会有问题了。
library(CellChat)
cellchat <- updateCellChat(cellchat)
2、Cellphonedb可视化
Cellphonedb我们也提供过一种免费的可视化方式,使用ktplots包完成。但是总是有人嫌弃这个包的图臭,也一直问我问题,因为这个包的函数legend设置的不太好。我觉得直接转化成气泡图以文献的方式呈现就完美了。

#cellphonedb受配体点图的可视化
# devtools::install_github('zktuong/ktplots', dependencies = TRUE)
library(ktplots)
pvals <- read.delim("pvalues.txt", check.names = FALSE)
means <- read.delim("means.txt", check.names = FALSE)pvals_sec <- pvals[grep(c("^CCL|CXCL"), pvals$interacting_pair),]
means_sec <- means[grep(c("^CCL|CXCL"), means$interacting_pair),] Tcell_comm <- plot_cpdb(cell_type1 = 'T_cell', cell_type2 = "", scdata = scRNA_sam,idents = 'celltype', means = means_sec, pvals = pvals_sec, highlight = "darkblue",keep_significant_only =T) +theme(axis.text = element_text(size = 10, color = 'black'))Tcell_comm_data <- Tcell_comm$data
Tcell_comm_data <- Tcell_comm_data[,c(1:4)]
Tcell_comm_data$scaled_means[is.na(Tcell_comm_data$scaled_means)]=0
Tcell_comm_data$pvals[is.na(Tcell_comm_data$pvals)]=1my_palette <- colorRampPalette(c("darkblue","yellow","red"))(n=100)
ggplot(Tcell_comm_data,aes(x=Var2,y=Var1)) + geom_point(aes(size=-log10(pvals),color=scaled_means)) +scale_size_continuous(range=c(1,5),breaks = c(0,1.0,2.0))+scale_color_gradientn('Mean expression', colors=my_palette,limits=c(0,3)) +theme_bw() +theme(axis.text=element_text(size=10, colour = "black"),axis.text.x = element_text(angle = 90, hjust = 1, vjust = 0, size=10),axis.text.y = element_text(size=10, colour = "black"),axis.title=element_blank(),panel.border = element_rect(size = 0.7, linetype = "solid", colour = "black"))

好了,这就是所有内容了,希望对你学习有帮助。也希望你能多多思考。觉得分享有用的,点个免费的赞再走呗!
相关文章:
Cellchat和Cellphonedb细胞互作一些问题的解决(error和可视化)
今日的内容主要解决两个问题,一个是cellchat的代码报错问题,因为已经有很多人提出这个问题了。第二个是Cellphonedb结果的可视化,这里提供一种免费的很实用的快捷可视化方法。其实这些问题只要自己思考都是能明白的。 Cellchat和cellphonedb细…...
大文件分片上传的实现【前后台完整版】
在一般的产品开发过程中,大家多少会遇到上传视频功能的需求,往往我们采用的都是对视频大小进行限制等方法,来防止上传请求超时,导致上传失败。这时候可能将视频分片上传可以对你的项目有一个小小的体验优化。 本片文章前端是vue&…...
Java序列化面试总结
Java序列化与反序列化是什么? Java序列化是指把Java对象转换为字节流的过程,而Java反序列化是指把字节流恢复为Java对象的过程。 序列化: 序列化是把对象转换成有序字节流,以便在网络上传输或者保存在本地文件中。核心作用是对象…...
fs的常用方法
以下是fs模块的一些常用方法: 1. 读取文件内容 使用fs.readFile()方法读取文件内容。该方法接收两个参数:文件路径和回调函数。回调函数的参数包括错误信息和文件内容。 javascript const fs require(fs); fs.readFile(/path/to/file, (err, data)…...
【华为OD机试 2023最新 】字符串重新排列、字符串重新排序(C++ 100%)
文章目录 题目描述输入描述输出描述用例题目解析C++题目描述 给定一个字符串s,s包括以空格分隔的若干个单词,请对s进行如下处理后输出: 1、单词内部调整:对每个单词字母重新按字典序排序 2、单词间顺序调整: 1)统计每个单词出现的次数,并按次数降序排列 2)次数相同,按…...
Matlab自动消除论文插图白边的7种方法
通过Matlab所绘制的插图,如不进行一定的调整,其四周往往存在一定范围的白边。 白边的存在会影响数据展示效果,有时也会给论文的排版造成一定麻烦。 要想消除白边,一种简单的方法是,在导出插图后,用其它软…...
Python每日一练(20230330)
目录 1. 存在重复元素 🌟 2. 矩阵置零 🌟🌟 3. 回文对 🌟🌟🌟 🌟 每日一练刷题专栏 🌟 Golang每日一练 专栏 Python每日一练 专栏 C/C每日一练 专栏 Java每日一练 专栏 1…...
面试官:Tomcat 在 SpringBoot 中是如何启动的(二)
文章目录 总结彩蛋我们再看看Tomcat类的源码: //部分源码,其余部分省略。 public class Tomcat {//设置连接器public void setConnector(Connector connector) {Service service = getService(...
软件测试岗位中,如何顺利拿下50K+?送你一份涨薪秘籍
随着科技发展以及5G时代的到来,IT行业早已发生翻天覆地的变化。已不是当初你认为只要有好点子就能立马起盘做项目的时代了。在IT行业高速发展的时期中“软件测试行业”仍然是热门行业之一。软件行业的高速发展必然带来更多的岗位,正如IT行业发展需要有开…...
java webflux函数式实现数据结构
我前面写的文章 java webflux注解方式写一个可供web端访问的数据接口 带大家写了个注解方式实现的webflux 首先 使用函数式时 您需要自己初始化服务器 使用函数式需要两个接口 分别是 RouterFunction 和 HandlerFuncion RouterFunction主要的作用就是分别一下任务 例如 添加 直…...
百度文心一言可以完胜ChatGPT的4点可能性
文心一言,百度全新一代知识增强大语言模型,文心大模型家族的新成员,能够与人对话互动,回答问题,协助创作,高效便捷地帮助人们获取信息、知识和灵感。但说实话,很多人拿他与ChatGPT相对比&#x…...
大型分布式架构设计
大型网站的特点 大型网站架构技术 大型网站架构技术-架构模式 大型网站架构技术-高性能架构 以用户为中心,提供快速的访问体验。主要体现在:响应快、并发能力高和性能稳定。 大型网站架构技术-高可用架构 大型网站在任何时候都应该可以正常访问&#…...
基于springboot实现校园在线拍卖电商系统【源码】
基于springboot实现校园在线拍卖系统演示开发语言:Java 框架:springboot JDK版本:JDK1.8 服务器:tomcat7 数据库:mysql 5.7 数据库工具:Navicat11 开发软件:eclipse/myeclipse/idea Maven包&…...
SaaS智慧校园源码,电子班牌管理系统 人脸考勤、综合评价系统、请假管理、校务管理
Java智慧校园系统源码 智慧学校源码 小程序电子班牌,前后端分离架构 智慧校园全套源码包含:电子班牌管理系统、成绩管理系统、考勤人脸刷卡管理系统、综合素养评价系统、请假管理系统、电子班牌发布系统、校务管理系统、小程序移动端、教师后台管理系统…...
MONGODB mongodb 一般人不知道的数据类型与使用
开头还是介绍一下群,如果感兴趣polardb ,mongodb ,mysql ,postgresql ,redis 等有问题,有需求都可以加群群内有各大数据库行业大咖,CTO,可以解决你的问题。加群请联系 liuaustin3 ,在新加的朋友会分到2群(共…...
蚁群算法优化
%%%%%%%%%%%%蚁群算法解决 TSP 问题%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%初始化%%%%%%%%%%%%%%%%%%% clear all; %清除所有变量 close all; %清图 clc; %清屏 m 50; %蚂蚁个数 Alpha 1; %信息素重要程度参数 Beta 5; %启发式因子重要程度参数 Rho 0.1; %信息素蒸发系数 G 20…...
山东首版次申报的材料
首版次软件基本知识: 1、 首版次高端软件的定义: 首版次高端软件是指省内企事业单位通过自主开发或者合作开发其功能或性能有重大突破 在该领域具有技术领先优势或者打破市场垄断拥有自主知识产权 尚未取得重大市场业绩的 同产品名称、同一版本号的软件产品。 2、主管部门:山…...
个人时间管理网站—首页的前端实现【源码】
🌟所属专栏:献给榕榕 🐔作者简介:rchjr——五带信管菜只因一枚 😮前言:该专栏系为女友准备的,里面会不定时发一些讨好她的技术作品,感兴趣的小伙伴可以关注一下~👉文章简…...
Python毕业设计推荐
今天给大家推荐4个基于python的毕业设计/课程设计 1 网上商城系统 这是一个基于pythonvue开发的商城网站,平台采用B/S结构,后端采用主流的Python语言进行开发,前端采用主流的Vue.js进行开发。 整个平台包括前台和后台两个部分。 前台功能…...
使用nodemon时报错:“无法加载文件...,因为在此系统上禁止运行脚本“;windows执行策略修改
报错内容如下图: Windows 系统会对全局安装的脚本进行一个限制,防止恶意脚本执行,所以此处会报错。 如何解决?通过修改 windows 执行策略来解决此问题。 一、什么是 windows 执行策略 Windows 给 PowerShell 设定了一个叫 “…...
Flask RESTful 示例
目录 1. 环境准备2. 安装依赖3. 修改main.py4. 运行应用5. API使用示例获取所有任务获取单个任务创建新任务更新任务删除任务 中文乱码问题: 下面创建一个简单的Flask RESTful API示例。首先,我们需要创建环境,安装必要的依赖,然后…...
Golang 面试经典题:map 的 key 可以是什么类型?哪些不可以?
Golang 面试经典题:map 的 key 可以是什么类型?哪些不可以? 在 Golang 的面试中,map 类型的使用是一个常见的考点,其中对 key 类型的合法性 是一道常被提及的基础却很容易被忽视的问题。本文将带你深入理解 Golang 中…...
MVC 数据库
MVC 数据库 引言 在软件开发领域,Model-View-Controller(MVC)是一种流行的软件架构模式,它将应用程序分为三个核心组件:模型(Model)、视图(View)和控制器(Controller)。这种模式有助于提高代码的可维护性和可扩展性。本文将深入探讨MVC架构与数据库之间的关系,以…...
oracle与MySQL数据库之间数据同步的技术要点
Oracle与MySQL数据库之间的数据同步是一个涉及多个技术要点的复杂任务。由于Oracle和MySQL的架构差异,它们的数据同步要求既要保持数据的准确性和一致性,又要处理好性能问题。以下是一些主要的技术要点: 数据结构差异 数据类型差异ÿ…...
【python异步多线程】异步多线程爬虫代码示例
claude生成的python多线程、异步代码示例,模拟20个网页的爬取,每个网页假设要0.5-2秒完成。 代码 Python多线程爬虫教程 核心概念 多线程:允许程序同时执行多个任务,提高IO密集型任务(如网络请求)的效率…...
select、poll、epoll 与 Reactor 模式
在高并发网络编程领域,高效处理大量连接和 I/O 事件是系统性能的关键。select、poll、epoll 作为 I/O 多路复用技术的代表,以及基于它们实现的 Reactor 模式,为开发者提供了强大的工具。本文将深入探讨这些技术的底层原理、优缺点。 一、I…...
Spring Cloud Gateway 中自定义验证码接口返回 404 的排查与解决
Spring Cloud Gateway 中自定义验证码接口返回 404 的排查与解决 问题背景 在一个基于 Spring Cloud Gateway WebFlux 构建的微服务项目中,新增了一个本地验证码接口 /code,使用函数式路由(RouterFunction)和 Hutool 的 Circle…...
深度学习习题2
1.如果增加神经网络的宽度,精确度会增加到一个特定阈值后,便开始降低。造成这一现象的可能原因是什么? A、即使增加卷积核的数量,只有少部分的核会被用作预测 B、当卷积核数量增加时,神经网络的预测能力会降低 C、当卷…...
c++第七天 继承与派生2
这一篇文章主要内容是 派生类构造函数与析构函数 在派生类中重写基类成员 以及多继承 第一部分:派生类构造函数与析构函数 当创建一个派生类对象时,基类成员是如何初始化的? 1.当派生类对象创建的时候,基类成员的初始化顺序 …...
解析奥地利 XARION激光超声检测系统:无膜光学麦克风 + 无耦合剂的技术协同优势及多元应用
在工业制造领域,无损检测(NDT)的精度与效率直接影响产品质量与生产安全。奥地利 XARION开发的激光超声精密检测系统,以非接触式光学麦克风技术为核心,打破传统检测瓶颈,为半导体、航空航天、汽车制造等行业提供了高灵敏…...
