跟著Cell學(xué)單細(xì)胞轉(zhuǎn)錄組分析(六):細(xì)胞比例計(jì)算及可視化

今天接著單細(xì)胞文章的內(nèi)容:

前面幾期主要說了下每個(gè)階段出現(xiàn)圖的個(gè)性化修飾琳猫,后面依然如此奶浦,有需要值得單拎出來說的,我們也是會(huì)講到捎迫。


細(xì)胞分群命名完成之后晃酒,大多數(shù)研究會(huì)關(guān)注各個(gè)樣本細(xì)胞群的比例,尤其是免疫學(xué)的研究中窄绒,各群免疫細(xì)胞比例的變化是比較受關(guān)注的贝次。所以這里說說細(xì)胞群比例的計(jì)算,以及如何可視化彰导。

1蛔翅、堆疊柱狀圖

這是比較普通也是最常用的細(xì)胞比例可視化方法。這種圖在做微生物菌群的研究中非常常見位谋。具體的思路是計(jì)算各個(gè)樣本中細(xì)胞群的比例山析,形成數(shù)據(jù)框之后轉(zhuǎn)化為長數(shù)據(jù),用ggplot繪制即可掏父。


table(scedata$orig.ident)#查看各組細(xì)胞數(shù)
#BM1  BM2  BM3  GM1  GM2  GM3 
#2754  747 2158 1754 1528 1983
prop.table(table(Idents(scedata)))
table(Idents(scedata), scedata$orig.ident)#各組不同細(xì)胞群細(xì)胞數(shù)
#BM1  BM2  BM3  GM1  GM2  GM3
#  Endothelial  752  244  619  716  906 1084
#  Fibroblast   571  135  520  651  312  286
#  Immune      1220  145  539  270  149  365
#  Epithelial    69   62  286   62   82  113
#  Other        142  161  194   55   79  135
Cellratio <- prop.table(table(Idents(scedata), scedata$orig.ident), margin = 2)#計(jì)算各組樣本不同細(xì)胞群比例
Cellratio
#BM1        BM2        BM3        GM1        GM2        GM3
#  Endothelial 0.27305737 0.32663989 0.28683967 0.40820981 0.59293194 0.54664650
#  Fibroblast  0.20733479 0.18072289 0.24096386 0.37115165 0.20418848 0.14422592
#  Immune      0.44299201 0.19410977 0.24976830 0.15393387 0.09751309 0.18406455
#  Epithelial  0.02505447 0.08299866 0.13253012 0.03534778 0.05366492 0.05698437
#  Other       0.05156137 0.21552878 0.08989805 0.03135690 0.05170157 0.06807867
Cellratio <- as.data.frame(Cellratio)
colourCount = length(unique(Cellratio$Var1))
library(ggplot2)
ggplot(Cellratio) + 
  geom_bar(aes(x =Var2, y= Freq, fill = Var1),stat = "identity",width = 0.7,size = 0.5,colour = '#222222')+ 
  theme_classic() +
  labs(x='Sample',y = 'Ratio')+
  coord_flip()+
  theme(panel.border = element_rect(fill=NA,color="black", size=0.5, linetype="solid"))
圖片

2笋轨、批量統(tǒng)計(jì)圖

很多時(shí)候,我們不僅想關(guān)注各個(gè)樣本中不同細(xì)胞群的比例赊淑,而且更想指導(dǎo)他們?cè)诓煌瑯颖局械淖兓欠窬哂酗@著性爵政。這時(shí)候,除了要計(jì)算細(xì)胞比例外陶缺,還需要進(jìn)行顯著性檢驗(yàn)钾挟。這里我們提供了一種循環(huán)的做法,可以批量完成不同樣本細(xì)胞比例的統(tǒng)計(jì)分析及可視化饱岸。

table(scedata$orig.ident)#查看各組細(xì)胞數(shù)
prop.table(table(Idents(scedata)))
table(Idents(scedata), scedata$orig.ident)#各組不同細(xì)胞群細(xì)胞數(shù)
Cellratio <- prop.table(table(Idents(scedata), scedata$orig.ident), margin = 2)#計(jì)算各組樣本不同細(xì)胞群比例
Cellratio <- data.frame(Cellratio)
library(reshape2)
cellper <- dcast(Cellratio,Var2~Var1, value.var = "Freq")#長數(shù)據(jù)轉(zhuǎn)為寬數(shù)據(jù)
rownames(cellper) <- cellper[,1]
cellper <- cellper[,-1]


###添加分組信息
sample <- c("BM1","BM2","BM3","GM1","GM2","GM3")
group <- c("BM","BM","BM","GM","GM","GM")
samples <- data.frame(sample, group)#創(chuàng)建數(shù)據(jù)框

rownames(samples)=samples$sample
cellper$sample <- samples[rownames(cellper),'sample']#R添加列
cellper$group <- samples[rownames(cellper),'group']#R添加列

###作圖展示
pplist = list()
sce_groups = c('Endothelial','Fibroblast','Immune','Epithelial','Other')
library(ggplot2)
library(dplyr)
library(ggpubr)
for(group_ in sce_groups){
  cellper_  = cellper %>% select(one_of(c('sample','group',group_)))#選擇一組數(shù)據(jù)
  colnames(cellper_) = c('sample','group','percent')#對(duì)選擇數(shù)據(jù)列命名
  cellper_$percent = as.numeric(cellper_$percent)#數(shù)值型數(shù)據(jù)
  cellper_ <- cellper_ %>% group_by(group) %>% mutate(upper =  quantile(percent, 0.75), 
                                                      lower = quantile(percent, 0.25),
                                                      mean = mean(percent),
                                                      median = median(percent))#上下分位數(shù)
  print(group_)
  print(cellper_$median)
  
  pp1 = ggplot(cellper_,aes(x=group,y=percent)) + #ggplot作圖
    geom_jitter(shape = 21,aes(fill=group),width = 0.25) + 
    stat_summary(fun=mean, geom="point", color="grey60") +
    theme_cowplot() +
    theme(axis.text = element_text(size = 10),axis.title = element_text(size = 10),legend.text = element_text(size = 10),
          legend.title = element_text(size = 10),plot.title = element_text(size = 10,face = 'plain'),legend.position = 'none') + 
    labs(title = group_,y='Percentage') +
    geom_errorbar(aes(ymin = lower, ymax = upper),col = "grey60",width =  1)
  
  ###組間t檢驗(yàn)分析
  labely = max(cellper_$percent)
  compare_means(percent ~ group,  data = cellper_)
  my_comparisons <- list( c("GM", "BM") )
  pp1 = pp1 + stat_compare_means(comparisons = my_comparisons,size = 3,method = "t.test")
  pplist[[group_]] = pp1
}

library(cowplot)
plot_grid(pplist[['Endothelial']],
          pplist[['Fibroblast']],
          pplist[['Immune']],
          pplist[['Epithelial']],
          pplist[['Other']])

圖片

好了掺出,以上就是我們的分享了,起到拋磚引玉的效果伶贰,還有很多其他的展示方法蛛砰,不必全都會(huì)罐栈,中意就好黍衙。
更多內(nèi)容請(qǐng)至我的個(gè)人公眾號(hào)《KS科研分享與服務(wù)》

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市荠诬,隨后出現(xiàn)的幾起案子琅翻,更是在濱河造成了極大的恐慌位仁,老刑警劉巖,帶你破解...
    沈念sama閱讀 206,839評(píng)論 6 482
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件方椎,死亡現(xiàn)場離奇詭異聂抢,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)棠众,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,543評(píng)論 2 382
  • 文/潘曉璐 我一進(jìn)店門琳疏,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人闸拿,你說我怎么就攤上這事空盼。” “怎么了新荤?”我有些...
    開封第一講書人閱讀 153,116評(píng)論 0 344
  • 文/不壞的土叔 我叫張陵揽趾,是天一觀的道長。 經(jīng)常有香客問我苛骨,道長篱瞎,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 55,371評(píng)論 1 279
  • 正文 為了忘掉前任痒芝,我火速辦了婚禮俐筋,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘严衬。我一直安慰自己校哎,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,384評(píng)論 5 374
  • 文/花漫 我一把揭開白布瞳步。 她就那樣靜靜地躺著闷哆,像睡著了一般。 火紅的嫁衣襯著肌膚如雪单起。 梳的紋絲不亂的頭發(fā)上抱怔,一...
    開封第一講書人閱讀 49,111評(píng)論 1 285
  • 那天,我揣著相機(jī)與錄音嘀倒,去河邊找鬼屈留。 笑死,一個(gè)胖子當(dāng)著我的面吹牛测蘑,可吹牛的內(nèi)容都是我干的灌危。 我是一名探鬼主播,決...
    沈念sama閱讀 38,416評(píng)論 3 400
  • 文/蒼蘭香墨 我猛地睜開眼碳胳,長吁一口氣:“原來是場噩夢啊……” “哼勇蝙!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起挨约,我...
    開封第一講書人閱讀 37,053評(píng)論 0 259
  • 序言:老撾萬榮一對(duì)情侶失蹤味混,失蹤者是張志新(化名)和其女友劉穎产雹,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體翁锡,經(jīng)...
    沈念sama閱讀 43,558評(píng)論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡蔓挖,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,007評(píng)論 2 325
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了馆衔。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片瘟判。...
    茶點(diǎn)故事閱讀 38,117評(píng)論 1 334
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖角溃,靈堂內(nèi)的尸體忽然破棺而出荒适,到底是詐尸還是另有隱情,我是刑警寧澤开镣,帶...
    沈念sama閱讀 33,756評(píng)論 4 324
  • 正文 年R本政府宣布刀诬,位于F島的核電站,受9級(jí)特大地震影響邪财,放射性物質(zhì)發(fā)生泄漏陕壹。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,324評(píng)論 3 307
  • 文/蒙蒙 一树埠、第九天 我趴在偏房一處隱蔽的房頂上張望糠馆。 院中可真熱鬧,春花似錦怎憋、人聲如沸又碌。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,315評(píng)論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽毕匀。三九已至,卻和暖如春癌别,著一層夾襖步出監(jiān)牢的瞬間皂岔,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,539評(píng)論 1 262
  • 我被黑心中介騙來泰國打工展姐, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留躁垛,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 45,578評(píng)論 2 355
  • 正文 我出身青樓圾笨,卻偏偏與公主長得像教馆,于是被迫代替她去往敵國和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子擂达,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,877評(píng)論 2 345

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