首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >直接为CellPhoneDB创建一个独立的conda环境

直接为CellPhoneDB创建一个独立的conda环境

作者头像
生信技能树
发布2022-03-03 13:55:40
发布2022-03-03 13:55:40
3.1K0
举报
文章被收录于专栏:生信技能树生信技能树

细胞通讯分析相关软件工具也不少了,但是缺乏一个综述文章,或者说一个benchmark文章,对这些工具进行测评。

CellPhoneDB是出镜率最高的细胞通讯分析软件,在试图学习这个细胞通讯分析方法之前,大家需要自己提前了解一下:细胞通讯分析的背景知识,而且呢,还得看看细胞通讯分析的实例,多读文献,比如:细胞通讯分析结果的解读。而且呢,并不是说一定要使用专门的细胞通讯分析软件才能做这个细胞通讯分析,比如:构建单细胞亚群网络(类似于细胞通讯分析),就是另辟蹊径。

最早出现在文章《Single-cell reconstruction of the early maternal–fetal interface in humans》,他们对对来自早期(6-14孕周)母胎界面样本(11个蜕膜,5个胎盘,6个PBMC)的70000个单细胞进测序(10X Genomics),也有Smart-seq2 全长单细胞转录组数据。研究者们为了系统地研究蜕膜-胎盘界面中胎儿和母体细胞之间的相互作用,作者开发了一个配体-受体相互作用的数据库(www.CellPhoneDB.org),该数据库可以预测分析不同细胞类型之间的分子相互作用。

因为图很炫酷,所以风靡开来,也产生了多种同类型软件工具。主要是数据库资源的收集和人工整理,数据库构建时考虑了每种细胞类型中配体和受体的表达水平,并凭借经验计算配体-受体关系对的细胞类型特异性,这种预测到的细胞群之间的分子相互作用是通过特定的蛋白质复合物实现的,并在蜕膜和胎盘中产生潜在的细胞-细胞通讯网络。

我们前两天分享了笔记:把Seurat对象里面表达量矩阵和细胞表型信息输出给CellPhoneDB做细胞通讯,就有很多小伙伴反应他安装CellPhoneDB比较困难,其实就是一个非常简单的Python模块而已,但是Python本身这个语言比较奇葩,对初学者来说各种版本冲突很膈应人,所以直接为CellPhoneDB创建一个独立的conda环境,是一个比较好的解决方案,如下所示:

代码语言:javascript
复制
# 创建名为cellphonedb的虚拟环境
conda create -n cellphonedb python=3.7 
# 激活虚拟环境
conda activate cellphonedb 
# 在虚拟环境中下载软件
pip install cellphonedb
# 假如网络不行,就加上  -i http://mirrors.aliyun.com/pypi/simple/   
# 很简单就安装成功, 试试看运行它 获取帮助信息
cellphonedb --help

首先需要把自己的单细胞表达量矩阵和细胞分类等表型信息准备好,

我们制作的表达量矩阵文件如下所示:

代码语言:javascript
复制
> test_counts[1:4,1:4]
                           Gene AAACATACAACCAC AAACATTGAGCTAC AAACATTGATCAGC
ENSG00000238009 ENSG00000238009              0              0              0
ENSG00000286448 ENSG00000286448              0              0              0
ENSG00000225880 ENSG00000225880              0              0              0
ENSG00000188976 ENSG00000188976              0              0              0

我们的单细胞表型信息文件如下所示:

代码语言:javascript
复制
head test_meta.txt 
Cell    cell_type
AAACATACAACCAC  Memory_CD4_T
AAACATTGAGCTAC  B
AAACATTGATCAGC  Memory_CD4_T
AAACCGTGCTTCCG  CD14_Mono
AAACCGTGTATGCG  NK
AAACGCACTGGTAC  Memory_CD4_T
AAACGCTGACCAGT  CD8_T
AAACGCTGGTTCTT  CD8_T
AAACGCTGTAGCCA  Naive_CD4_T
# 接近3千个细胞,归类如下;
cut -f 2 test_meta.txt |sort |uniq -c 
 344 B
 480 CD14_Mono
 271 CD8_T
  32 DC
 162 FCGR3A_Mono
 483 Memory_CD4_T
 155 NK
 697 Naive_CD4_T
  14 Platelet

有了这两个文件,运行CellPhoneDB做细胞通讯就是一句话代码的事情。

运行CellPhoneDB做细胞通讯的代码是:

代码语言:javascript
复制
cellphonedb method statistical_analysis test_meta.txt test_counts.txt 

日志如下所示:

代码语言:javascript
复制
[ ][APP][11/02/22-09:31:00][WARNING] Latest local available version is `v2.0.0`, using it
[ ][APP][11/02/22-09:31:00][WARNING] User selected downloaded database `v2.0.0` is available, using it
[ ][CORE][11/02/22-09:31:00][INFO] Initializing SqlAlchemy CellPhoneDB Core
[ ][CORE][11/02/22-09:31:00][INFO] Using custom database at /Users/jmzeng/.cpdb/releases/v2.0.0/cellphone.db
[ ][APP][11/02/22-09:31:00][INFO] Launching Method cpdb_statistical_analysis_local_method_launcher
[ ][APP][11/02/22-09:31:00][INFO] Launching Method _set_paths
[ ][APP][11/02/22-09:31:00][INFO] Launching Method _load_meta_counts
[ ][APP][11/02/22-09:31:04][INFO] Launching Method _check_counts_data
[ ][CORE][11/02/22-09:31:04][INFO] Launching Method cpdb_statistical_analysis_launcher
[ ][CORE][11/02/22-09:31:04][INFO] Launching Method _counts_validations
[ ][CORE][11/02/22-09:31:04][INFO] Launching Method get_interactions_genes_complex
[ ][CORE][11/02/22-09:31:04][INFO] [Cluster Statistical Analysis] Threshold:0.1 Iterations:1000 Debug-seed:-1 Threads:4 Precision:3
[ ][CORE][11/02/22-09:31:04][INFO] Running Real Analysis
[ ][CORE][11/02/22-09:31:04][INFO] Running Statistical Analysis
[ ][CORE][11/02/22-09:38:59][INFO] Building Pvalues result
[ ][CORE][11/02/22-09:38:59][INFO] Building results

成功运行后会输出一个文件夹(名字是 out ),里面有4个文本文件,就是CellPhoneDB的结果。

代码语言:javascript
复制
 ls -lh out|cut -d" " -f 7-

   64K  2 11 09:39 deconvoluted.txt
  153K  2 11 09:39 means.txt
  132K  2 11 09:39 pvalues.txt
   65K  2 11 09:39 significant_means.txt

当然了,上面的代码也可以有很多参数选择。而且这个结果的解读,和后续可视化,才是重中之重。

如果你确实觉得我的教程对你的科研课题有帮助,让你茅塞顿开,或者说你的课题大量使用我的技能,烦请日后在发表自己的成果的时候,加上一个简短的致谢,如下所示:

代码语言:javascript
复制
We thank Dr.Jianming Zeng(University of Macau), and all the members of his bioinformatics team, biotrainee, for generously sharing their experience and codes.

十年后我环游世界各地的高校以及科研院所(当然包括中国大陆)的时候,如果有这样的情谊,我会优先见你。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2022-02-11,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 生信技能树 微信公众号,前往查看

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

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档