当前位置: 首页 > news >正文

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"))

好了,这就是所有内容了,希望对你学习有帮助。也希望你能多多思考。觉得分享有用的,点个免费的赞再走呗!

http://www.lryc.cn/news/44026.html

相关文章:

  • 大文件分片上传的实现【前后台完整版】
  • Java序列化面试总结
  • fs的常用方法
  • 【华为OD机试 2023最新 】字符串重新排列、字符串重新排序(C++ 100%)
  • Matlab自动消除论文插图白边的7种方法
  • Python每日一练(20230330)
  • 面试官:Tomcat 在 SpringBoot 中是如何启动的(二)
  • 软件测试岗位中,如何顺利拿下50K+?送你一份涨薪秘籍
  • java webflux函数式实现数据结构
  • 百度文心一言可以完胜ChatGPT的4点可能性
  • 大型分布式架构设计
  • 基于springboot实现校园在线拍卖电商系统【源码】
  • SaaS智慧校园源码,电子班牌管理系统 人脸考勤、综合评价系统、请假管理、校务管理
  • MONGODB mongodb 一般人不知道的数据类型与使用
  • 蚁群算法优化
  • 山东首版次申报的材料
  • 个人时间管理网站—首页的前端实现【源码】
  • Python毕业设计推荐
  • 使用nodemon时报错:“无法加载文件...,因为在此系统上禁止运行脚本“;windows执行策略修改
  • 网络协议分析期末复习(五)
  • 外贸找客户软件:Yellow Page Spider 8.7.1 Crack
  • 博客管理系统(前端页面设计)
  • 安装yolov5环境
  • IP 归属地查询 API 教你从0到1顺着网线找到键盘侠
  • 【K8S系列】深入解析Pod对象(二)
  • 从3千到3万,我的测试之路真的坎坷
  • linux下使用system函数在程序中运行linux的shell命令
  • 银行数字化转型导师坚鹏:银行业发展趋势及对人才的需求分析
  • NFS挂载
  • IDEA使用技巧