Cellphonedb单细胞互作分析数据库更新及自定义

学术   2024-07-26 09:20   重庆  
觉得小编内容有用的、有意思的,点赞、分享、关注一下呗!

1、《KS科研分享与服务》公众号有QQ交流群,进入门槛是20元(完全是为了防止白嫖党,请理解),请考虑清楚。群里有免费推文的注释代码和示例数据(终身拥有),没有付费内容,群成员福利是购买单个付费内容半价!


2、《KS科研分享与服务》微信VIP群只针对购买打包代码的小伙伴(公众号所有付费内容合集)!微信群不是单独的,是对于打包的人答疑解惑和交流的平台、群成员专享视频教程,帖子提前发布,以及其他更多福利!


点击:→ 加入微信vip群:2024-2025《KS科研分享与服务》付费内容打包集合


3、需进QQ群或者打包代码入微信VIP的小伙伴请添加作者微信了解,请备注目的,除此之外请勿添加,谢谢!


详情请联系作者:

前言:

如果你的见解和我有出入,请不要妄自菲薄,盲目相信,也需要正确的质疑!

我们之前说了cellchat的数据库更新(Cellchat分析受配体数据库更新(自定义))。很显然,我们也会感兴趣,能不能更新cellphonedb的数据库,或者说将cellchat受配体添加入cpdb。当然是可以的,也是比较简单的,官方教程参考:https://github.com/ventolab/CellphoneDB/blob/master/notebooks/T0_BuildDBfromFiles.ipynb。为了方便大家更加清晰的理解,我们也制作了视频,参考B站:

(https://www.bilibili.com/video/BV1rZ421T7yR/?spm_id_from=333.999.0.0&vd_source=05b5479545ba945a8f5d7b2e7160ea34)

Cellphonedb修改/添加数据库也是比较简单的。三步搞定(cpdb数据库和cellchat一样,只需要修改文件,就可以达到修改的目的)第一:下载cpdb原始数据库 ;第二:在input文件中按照格式要求添加新的interaction ;第三:重建cpdb分析数据库。其实这个代码操作并不麻烦,只需要一个函数,只是中间文件构建比较费工夫;
import pandas as pdimport globimport os
#我们这里用最新的,定义cpdb的版本为5.0. 并下载database。cpdb_version = 'v5.0.0'cpdb_target_dir = os.path.join('./', cpdb_version)
from cellphonedb.utils import db_utilsdb_utils.download_database(cpdb_target_dir, cpdb_version)

下载cpdb数据库,按照要求整理格式,然后bulid即可:
#下载后文件夹除了一个zip文件之外,我们得到了6格csv文件,这也是我们如果需要修改cpdb的时候操作的文件#修改就在excel中手动修改就行了from cellphonedb.utils import db_utils

cpdb_input_dir = "./re-bulid/"
db_utils.create_db(cpdb_input_dir)# Created ./re-bulid/cellphonedb_07_25_2024_191116.zip successfully
%%bashcd re-bulid/ls -lh-rw-rw-r-- 1 ks_ts ks_ts 117K Jul 25 19:11 cellphonedb_07_25_2024_191116.zip-rw-rw-r-- 1 ks_ts ks_ts  56K Jul 25 19:10 complex_input.csv-rw-rw-r-- 1 ks_ts ks_ts  64K Jul 25 19:10 gene_input.csv-rw-rw-r-- 1 ks_ts ks_ts 497K Jul 25 19:10 interaction_input.csv-rw-rw-r-- 1 ks_ts ks_ts 156K Jul 25 19:10 protein_input.csvdrwxrwxr-x 2 ks_ts ks_ts 4.0K Jul 25 19:10 sources
这样就完成了,但是这样介绍就结束了,多多少少是有点水的,因为cellchat中有些LR在cellphonedb中并没有,所以我想着将两者合并,这样就形成一个新的数据库,LR会多一点,所以将cellchat数据库合并进来,这才是我们的目的。准备文件的过程比较复杂,需要代码和手动结合整理,总之熬肝花费了一番功夫之后,我们还是成功构建了,并且对构建的数据库进行了测试,跑流程也是没有问题的!我们可以对比一下结果,发现新构建数据库结果中互作数增加了:如果后续有自己感兴趣的LR需要添加,只需要加入input文件进行再构建即可!

(左侧:原始数据库;右侧:更新数据库)


完整版代码以及构建后的数据库文件已发布微信VIP群,自信下载使用!


KS科研分享与服务
科研学习交流于分享,生信学习笔记,科研经历和生活!
 最新文章