一文解決Cellphonedb單細(xì)胞互作分析及可視化作圖(2)

之前我們已經(jīng)講述了Cellphonedb的安裝配置和數(shù)據(jù)分析价涝,就差可視化了彬伦,這里簡(jiǎn)單說(shuō)一下常見(jiàn)的可視化嫂用,如果需要其他更加個(gè)性化的可視方式,就需要發(fā)揮自己的聰明才智了沼沈!

CellphoneDB單細(xì)胞互作分析:

CellPhoneDB單細(xì)胞互作分析(1):Linux軟件安裝及遇到的Bug(ERROR)解決

CellPhoneDB單細(xì)胞互作分析(2):數(shù)據(jù)分析|人鼠基因同源轉(zhuǎn)化|ERROR解決|詳細(xì)注釋版代碼

cellphonedb分析完成后流酬,我們得到6個(gè)數(shù)據(jù)文件,將其全部讀入列另,看似6個(gè)康吵,從內(nèi)容上講其實(shí)就三個(gè)。利用這些文件就可以做互作網(wǎng)絡(luò)圖访递、受配體氣泡圖及熱圖等等文章中常見(jiàn)的可視化圖形了晦嵌。


setwd("D:/cellinter-celldb/out")
#cellphonedb可視化
count_net <- read.delim("count_network.txt", check.names = FALSE)
inter_net <- read.delim("interaction_count.txt", check.names = FALSE)
pvalues <- read.delim("pvalues.txt", check.names = FALSE)
means <- read.delim("means.txt", check.names = FALSE)
sig.means <- read.delim("significant_means.txt", check.names = FALSE)
deconvoluted <- read.delim("deconvoluted.txt", check.names = FALSE)

一、互作網(wǎng)絡(luò)圖

互作圖很多網(wǎng)上教程使用igraph包做的,其實(shí)這是源碼惭载,確實(shí)是需要這樣做的熏矿,但是我認(rèn)為太麻煩心例,因?yàn)槟阋约赫{(diào)整罢吃,還不一定做的對(duì)露氮。所以我想了一個(gè)妙招---”借雞下蛋“,這應(yīng)該是生信人需要做的舉一反三含长。之前我們說(shuō)過(guò)Cellchat的單細(xì)胞互作分析(Cellchat(代碼詳細(xì)注釋版):?jiǎn)渭?xì)胞轉(zhuǎn)錄組(人券腔、小鼠)細(xì)胞互作分析及可視化),這里面有作者寫好的函數(shù)拘泞,可視化也是相當(dāng)不錯(cuò)的纷纫,只要將Cellphonedb文件格式整理成需要的格式,使用Cellchat函數(shù)包不就完成了陪腌?需要的文件是count_network.txt


#互作網(wǎng)絡(luò)圖
library(CellChat)
count_inter <- count_net
count_inter$count <- count_inter$count/100
library(tidyr)
count_inter<-spread(count_inter, TARGET, count)
rownames(count_inter) <- count_inter$SOURCE
count_inter <- count_inter[, -1]
count_inter <- as.matrix(count_inter)
netVisual_circle(count_inter,weight.scale = T)
image.png

每種細(xì)胞與其他細(xì)胞的互作辱魁,循環(huán)出圖!

par(mfrow = c(4,3), xpd=TRUE)
for (i in 1:nrow(count_inter)) {
  mat2 <- matrix(0, nrow = nrow(count_inter), ncol = ncol(count_inter), dimnames = dimnames(count_inter))
  mat2[i, ] <- count_inter[i, ]
  netVisual_circle(mat2, 
                   weight.scale = T, 
                   edge.weight.max = max(count_inter), 
                   title.name = rownames(count_inter)[i],
                   arrow.size=0.2)
}
image.png

二诗鸭、熱圖

其實(shí)熱圖和網(wǎng)絡(luò)圖一樣染簇,都是展示了不同細(xì)胞之間互作的數(shù)目。我們?cè)谶\(yùn)行完cellphonedb的熱圖作圖函數(shù)后强岸,熱圖展示的已經(jīng)是篩選過(guò)的p<0.05的受配體互作數(shù)目锻弓,生成的文件是count_net, 這里我們直接用這個(gè)文件作熱圖,進(jìn)行一些簡(jiǎn)單的修飾蝌箍,例如展示互作數(shù)目青灼,其他個(gè)性化修飾同熱圖。當(dāng)然如果不需要默認(rèn)的作圖十绑,自己篩選做熱圖需要從pvalues這個(gè)文件開始聚至,具體可參考網(wǎng)上其他教程酷勺。

#熱圖其實(shí)和網(wǎng)絡(luò)圖一樣本橙,都是展示互作數(shù)目的。
library(tidyr)
count_matrix<-spread(count_net, TARGET, count)
rownames(count_matrix) <- count_matrix$SOURCE
count_matrix <- count_matrix[, -1]
count_matrix <- as.matrix(count_matrix)
用pheatmap做熱圖脆诉。

library(pheatmap)
pheatmap(count_matrix, show_rownames = T, show_colnames = T, scale="none", cluster_cols = T,
         border_color='white', cluster_rows = T, fontsize_row = 14, fontsize_col = 14,
         main = "Control", treeheight_row = 0, family = 'Arial',
         color = colorRampPalette(c("dodgerblue4",'peachpuff','deeppink4' ))( 1000 ),
         treeheight_col = 0,
         display_numbers = T, number_color="white",fontsize_number=12,
         number_format="%.0f", legend_labels = c(0,300))    
image.png

三甚亭、受配體點(diǎn)圖

受配體點(diǎn)圖的繪制需要兩個(gè)文件pvalues.txt和means.txt,原理是將兩個(gè)文件合并击胜,提取受配體對(duì)進(jìn)行可視化亏狰,ggplot就可以實(shí)現(xiàn)。但是自己弄比較繁瑣偶摔,這里有一個(gè)專門針對(duì)cellphonedb的可視化R包暇唾,可以輕松解決這一問(wèn)題,你只需修改參數(shù)即可,可視化效果也不錯(cuò)策州,用在文章中綽綽有余瘸味!

#安裝
if (!requireNamespace("devtools", quietly = TRUE))
  install.packages("devtools")
if (!requireNamespace("BiocManager", quietly = TRUE))
  install.packages("BiocManager")
devtools::install_github('zktuong/ktplots', dependencies = TRUE)
library(ktplots)
#作圖需要的文件,means.txt够挂, pvalues.txt, 單細(xì)胞seurat對(duì)象
讀入作圖需要的文件旁仿。
pvals <- read.delim(paste0(pbmc,"pvalues.txt"), check.names = FALSE)
means <- read.delim(paste0(pbmc,"means.txt"), check.names = FALSE)
 load("E:/生物信息學(xué)/數(shù)據(jù)/scRNA.Rdata")

氣泡圖。cell_type1孽糖、2指定互作細(xì)胞枯冈,如果不指定則默認(rèn)所有細(xì)胞,這里我們指定DC办悟,可視化的就是DC發(fā)出信號(hào)作用于其他細(xì)胞尘奏,以及DC接受的其他細(xì)胞的作用。實(shí)際情況按照自己的實(shí)驗(yàn)?zāi)康闹付ㄓ狻cdata就是我們用于分析的單細(xì)胞seurat對(duì)象罪既。means和pvals就是我們cellphonedb分析產(chǎn)生的兩個(gè)文件。gene.family是一些基因?qū)险∷。衏hemokines', 'Th1', 'Th2', 'Th17', 'Treg', 'costimulatory', 'coinhibitory', 'niche'琢感,可以選擇需要的指定,不選擇則默認(rèn)所有探熔。keep_significant_only=T驹针,我們只選擇顯著的。其他的可視化參數(shù)可自行查閱函數(shù)诀艰,可視化是基于ggplot的柬甥,所以主題修改和ggplot一樣。

plot_cpdb(cell_type1 = 'DC', cell_type2 = "", scdata = scRNA,
          idents = 'celltype', means = means, pvals = pvals, 
          gene.family = 'costimulatory',highlight = "blue",
          keep_significant_only=T) +
  theme(axis.text  = element_text(size = 10, color = 'black'))
image.png

這樣的可視化就很足夠了其垄。當(dāng)然了苛蒲,ktplots還有其他的可視化,比如比較新奇的將細(xì)胞之間互作基因?qū)τ孟覉D展示绿满,還可以指定特定的幾種細(xì)胞互作弦圖展示臂外。還可以多組分析可視化、結(jié)合空間轉(zhuǎn)錄組的可視化喇颁、對(duì)于單細(xì)胞的可能化等等漏健,感興趣的值得學(xué)習(xí)。但是就我們細(xì)胞互作而言橘霎,已經(jīng)足夠了蔫浆。

我們這里提供了最少的代碼和步驟,比較簡(jiǎn)潔的完成了cellphonedb的可視化姐叁,我覺(jué)得這就足夠了瓦盛。如果你覺(jué)得有用洗显,分享點(diǎn)贊一下唄!當(dāng)然原环,你可以學(xué)習(xí)其他包的函數(shù)墙懂,研究明白其原理,可以自己寫函數(shù)可視化扮念。

更多精彩內(nèi)容請(qǐng)至我的公眾號(hào)《KS科研分享與服務(wù)》

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末损搬,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子柜与,更是在濱河造成了極大的恐慌巧勤,老刑警劉巖,帶你破解...
    沈念sama閱讀 206,968評(píng)論 6 482
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件弄匕,死亡現(xiàn)場(chǎng)離奇詭異颅悉,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī)迁匠,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,601評(píng)論 2 382
  • 文/潘曉璐 我一進(jìn)店門剩瓶,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人城丧,你說(shuō)我怎么就攤上這事延曙。” “怎么了亡哄?”我有些...
    開封第一講書人閱讀 153,220評(píng)論 0 344
  • 文/不壞的土叔 我叫張陵枝缔,是天一觀的道長(zhǎng)。 經(jīng)常有香客問(wèn)我蚊惯,道長(zhǎng)愿卸,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 55,416評(píng)論 1 279
  • 正文 為了忘掉前任截型,我火速辦了婚禮趴荸,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘宦焦。我一直安慰自己发钝,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,425評(píng)論 5 374
  • 文/花漫 我一把揭開白布赶诊。 她就那樣靜靜地躺著笼平,像睡著了一般园骆。 火紅的嫁衣襯著肌膚如雪舔痪。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,144評(píng)論 1 285
  • 那天锌唾,我揣著相機(jī)與錄音锄码,去河邊找鬼夺英。 笑死,一個(gè)胖子當(dāng)著我的面吹牛滋捶,可吹牛的內(nèi)容都是我干的痛悯。 我是一名探鬼主播,決...
    沈念sama閱讀 38,432評(píng)論 3 401
  • 文/蒼蘭香墨 我猛地睜開眼重窟,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼载萌!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起巡扇,我...
    開封第一講書人閱讀 37,088評(píng)論 0 261
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤扭仁,失蹤者是張志新(化名)和其女友劉穎,沒(méi)想到半個(gè)月后厅翔,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體乖坠,經(jīng)...
    沈念sama閱讀 43,586評(píng)論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,028評(píng)論 2 325
  • 正文 我和宋清朗相戀三年刀闷,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了熊泵。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 38,137評(píng)論 1 334
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡甸昏,死狀恐怖顽分,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情施蜜,我是刑警寧澤怯邪,帶...
    沈念sama閱讀 33,783評(píng)論 4 324
  • 正文 年R本政府宣布,位于F島的核電站花墩,受9級(jí)特大地震影響悬秉,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜冰蘑,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,343評(píng)論 3 307
  • 文/蒙蒙 一和泌、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧祠肥,春花似錦武氓、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,333評(píng)論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至剂桥,卻和暖如春忠烛,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背权逗。 一陣腳步聲響...
    開封第一講書人閱讀 31,559評(píng)論 1 262
  • 我被黑心中介騙來(lái)泰國(guó)打工美尸, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留冤议,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 45,595評(píng)論 2 355
  • 正文 我出身青樓师坎,卻偏偏與公主長(zhǎng)得像恕酸,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子胯陋,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,901評(píng)論 2 345

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