scRNA分析 | 解决可能的报错,从0开始教你完成细胞通讯分析-cellphoneDB

简介: scRNA分析 | 解决可能的报错,从0开始教你完成细胞通讯分析-cellphoneDB

本文首发于“生信补给站”公众号  https://mp.weixin.qq.com/s/1db_kayObhlHVZlt1eNlpw


CellPhoneDB是一个受配体及其相互作用的数据库,整合了UniProt, ensemble, PDB, IMEx,IUPHAR等数据库的信息CellPhoneDB数据库概况如下图所示


本文将从头开始介绍(1)如何安装cellphonedb以及解决可能的报错,(2)如何下载cellphonedb数据库,(3)单细胞数据提取输入文件 以及(4)简单的可视化.

一 cellphonedb准备

1,cellphonedb安装

考虑到不同的生信软件对于python 或者 R 的版本要求不一致,建议建立一个独立的python环境。官网https://github.com/ventolab/CellphoneDB介绍了conda 和 virtualenv 2种方式,这里使用conda的方式。

1) Create python=>3.6 environment


conda create -n cpdb python=3.7

2) Activate environment


source activate cpdb

3) Install CellPhoneDB


pip install cellphonedb

ERROR1:如果这一步出现如下报错

解决方式就是先安装一下rpy2


conda install -c conda-forge rpy2

安装之后再安装pipinstallcellphonedb 即可。

检测方式:在终端输入cellphonedb ,出现如下截图的提示则安装成功,cellphonedb主要commands有四个,本文主要介绍一下红框内的method和plot,database也很重要 。

安装成功!

2,下载cellphoneDB数据库

一般直接默认选择最新的版本。

(1)使用上述的database参数下载数据库文件,cellphonedb database download

[ ][APP][05/12/22-17:19:52][INFO] Downloading release v4.0.0 of CellPhoneDB database
[ ][APP][05/12/22-17:20:06][INFO] Download completed!
[ ][APP][05/12/22-17:20:06][INFO] Copying database to xxx/releases/v4.0.0

(2)在https://github.com/ventolab/CellphoneDB-data 网址手动下载cellphone.db文件 。

以上两种方式均可以,记清楚数据库文件所在的路径就可以。

3,准备输入文件

在单细胞的seuratObject文件中提取矩阵文件和注释文件,这里以以一个样本为例

library(Seurat) 
library(tidyverse)
load("sce.anno.RData")
#使用一个样本作为示例
test <- subset(sce2, sample == "P01")
#注释文件
meta_data <- test@meta.data %>% 
  rownames_to_column("Cell") %>% 
  select(Cell,celltype) 
write.table(meta_data, 'test_meta.txt', sep='\t', quote=F, row.names=F)
#矩阵文件
test@assays$RNA@data[1:4,1:4]
write.table(as.matrix(test@assays$RNA@data), 'test_count.txt', sep='\t', quote=F)
test@assays$RNA@data[1:4,1:4]
4 x 4 sparse Matrix of class "dgCMatrix"
            K16733_AAACATACTCGTTT-1 K16733_AAAGCAGAACGTTG-1 K16733_AAAGCAGACTGAGT-1 K16733_AAAGGCCTGCTCCT-1
MIR1302-2HG                       .                       .                       .                       .
FAM138A                           .                       .                       .                       .
OR4F5                             .                       .                       .                       .
AL627309.1   

将上述的test_count.txt ,test_meta.txt 和 cellphone.db文件,上传到终端。

二 cellphonedb 计算

1,method-计算通讯关系

(1)首先使用method参数进行主要的细胞通讯计算


cellphonedb method statistical_analysis test_meta.txt test_count.txt --database ./cellphone.db --counts-data=gene_name --output-path

主要参数:

--database  :cellphonedb数据库文件

--counts-data :count 矩阵是基因名格式,添加参数--counts-data=gene_name ;如果行名为ensemble名称的话,可以使用默认值。

--output-path  :输出路径

其他一些默认参数:Threshold:0.1 Iterations:1000 Debug-seed:-1 Threads:4 Precision:3

(2)运算完成后,会在输出路径下得到以下4个文件:

deconvoluted.txt:基因在亚群中的平均表达量
mean.txt:每对受体-配体的平均表达量
pvalues.txt:每对受体-配体的p值
significant_means.txt:每对受体-配体显著性结果的平均表达量值

2, cellphonedb可视化

cellphonedb提供了plot函数可以进行简单的可视化

  •  
#气泡图
cellphonedb plot dot_plot 
#热图
cellphonedb plot heatmap_plot test_meta.txt

ERROR2:如果出现如下报错

ImportError: cannot import name 'soft_unicode' from 'markupsafe' (/proj/cellphone_env2/lib/python3.7/site-packages/markupsafe/__init__.py)

解决方式:可以将markupsafe降为2.0.1 。


pip install markupsafe==2.0.1

ERROR3:出现如下报错,提示没有ggplot2

解决方式:安装R环境以及对应的R包

conda install -c conda-forge r-base=3.6.2 # if not installed already
conda install -c conda-forge  r-ggplot2
conda install -c conda-forge r-pheatmap

之后再运行plot即可得到以下2张图

至此cellphonedb的主要分析就完成了!

A:当然希望你不会遇到以上ERROR,如果遇到了那就解决就完事。

B:当然也可以根据method得到的4个结果文件,使用ggplot2或其他R包自行绘制 (以待后续)。

相关文章
|
3月前
|
算法 数据挖掘
R语言——AVOCADO“(异常植被变化检测)算法(1990-2015数据分析)监测森林干扰和再生(含GEE影像下载代码)
R语言——AVOCADO“(异常植被变化检测)算法(1990-2015数据分析)监测森林干扰和再生(含GEE影像下载代码)
41 1
|
13天前
|
数据可视化
数量生态学冗余分析(RDA)分析植物多样性物种数据结果可视化|数据分享
数量生态学冗余分析(RDA)分析植物多样性物种数据结果可视化|数据分享
53 0
|
13天前
|
数据可视化 数据挖掘
singleCellNet(代码开源)|单细胞层面对细胞分类进行评估,褒贬不一,有胜于无
`singleCellNet`是一款用于单细胞数据分析的R包,主要功能是进行细胞分类评估。它支持多物种和多分组分析,并提供了一个名为`CellNet`的类似工具的示例数据集。用户可以通过安装R包并下载测试数据来运行demo。在demo中,首先加载查询和测试数据,然后训练分类器,接着进行评估,包括查看准确率和召回率的曲线图、分类热图和比例堆积图等。此外,`singleCellNet`还支持跨物种评估,将人类基因映射到小鼠直系同源物进行分析。整体而言,`singleCellNet`是一个用于单细胞分类评估的综合工具,适用于相关领域的研究。
30 6
|
11月前
|
数据可视化 数据库
scRNA分析|使用CellChat完成细胞通讯分析-简单且可视化出众,代码自取
scRNA分析|使用CellChat完成细胞通讯分析-简单且可视化出众,代码自取
606 0
|
11月前
|
数据可视化 关系型数据库 数据挖掘
scRNA分析|一(尽)文(力)解决你的单细胞火山图问题
scRNA分析|一(尽)文(力)解决你的单细胞火山图问题
251 0
|
9月前
|
数据采集 算法
基于数据驱动的多尺度表示的信号去噪统计方法研究(Matlab代码实现)
基于数据驱动的多尺度表示的信号去噪统计方法研究(Matlab代码实现)
|
11月前
|
算法 数据可视化
跟NBT学Scissor| bulk RNA + scRNA鉴定与目标表型相关的细胞亚群
跟NBT学Scissor| bulk RNA + scRNA鉴定与目标表型相关的细胞亚群
173 0
|
11月前
|
存储 数据可视化 Shell
单细胞免疫组库VDJ|从数据下载开始完成cellranger vdj分析(1)
单细胞免疫组库VDJ|从数据下载开始完成cellranger vdj分析(1)
284 0
|
11月前
|
数据库
利用massdatabase包提取物种KEGG通路与基因/化合物对应信息
最近手头处理一批代谢组数据, 想基于几十个关键差异代谢物代谢物进行下KEGG富集,能想到有两种方式解决,一种常用方式就是基于MetaboAnalyst在线富集,另一种就是解析出该物种的通路与代谢物的对应关系文件,然后用Y叔叔的Clusterprofiler包富集。经一番搜索,massdatabase包可帮我们轻松获得这个文件。 作者:凯凯何_Boy 链接:https://www.jianshu.com/p/654784925903 来源:简书 著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
167 1
|
11月前
|
数据处理
单细胞免疫组库VDJ| 从零开始scRepertoire分析,解决真实场景中可能的问题(下)
单细胞免疫组库VDJ| 从零开始scRepertoire分析,解决真实场景中可能的问题(下)
241 0