【單細(xì)胞高級(jí)繪圖】09.細(xì)胞通訊_兩組比較_連線(xiàn)圖

上周一位讀者聯(lián)系我但两,讓我?guī)兔Πl(fā)一個(gè)繪圖的單子。在朋友圈發(fā)單后供置,感興趣的朋友很多镜遣,有十幾位還私聊我讓我分享一下代碼,可見(jiàn)大家還是很感興趣的士袄。不過(guò)等了兩天悲关,依舊沒(méi)有勇士接單,可能是因?yàn)檫@種圖比較少見(jiàn)娄柳,大家畫(huà)得少寓辱。

image

先來(lái)理解一下這張圖,在b圖中:

  • 左邊是EC細(xì)胞表達(dá)的ligand赤拒,右邊是mNEUR細(xì)胞表達(dá)的receptor秫筏。
  • ligand這一列對(duì)應(yīng)的基因會(huì)排序,依據(jù)是兩個(gè)group(比如young和old兩組)在EC細(xì)胞中找完差異基因后挎挖,能知道這些基因的log(FC_young_to_old)这敬,從大到小依次往下排,并涂色蕉朵。同時(shí)崔涂,找差異基因也能知道p值,原文表示顯著性用的是圓環(huán)的顏色始衅,越顯著冷蚂,圓環(huán)顏色越深。
  • receptor這一列類(lèi)似ligand列汛闸,不過(guò)是在mNEUR細(xì)胞中蝙茶,兩組之間找差異基因。
  • 圖中的線(xiàn)段诸老,表示ligand-receptor對(duì)隆夯,而這個(gè)信息(誰(shuí)和誰(shuí)構(gòu)成受配體)是已知的,數(shù)據(jù)庫(kù)可以下載到(也就是說(shuō),這個(gè)圖即便不做細(xì)胞通訊分析蹄衷,只要能下載到ligand-receptor信息苞尝,也能畫(huà))。cellphonedb的輸出結(jié)果也間接含有這個(gè)信息宦芦,我的代碼基于這個(gè)。
  • 至于連線(xiàn)的顏色轴脐,我看了一下调卑,沒(méi)怎么變化,所以我推測(cè)線(xiàn)段的顏色取決于線(xiàn)段兩側(cè)ligand-receptor是高表達(dá)還是低表達(dá)大咱,高表達(dá)時(shí)線(xiàn)段用淺紅色恬涧,低表達(dá)時(shí)線(xiàn)段用淺藍(lán)色。

以上解讀均為我的理解碴巾,我沒(méi)有看原文溯捆。我的圖會(huì)略作更改,下文會(huì)說(shuō)厦瓢。

另外提揍,因?yàn)橐恍┗プ麝P(guān)系沒(méi)法用一個(gè)ligand一個(gè)receptor去表示,這樣的pair不適合用這個(gè)圖展示煮仇。


此篇推文的代碼一共有3個(gè):CCC_compare2.R劳跃、CCC_line.RCCC_line2.R浙垫。每個(gè)代碼都能出一張有意義的圖刨仑。

準(zhǔn)備數(shù)據(jù)

source("CCC_compare2.R")
CCC_compare2(group1.name = "Old",group2.name = "Young",
             group1.pfile = "cellphonedb/Old/pvalues.txt",group1.mfile="cellphonedb/Old/means.txt",
             group2.pfile="cellphonedb/Young/pvalues.txt",group2.mfile="cellphonedb/Young/means.txt",
             p.threshold = 0.05,thre=0.5,
             cell.pair="EC|APC", #指定ligand產(chǎn)生的細(xì)胞|receptor產(chǎn)生的細(xì)胞
             plot.width=15,plot.height=30,filename = "test3_"
)

前幾行代碼跟上一節(jié)是類(lèi)似的,也能輸出一個(gè)表格(test3_Old2Young.xlsx)和對(duì)應(yīng)的氣泡圖夹姥。
后續(xù)的連線(xiàn)圖基于這個(gè)表格的數(shù)據(jù)杉武。

連線(xiàn)圖有個(gè)特點(diǎn),就是"誰(shuí)是ligand辙售,誰(shuí)是receptor轻抱,ligand和receptor分別由什么細(xì)胞產(chǎn)生"非常明確,CCC_compare2.R這個(gè)代碼比CCC_compare.R (在上一節(jié))增加一百多行去理清這個(gè)事情旦部,輸出的圖和表格pair左邊的就是ligand(產(chǎn)生的細(xì)胞)十拣,右邊的就是receptor(產(chǎn)生的細(xì)胞)

image

連線(xiàn)圖的繪制 第1種方法

source("CCC_line.R")
CCC_line(table.path="test3_Old2Young.xlsx",ligand.cell="EC",receptor.cell="APC",
         group1.name = "Old",group2.name = "Young",#這五個(gè)參數(shù)和上一步對(duì)應(yīng)
         ligand.color="#4dbbd6",receptor.color="#90d1c1",
         pt.size=6,
         line.thre1=0.5,line.thre2=6,#line.thre1和上一步的"thre"參數(shù)一致,line.thre2可以用來(lái)調(diào)整線(xiàn)的粗細(xì)志鹃,值越大际起,線(xiàn)越細(xì)
         file.name="test3_",plot.width=25,plot.height=20)
image

第一種方法不涉及差異基因,因此左右兩列是統(tǒng)一的圓點(diǎn)缝彬。線(xiàn)段粗顏色紅财忽,表示(相較于group2)group1的互作強(qiáng);線(xiàn)段粗顏色藍(lán),表示(相較于group2)group1的互作弱秘血。

連線(xiàn)圖的繪制 第2種方法

library(Seurat)
testseu=readRDS("testseu.rds")
# 此次演示為了加快運(yùn)行速度味抖,人為減少了數(shù)據(jù)量,實(shí)際分析中找差異基因不建議這么做
selectedCB=sample(testseu@meta.data$CB,1000)
testseu=testseu%>%subset(CB %in% selectedCB)

# 基于分組找差異基因
marker_group=data.frame()
Idents(testseu)="celltype_age"
for ( ci in c("EC","APC") ) {
  tmp.marker <- FindMarkers(
    testseu, logfc.threshold = 0, min.pct = 0.01,
    only.pos = F, test.use = "wilcox",
    ident.1=paste0(ci,"_Old"),ident.2=paste0(ci,"_Young")
  )
  
  tmp.marker$gene=rownames(tmp.marker)
  tmp.marker$cluster_group=ifelse(tmp.marker$avg_log2FC > 0,paste0(ci,"_Old"),paste0(ci,"_Young"))
  tmp.marker$cluster=ci
  tmp.marker=tmp.marker%>%arrange(desc(avg_log2FC))
  
  marker_group=marker_group%>%rbind(tmp.marker)
}
#本次演示的數(shù)據(jù)集為小鼠數(shù)據(jù)集灰粮,在運(yùn)行cellphonedb時(shí)仔涩,進(jìn)行了基因symbol的轉(zhuǎn)換。
#此處找差異基因得到的symbol為真實(shí)基因名粘舟,為了讓兩個(gè)分析匹配熔脂,DEG表格也應(yīng)該做基因名轉(zhuǎn)換。
#但是為了簡(jiǎn)化柑肴,此處只是簡(jiǎn)單地將小鼠基因名轉(zhuǎn)為大寫(xiě)霞揉,不是很精確。大家在分析的時(shí)候建議嚴(yán)格一點(diǎn)晰骑。
marker_group$gene=marker_group$gene %>% toupper()

第二種方法需要不設(shè)置篩選條件去找差異基因适秩,然后用CCC_line2函數(shù)就可以了

source("CCC_line2.R")
CCC_line2(cpdb.table.path = "test3_Old2Young.xlsx",marker_group = marker_group,
          ligand.cell = "EC",receptor.cell = "APC",
          group1.name = "Old",group2.name = "Young",
          line.size = 2,file.name = "test3_",plot.width = 25,plot.height = 20
          )
image

這種方法得到的圖,左右兩列添加了差異基因相關(guān)的信息硕舆,p值秽荞、log2FC。線(xiàn)段的粗細(xì)固定了抚官,線(xiàn)段的顏色表示(相較于group2)group1的互作強(qiáng)弱蚂会。


本文代碼編寫(xiě)(3個(gè)函數(shù))花費(fèi)大量時(shí)間,故不無(wú)償提供耗式,有需要的朋友可以后-臺(tái)回復(fù)2022B

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末胁住,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子刊咳,更是在濱河造成了極大的恐慌彪见,老刑警劉巖,帶你破解...
    沈念sama閱讀 206,013評(píng)論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件娱挨,死亡現(xiàn)場(chǎng)離奇詭異余指,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī)跷坝,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,205評(píng)論 2 382
  • 文/潘曉璐 我一進(jìn)店門(mén)酵镜,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人柴钻,你說(shuō)我怎么就攤上這事淮韭。” “怎么了贴届?”我有些...
    開(kāi)封第一講書(shū)人閱讀 152,370評(píng)論 0 342
  • 文/不壞的土叔 我叫張陵靠粪,是天一觀的道長(zhǎng)蜡吧。 經(jīng)常有香客問(wèn)我,道長(zhǎng)占键,這世上最難降的妖魔是什么昔善? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 55,168評(píng)論 1 278
  • 正文 為了忘掉前任,我火速辦了婚禮畔乙,結(jié)果婚禮上君仆,老公的妹妹穿的比我還像新娘。我一直安慰自己牲距,他們只是感情好返咱,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,153評(píng)論 5 371
  • 文/花漫 我一把揭開(kāi)白布。 她就那樣靜靜地躺著嗅虏,像睡著了一般。 火紅的嫁衣襯著肌膚如雪上沐。 梳的紋絲不亂的頭發(fā)上皮服,一...
    開(kāi)封第一講書(shū)人閱讀 48,954評(píng)論 1 283
  • 那天,我揣著相機(jī)與錄音参咙,去河邊找鬼龄广。 笑死,一個(gè)胖子當(dāng)著我的面吹牛蕴侧,可吹牛的內(nèi)容都是我干的择同。 我是一名探鬼主播,決...
    沈念sama閱讀 38,271評(píng)論 3 399
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼净宵,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼敲才!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起择葡,我...
    開(kāi)封第一講書(shū)人閱讀 36,916評(píng)論 0 259
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤紧武,失蹤者是張志新(化名)和其女友劉穎,沒(méi)想到半個(gè)月后敏储,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體阻星,經(jīng)...
    沈念sama閱讀 43,382評(píng)論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 35,877評(píng)論 2 323
  • 正文 我和宋清朗相戀三年已添,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了妥箕。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 37,989評(píng)論 1 333
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡更舞,死狀恐怖畦幢,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情缆蝉,我是刑警寧澤呛讲,帶...
    沈念sama閱讀 33,624評(píng)論 4 322
  • 正文 年R本政府宣布禾怠,位于F島的核電站,受9級(jí)特大地震影響贝搁,放射性物質(zhì)發(fā)生泄漏吗氏。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,209評(píng)論 3 307
  • 文/蒙蒙 一雷逆、第九天 我趴在偏房一處隱蔽的房頂上張望弦讽。 院中可真熱鬧,春花似錦膀哲、人聲如沸往产。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 30,199評(píng)論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)仿村。三九已至,卻和暖如春兴喂,著一層夾襖步出監(jiān)牢的瞬間蔼囊,已是汗流浹背。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 31,418評(píng)論 1 260
  • 我被黑心中介騙來(lái)泰國(guó)打工衣迷, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留畏鼓,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 45,401評(píng)論 2 352
  • 正文 我出身青樓壶谒,卻偏偏與公主長(zhǎng)得像云矫,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子汗菜,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,700評(píng)論 2 345

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