
前言:
如果你的见解和我有出入,请不要妄自菲薄,盲目相信,也需要正确的质疑!
我们之前说了cellchat的数据库更新。很显然,我们也会感兴趣,能不能更新cellphonedb的数据库,或者说将cellchat受配体添加入cpdb。当然是可以的,也是比较简单的,为了方便大家更加清晰的理解,我们也制作了视频,参考B站:

Cellphonedb修改/添加数据库也是比较简单的。三步搞定(cpdb数据库和cellchat一样,只需要修改文件,就可以达到修改的目的)第一:下载cpdb原始数据库 ;第二:在input文件中按照格式要求添加新的interaction ;第三:重建cpdb分析数据库。其实这个代码操作并不麻烦,只需要一个函数,只是中间文件构建比较费工夫;
import pandas as pd
import glob
import os#我们这里用最新的,定义cpdb的版本为5.0. 并下载database。
cpdb_version = 'v5.0.0'
cpdb_target_dir = os.path.join('./', cpdb_version)
from cellphonedb.utils import db_utils
db_utils.download_database(cpdb_target_dir, cpdb_version)下载cpdb数据库,按照要求整理格式,然后bulid即可:
#下载后文件夹除了一个zip文件之外,我们得到了6格csv文件,这也是我们如果需要修改cpdb的时候操作的文件
#修改就在excel中手动修改就行了
from cellphonedb.utils import db_utilscpdb_input_dir = "./re-bulid/"db_utils.create_db(cpdb_input_dir)
# Created ./re-bulid/cellphonedb_07_25_2024_191116.zip successfully%%bash
cd 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.csv
drwxrwxr-x 2 ks_ts ks_ts 4.0K Jul 25 19:10 sources这样就完成了,但是这样介绍就结束了,多多少少是有点水的,因为cellchat中有些LR在cellphonedb中并没有,所以我想着将两者合并,这样就形成一个新的数据库,LR会多一点,所以将cellchat数据库合并进来,这才是我们的目的。准备文件的过程比较复杂,需要代码和手动结合整理,总之熬肝花费了一番功夫之后,我们还是成功构建了,并且对构建的数据库进行了测试,跑流程也是没有问题的!我们可以对比一下结果,发现新构建数据库结果中互作数增加了:如果后续有自己感兴趣的LR需要添加,只需要加入input文件进行再构建即可!

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