常用的細胞通訊軟件:
- CellphoneDB:是公開的人工校正的埠忘,儲存受體漫谷、配體以及兩種相互作用的數據庫。此外,還考慮了結構組成管削,能夠描述異構復合物。(配體-受體+多聚體)
- iTALK:通過平均表達量方式撑螺,篩選高表達的胚體和受體含思,根據結果作圈圖。(配體-受體)
- CellChat:CellChat將細胞的基因表達數據作為輸入甘晤,并結合配體受體及其輔助因子的相互作用來模擬細胞間通訊含潘。(配體-受體+多聚體+輔因子)
- NicheNet // NicheNet多樣本分析 // 目標基因的配體和靶基因活性預測:通過將相互作用細胞的表達數據與信號和基因調控網絡的先驗知識相結合來預測相互作用細胞之間的配體-靶標聯系的方法。( 配體-受體+信號通路)
附:NicheNet使用的常見問題匯總其它細胞互作軟件還包括
Celltalker
线婚,SingleCellSignalR
遏弱,scTensor
和SoptSC
(這幾個也是基于配體-受體相互作用)
iTALK軟件是使用的基因的平均表達量進行篩選,比如先篩選基因在每個亞群中的平均表達量塞弊,平均表達量前百分之多少的才保留漱逸,這里默認的為50%的基因保留泪姨。
作者將細胞受體配體分成了四個種類,分別為growth factor饰抒,cytokine肮砾,other讥裤,checkpoint,后續(xù)結果也將分成了四類進行分析展示灾测。
載入注釋好的數據析桥,讀入iTALK(示例數據集見monocle2)
pbmc <- readRDS("pbmc.rds")
library(iTALK)
library(Seurat)
library(dplyr)
library(Matrix)
iTALK_data <- as.data.frame(t(pbmc@assays$RNA@counts))
給pbmc加入兩列數據:cell.types, group
pbmc[['cell_types']] <- pbmc@active.ident
pbmc[["group"]] <- pbmc$orig.ident #該數據沒有分組
將pbmc的cell.type和group兩列數據加入到iTALK_data中
iTALK_data$cell_type <- pbmc@meta.data$cell.types
iTALK_data$compare_group <- pbmc@meta.data$group
檢查數據是否導入成功
unique(iTALK_data$cell_type)
unique(iTALK_data$compare_group)
繪圖
my10colors <- my36colors <- c('#E5D2DD', '#53A85F', '#F1BB72', '#F3B1A0', '#D6E7A3', '#57C3F3', '#476D87', '#E95C59', '#E59CC4', '#AB3282')
head(my10colors)
highly_exprs_genes <- rawParse(iTALK_data,top_genes = 50,stats = "mean")
head(highly_exprs_genes,5)
# 通訊類型
comm_list <- c('growth factor','other','cytokine','checkpoint')
cell_types <- unique(iTALK_data$cell_type)
head(cell_types,5)
cell_col <- structure(my10colors[1:length(cell_types)],names=cell_types)
head(cell_col,5)
iTalk_res <- NULL
for (comm_type in comm_list){
res_cat <- FindLR(highly_exprs_genes,datatype = 'mean count', comm_type = comm_type)
iTalk_res <- rbind(iTalk_res, res_cat)
}
iTalk_res <- iTalk_res[order(iTalk_res$cell_from_mean_exprs*iTalk_res$cell_to_mean_exprs,decreasing=T),][1:20,]
NetView(iTalk_res, col = cell_col,vertex.label.cex = 1, arrow.width = 1, edge.max.width = 5)
LRPlot(iTalk_res[1:20,],datatype = "mean count", cell_col = cell_col,link.arr.lwd =
iTalk_res$cell_from_mean_exprs[1:20],link.arr.width = iTalk_res$cell_to_mean_exprs[1:20])