單細(xì)胞分析之細(xì)胞通訊:cellchat

這篇文章在2020年7月上傳到了bioRxiv(Inference and analysis of cell-cell communication using CellChat景东,https://www.biorxiv.org/content/10.1101/2020.07.21.214387v1.full

Cellchat

在這個(gè)工作中炊琉,作者構(gòu)建了一個(gè)配體掂名,受體及其輔因子之間相互作用的數(shù)據(jù)庫斩萌,該數(shù)據(jù)庫可準(zhǔn)確表示已知的異聚分子復(fù)合物面粮。并且作者開發(fā)了CellChat的一個(gè)R包尤筐,該工具能夠從單細(xì)胞RNA測序(scRNA-seq)數(shù)據(jù)定量推斷和分析細(xì)胞間通訊網(wǎng)絡(luò)鸟悴。

在這之前幅虑,已經(jīng)開發(fā)了的幾種從scRNA-seq數(shù)據(jù)推斷細(xì)胞之間的通信的方法文兑,例如cellphoneDB,celltalker,iTALK和NicheNet盒刚。作者認(rèn)為,之前的方法主要關(guān)注點(diǎn)是單一的配體受體绿贞,而事實(shí)上很多生物學(xué)功能是基于受體復(fù)合體因块。
總結(jié)下來,作者覺得當(dāng)前現(xiàn)有數(shù)據(jù)庫或工具的其他局限性包括:
a)缺乏系統(tǒng)地將配體-受體對分類為功能相關(guān)的信號通路的方法籍铁;
b)自分泌和旁分泌信號相互作用的直觀可視化涡上;
c)分析復(fù)雜小區(qū)間通信的系統(tǒng)方法;
d)鑒于細(xì)胞之間的生物變異性可以是離散的也可以是連續(xù)的拒名,因此能夠針對連續(xù)的細(xì)胞狀態(tài)軌跡訪問信號串?dāng)_吩愧。

作者開發(fā)的資源包括:
數(shù)據(jù)庫http://www.cellchat.org/
工具包https://github.com/sqjin/CellChat

實(shí)操

1.安裝

##R安裝依賴包:
NMF(https://github.com/sqjin/NMF),
devtools::install_github("sqjin/NMF")
ComplexHeatmap(https://github.com/jokergoo/ComplexHeatmap)
BiocManager::install("ComplexHeatmap", update = F)

##python安裝umap
pip install umap-learn

##R安裝CellChat
devtools::install_github("sqjin/CellChat")

2.Seurat對象Demo已經(jīng)定義了細(xì)胞類型增显,并以cellType的meta.data形式存在

#加載需要的R包
library(CellChat)
library(ggplot2)
library(ggalluvial)
library(Seurat)

3.創(chuàng)建cellchat對象

cellchat <- createCellChat(Demo@assays$RNA@data)
meta <- data.frame(cellType = Demo$cellType, row.names =  Cells(Demo))
cellchat <- addMeta(cellchat, meta = meta, meta.name = "cellType")
cellchat <- setIdent(cellchat, ident.use = "cellType") # set "labels" as default cell identity
groupSize <- as.numeric(table(cellchat@idents)) # number of cells in each cell group

4.加載與設(shè)定需要的CellChatDB數(shù)據(jù)庫

CellChatDB <- CellChatDB.human
CellChatDB.use <- subsetDB(CellChatDB, search = "Secreted signaling") # use Secreted signaling for cell-cell communication analysis
cellchat@DB <- CellChatDB.use # set the used database in the object

5.預(yù)處理表達(dá)數(shù)據(jù)以進(jìn)行細(xì)胞間相互作用分析
identifyOverExpressedGenes這步在Rstudio server里測試有bug雁佳,但是在window本地運(yùn)行沒問題,估計(jì)是該函數(shù)與服務(wù)器暫時(shí)不兼容同云。

cellchat <- subsetData(cellchat) # subset the expression data of signaling genes for saving computation cost
cellchat <- identifyOverExpressedGenes(cellchat) 
cellchat <- identifyOverExpressedInteractions(cellchat)
cellchat <- projectData(cellchat, PPI.human)

6.推斷細(xì)胞間相互作用網(wǎng)絡(luò)與分析

cellchat <- computeCommunProb(cellchat)
cellchat <- computeCommunProbPathway(cellchat)
cellchat <- aggregateNet(cellchat)
cellchat <- netAnalysis_signalingRole(cellchat, slot.name = "netP")
netAnalysis_contribution(cellchat, signaling = pathways.show)# Compute and visualize the contribution of each ligand-receptor pair to the overall signaling pathway

7.可視化


MIF信號通路示例
pathways.show <- c("TGFb") 
vertex.receiver = seq(1,9) # a numeric vector
netVisual_aggregate(cellchat, signaling = pathways.show,  vertex.receiver = vertex.receiver, vertex.size = groupSize) # Hierarchy plot
netVisual_aggregate(cellchat, signaling = pathways.show, layout = "circle", vertex.size = groupSize) # Circle plot
netVisual_signalingRole(cellchat, signaling = pathways.show) #Visualize the signaling roles of cell groups
nPatterns = 5
cellchat <- identifyCommunicationPatterns(cellchat, pattern = "outgoing", k = nPatterns)
netAnalysis_river(cellchat, pattern = "outgoing") # river plot
netAnalysis_dot(cellchat, pattern = "outgoing") # dot plot
cellchat <- identifyCommunicationPatterns(cellchat, pattern = "incoming", k = nPatterns)
netAnalysis_river(cellchat, pattern = "incoming") # river plot
netAnalysis_dot(cellchat, pattern = "incoming") # dot plot

幾個(gè)好用的tips

Tip1:color.use參數(shù)設(shè)置

比如糖权,Demo_color是存放的對不同細(xì)胞類型的配色,屬性是一個(gè)named vector
那么在cellchat中梢杭,一般可視化的函數(shù)里面可以直接用 color.use = Demo_color
但是對于netVisual_signalingRole這個(gè)函數(shù)温兼,需要設(shè)置 color.use = Demo_colors[names(cellchat@netPcentrTGFb$outdeg)]

Tip2:看特定信號中所有L-R的作用網(wǎng)絡(luò)

netVisual_individual(cellchat, signaling = path, layout = "circle", vertex.size = groupSize)

Tip3:圖片存為pdf過程會出現(xiàn)的invalid font type
原因:作者把a(bǔ)rial作為main font,當(dāng)R沒有這個(gè)字體的時(shí)候武契,就會報(bào)錯(cuò)
解決方法:

1.先下載Arial字體的TrueType Font文件
2.install.packages('extrafont')
3.font_import()
4.loadfonts(device = "pdf", quiet = F)

cellchat

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末募判,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子咒唆,更是在濱河造成了極大的恐慌届垫,老刑警劉巖,帶你破解...
    沈念sama閱讀 206,013評論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件全释,死亡現(xiàn)場離奇詭異吠谢,居然都是意外死亡许昨,警方通過查閱死者的電腦和手機(jī)岛马,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,205評論 2 382
  • 文/潘曉璐 我一進(jìn)店門削饵,熙熙樓的掌柜王于貴愁眉苦臉地迎上來尿招,“玉大人,你說我怎么就攤上這事。” “怎么了箫老?”我有些...
    開封第一講書人閱讀 152,370評論 0 342
  • 文/不壞的土叔 我叫張陵,是天一觀的道長黔州。 經(jīng)常有香客問我耍鬓,道長,這世上最難降的妖魔是什么流妻? 我笑而不...
    開封第一講書人閱讀 55,168評論 1 278
  • 正文 為了忘掉前任牲蜀,我火速辦了婚禮,結(jié)果婚禮上绅这,老公的妹妹穿的比我還像新娘涣达。我一直安慰自己,他們只是感情好君躺,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,153評論 5 371
  • 文/花漫 我一把揭開白布峭判。 她就那樣靜靜地躺著,像睡著了一般棕叫。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上奕删,一...
    開封第一講書人閱讀 48,954評論 1 283
  • 那天俺泣,我揣著相機(jī)與錄音,去河邊找鬼完残。 笑死伏钠,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的谨设。 我是一名探鬼主播熟掂,決...
    沈念sama閱讀 38,271評論 3 399
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼扎拣!你這毒婦竟也來了赴肚?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 36,916評論 0 259
  • 序言:老撾萬榮一對情侶失蹤二蓝,失蹤者是張志新(化名)和其女友劉穎誉券,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體刊愚,經(jīng)...
    沈念sama閱讀 43,382評論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡踊跟,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 35,877評論 2 323
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了鸥诽。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片商玫。...
    茶點(diǎn)故事閱讀 37,989評論 1 333
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡箕憾,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出拳昌,到底是詐尸還是另有隱情袭异,我是刑警寧澤,帶...
    沈念sama閱讀 33,624評論 4 322
  • 正文 年R本政府宣布地回,位于F島的核電站扁远,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏刻像。R本人自食惡果不足惜畅买,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,209評論 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望细睡。 院中可真熱鬧谷羞,春花似錦、人聲如沸溜徙。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,199評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽蠢壹。三九已至嗓违,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間图贸,已是汗流浹背蹂季。 一陣腳步聲響...
    開封第一講書人閱讀 31,418評論 1 260
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留疏日,地道東北人偿洁。 一個(gè)月前我還...
    沈念sama閱讀 45,401評論 2 352
  • 正文 我出身青樓,卻偏偏與公主長得像沟优,于是被迫代替她去往敵國和親涕滋。 傳聞我的和親對象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,700評論 2 345

推薦閱讀更多精彩內(nèi)容