To facilitate practical applications of CCC inference tools, we developed an integrated computational pipeline, CCCbank, that enables flexible combinations between 16 LR inference methods and 13 LR databases. Via CCCbank, each method can be equipped with one or more LR databases or any other user-defined databases. CCCbank uses Seurat object of scRNA-seq data as input for CCC inference. The output of CCCbank includes inferred LR pairs and their scores, which can be used for further analysis or visualization.
CCCbank can be installed from the github.
if(!require(devtools)){
install.packages('devtools')
}
devtools::install_github('SunXQlab/CCCbank')
Run CCC inference methods with their default LR prior database, for example, CellChat.
# Method 1:
result <- CCCbank(ser = ser, method = 'CellChat', species = 'human')
# Method 2:
result <- RunCellChat(ser = ser, species = 'human')
If you want to run other methods like method 2 above, please refer to the corresponding RunFunction in the table in Methods.
Run CCC inference methods with one or more built-in LR prior databases. Note that if using built-in LR prior databases, species is only ‘human’.
# run CellChat method with the combination of CellPhoneDBLR and FANTOM5
# as LR prior database to infer CCC.
result <- CCCbank(ser = ser, method = 'CellChat', species = 'human',
databases = c('CellPhoneDBLR', 'FANTOM5'), extension = FALSE)
# run CellChat method with the combination of CellPhoneDBLR, FANTOM5
# and defualt LR prior database of CellChat as LR prior database
result <- CCCbank(ser = ser, method = 'CellChat', species = 'human',
databases = c('CellPhoneDBLR', 'FANTOM5'), extension = TRUE)
Run CCC inference methods with user-defined databases.
database <- data.frame(ligand = c('L1', 'L2', 'L3', 'L4'),
receptor = c('R1', 'R2', 'R1', 'R3'))
# Method 1
result <- CCCbank(ser = ser, method = 'CellChat', species = 'human',
databases = database, extension = FALSE)
# Method 2
database <- data.frame(ligand = c('L1', 'L2', 'L3', 'L4'),
receptor = c('R1', 'R2', 'R1', 'R3'),
lr = c('L1_R1', 'L2_R2', 'L3_R1', 'L4_R3'))
db_new <- ChangeCellChatDB(priorDatabase = database,
extension = FALSE, species = 'human')
result <- RunCellChat(ser = ser, species = 'human', priorDatabase = db_new)
If you want to run other methods with user-defined databases like method 2 above, please refer to the corresponding RunFunction and ChangeDBFunction in the table in Methods. And check the usage of methods using ‘?RunFunction’, for example, ?RunCellChat. Note that if the user-defined databases contain multi-subunit of ligands and receptors, use ‘&’ to connect them. For example, if the ligand is A&B and the receptor is D&W, lr is A&B_D&W.
There are 16 CCC inference methods implemented in CCCbank R package:
Methods | Version | Supported Species | RunFunction | ChangeDBFunction |
---|---|---|---|---|
CellPhoneDB 2/3 | 3.0.0 | human | RunCellPhoneDB | ChangeCellPhoneDB |
CellTalker | 0.0.4.9000 | human | RunCellTalker | ChangeCellTalkerDB |
Connectome | 1.0.1 |
human mouse rat pig |
RunConnectome | ChangeConnectomeDB |
ICELLNET | 1.0.1 | human | RunICELLNET | ChangeICELLNETDB |
NATMI | —— |
human mouse (21 species in total) |
RunNATMI | ChangeNATMIDB |
iTALK | 0.1.0 | human | RuniTALK | ChangeiTALKDB |
scConnect | 1.0.3 |
human mouse |
RunscConnect | ChangescConnectDB |
SingleCellSignalR | 1.2.0 |
human mouse |
RunSCSR | ChangeSCSRDB |
CellChat | 1.4.0 |
human mouse zebrafish |
RunCellChat | ChangeCellChatDB |
RNAMagnet | 0.1.0 | mouse | RunRNAMagnet | ChangeRNAMagnetDB |
scSeqComm | 1.0.0 |
human mouse |
RunscSeqComm | ChangescSeqCommDB |
NicheNet | 1.1.0 | human | RunNicheNet | ChangeNicheNetDB |
CytoTalk | 0.99.9 |
human mouse |
RunCytoTalk | ChangeCytoTalkDB |
scMLnet | 0.2.0 | human | RunscMLnet | ChangescMLnetDB |
Domino | 0.1.1 |
human mouse |
RunDomino | ChangeDominoDB |
Note: Some methods also support other species, but not yet implemented in CCCbank R package.
There are 13 built-in LR prior databases in CCCbank R package:
- CellPhoneDBLR
- FANTOM5
- ICELLNETDB
- NATMIDB
- iTALKDB
- scConnectDB
- CellChatDB
- SingleCellSignalRDB
- RNAMagnetDB
- NicheNetDB
- DominoDB
- CellCallDB
- CytoTalkDB
Please cite CCCbank with the following reference:
Luo J, Deng M, Zhang X, Sun X*. ESICCC as a systematic computational framework for evaluation, selection and integration of cell-cell communication inference methods. Genome Research. 2023. doi: 10.1101/gr.278001.123
If you encounter any problems, please contact (sunxq6@mail.sysu.edu.cn).