前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >cellchat0-包安装和数据准备

cellchat0-包安装和数据准备

原创
作者头像
R小白
发布2023-05-10 10:16:47
2.9K2
发布2023-05-10 10:16:47
举报
文章被收录于专栏:生信学习生信学习

学习,记录,分享。

细胞通讯学习-cellchat

1 安装依赖

按照官方文档说明,先安装4个依赖

  • NMF (>= 0.23.0)
  • circlize (>= 0.4.12)
  • ComplexHeatmap
  • UMAP(python包)

已经安装过的可以直接跳过。首先安装R包:

代码语言:javascript
复制
install.packages('NMF') #成功,可能会遇到缺少其他依赖包的报错,缺啥补啥就行
#如果遇到R版本报错,在R终端先运行以下代码:
Sys.setenv(R_REMOTES_NO_ERRORS_FROM_WARNINGS=TRUE)

#剩下两个包
devtools::install_github("jokergoo/circlize") #成功
devtools::install_github("jokergoo/ComplexHeatmap") #成功

安装python包:

代码语言:javascript
复制
pip install umap-learn #这个在终端运行,有的可能需要用pip3

2 安装cellchat

以上依赖都安装完后,使用以下代码安装cellchat:

代码语言:javascript
复制
devtools::install_github("sqjin/CellChat")

报错,CMake was not found on the PATH. Please install CMake.

因为我是用conda配置环境,这里用conda来安装:

代码语言:javascript
复制
conda install cmake

在R终端继续安装cellchat:

继续报错,缺少一堆依赖包:ERROR: dependencies ‘RSpectra’, ‘RcppEigen’, ‘ggpubr’, ‘BiocNeighbors’ are not available for package ‘CellChat’.

缺啥装啥:

代码语言:javascript
复制
BiocManager::install(c('RSpectra', 'RcppEigen', 'ggpubr', 'BiocNeighbors'))
#中间遇到依赖问题,conda解决
conda install r-RcppEigen r-ggpubr r-RSpectra -c conda-forge

安装好后继续安装cellchat:

遇到提示:pragma clang diagnostic pop;报错:r: no member named 'Rlog1p' in namespace 'std'; did you mean 'log1p'?r: no member named 'Rlog1p' in namespace 'std'; did you mean 'log1p'?

google后,在github查到这是M芯片的mac会有的问题:

R on ARM Mac M1:load failed for ‘stats’ and Rlog1p error #163

解决办法,终端运行:

代码语言:javascript
复制
export PKG_CPPFLAGS="-DHAVE_WORKING_LOG1P"

再打开R终端运行:

代码语言:javascript
复制
devtools::install_github("sqjin/CellChat")

3 准备数据

需要准备一个标注好细胞类型的单细胞数据,这里选择seurat官方的pbmc3k数据:

pbmc3k下载地址: https://cf.10xgenomics.com/samples/cell/pbmc3k/pbmc3k_filtered_gene_bc_matrices.tar.gz

seurat流程标注细胞类型:

代码语言:javascript
复制
library(tidyverse)
library(Seurat)

# 数据预处理和降维聚类
pbmc3k <- Read10X('../data/pbmc3k/filtered_gene_bc_matrices/hg19/') %>%
  CreateSeuratObject(project = 'pbmc3k', min.cells = 3, min.features = 200) %>%
  AddMetaData(., PercentageFeatureSet(., pattern = "^MT-"), col.name = 'percent.mt') %>%
  subset(subset = nFeature_RNA > 200 & nFeature_RNA < 2500 & percent.mt < 5) %>%
  NormalizeData() %>%
  FindVariableFeatures() %>%
  ScaleData() %>%
  RunPCA() %>%
  FindNeighbors(dims = 1:10) %>%
  FindClusters(resolution = 0.5) %>%
  RunUMAP(dims = 1:10)

DimPlot(pbmc3k, label = T)
ggsave('plot/pbmc3k_orig_umap.png')

# 标注
new.cluster.ids <- c("Naive CD4 T", "CD14+ Mono", "Memory CD4 T", "B", "CD8 T", "FCGR3A+ Mono",
                     "NK", "DC", "Platelet")
names(new.cluster.ids) <- levels(pbmc3k)
pbmc3k <- RenameIdents(pbmc3k, new.cluster.ids)
DimPlot(pbmc3k, reduction = "umap", label = TRUE, pt.size = 0.5) + NoLegend()
ggsave('plot/pbmc3k_anno_umap.png')

# 保存数据
write_rds(pbmc3k, 'data/pbmc3k_anno.rds')

数据已经标注好,接下来可以走单个数据的细胞通讯分析了。

参考资料

  • cellchat官方教程(https://github.com/sqjin/CellChat)

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1 安装依赖
  • 2 安装cellchat
  • 3 准备数据
  • 参考资料
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档