AUCell:在單細(xì)胞轉(zhuǎn)錄組中識(shí)別細(xì)胞對(duì)“基因集”的響應(yīng)

使用AUCell識(shí)別單細(xì)胞rna數(shù)據(jù)中具有活性“基因集”(i.e. gene signatures)的細(xì)胞。AUCell使用“曲線下面積”(Area Under the Curve,AUC)來(lái)計(jì)算輸入基因集的一個(gè)關(guān)鍵子集是否在每個(gè)細(xì)胞的表達(dá)基因中富集。AUC分?jǐn)?shù)在所有細(xì)胞的分布允許探索signatures的相對(duì)表達(dá)。

AUCell允許在單細(xì)胞rna數(shù)據(jù)中識(shí)別具有活性基因集(如簽名、基因模塊)的細(xì)胞湿硝。簡(jiǎn)言之,運(yùn)行AUCell的工作流基于三個(gè)步驟:

  • Build the rankings
  • Calculate the Area Under the Curve (AUC)
  • Set the assignment thresholds

其實(shí)我們發(fā)現(xiàn)在SCENIC 包的分析過程中润努,已經(jīng)封裝了AUCell关斜。在單細(xì)胞數(shù)據(jù)的下游分析中往往聚焦于某個(gè)有意思的基因集(gene set),已經(jīng)發(fā)展出許多的富集方法铺浇。但是大部分的富集分析往往都是單向的:輸入基因集輸出通路(生物學(xué)意義)痢畜,但是很少有可以從基因集富集信息反饋到樣本上來(lái)的。AUCell在做這樣的嘗試。

應(yīng)用案例可以參考:


下面通過一個(gè)簡(jiǎn)短的示例來(lái)說(shuō)明它是如和運(yùn)作的丁稀。

UMAP visualisation of selected transcription factor network activities
library(AUCell)
library(clusterProfiler)
library(ggplot2)
library(Seurat)
library(SeuratData)
##seurat RDS object
cd8.seurat <-  pbmc3k.final 
cells_rankings <- AUCell_buildRankings(cd8.seurat@assays$RNA@data)  # 關(guān)鍵一步
# ?AUCell_buildRankings

##load gene set, e.g. GSEA lists from BROAD
c5 <- read.gmt("c5.cc.v7.1.symbols.gmt") ## ALL  GO  tm

這個(gè)c5.cc.v7.1.symbols.gmt文件可以在GSEA上面下載吼拥,要做下游分析通路是要會(huì)背的。

這里記錄的是每個(gè)通路及其對(duì)應(yīng)的基因集:

> head(c5$ont)
[1] GO_FILOPODIUM GO_FILOPODIUM GO_FILOPODIUM GO_FILOPODIUM GO_FILOPODIUM GO_FILOPODIUM
999 Levels: GO_FILOPODIUM GO_NUCLEAR_CHROMOSOME_TELOMERIC_REGION GO_CLATHRIN_SCULPTED_VESICLE GO_I_BAND ... GO_PROXIMAL_DENDRITE
> head(c5$gene)
[1] "ABI1"  "ARL4C" "ABI2"  "FARP1" "CDK5"  "TUBB3"
geneSets <- lapply(unique(c5$ont), function(x){print(x);c5$gene[c5$ont == x]})
names(geneSets) <- unique(c5$ont)

此時(shí)线衫,我們可以根據(jù)GO通路找到對(duì)應(yīng)的基因:

geneSets$GO_I_BAND
  [1] "DNAJB6"   "MYZAP"    "STUB1"    "MYL12B"   "MYL9"     "NEBL"     "GLRX3"    "PDLIM5"   "CFL2"     "FERMT2"   "LDB3"    
 [12] "AHNAK2"   "SYNPO"    "FBXO32"   "C10orf71" "MYOM3"    "XIRP2"    "KLHL40"   "CRYAB"    "CSRP1"    "ADRA1A"   "CTNNB1"  
 [23] "DES"      "SYNPO2"   "DMD"      "SMTNL1"   "ALDOA"    "FHL2"     "FHL3"     "FKBP1A"   "FKBP1B"   "PALLD"    "FLNA"    
 [34] "FLNB"     "FLNC"     "SYNE2"    "OBSL1"    "FRG1"     "FBXO22"   "ANKRD2"   "ITGB1BP2" "ANKRD1"   "PDLIM3"   "BMP10"   
 [45] "BIN1"     "FBXL22"   "ANK1"     "ANK2"     "ANK3"     "PARVB"    "PRICKLE4" "HRC"      "HSPB1"    "KY"       "CAVIN4"  
 [56] "JUP"      "KCNA5"    "KCNE1"    "KCNN2"    "KRT8"     "KRT19"    "MTM1"     "MYH6"     "MYH7"     "MYL3"     "PPP1R12A"
 [67] "PPP1R12B" "NEB"      "NOS1"     "NRAP"     "ATP2B4"   "PAK1"     "PDE4B"    "MYOZ2"    "PGM5"     "PPP2R5A"  "PPP3CA"  
 [78] "PPP3CB"   "PARVA"    "SCN3B"    "PSEN1"    "PSEN2"    "JPH1"     "JPH2"     "TRIM54"   "MYOZ1"    "RYR1"     "RYR2"    
 [89] "RYR3"     "S100A1"   "SCN1A"    "SCN5A"    "SCN8A"    "PDLIM2"   "SLC2A1"   "SLC4A1"   "SLC8A1"   "SMN1"     "SMN2"    
[100] "DST"      "SRI"      "ACTC1"    "TTN"      "CACNA1C"  "CACNA1D"  "CACNA1S"  "SYNPO2L"  "FHOD3"    "CSRP3"    "ACTN4"   
[111] "SYNC"     "CAPN3"    "OBSCN"    "CASQ1"    "CASQ2"    "MYPN"     "TRIM63"   "SORBS2"   "MYO18B"   "TCAP"     "PDLIM4"  
[122] "CAV3"     "ACTN1"    "MYOM1"    "FBP2"     "ACTN2"    "KAT2B"    "AKAP4"    "IGFN1"    "PDLIM1"   "NEXN"     "MYOM2"   
[133] "MYOZ3"    "PDLIM7"   "HOMER1"   "FHL5"     "MYOT"     "BAG3"     "NOS1AP"   "HDAC4"   

計(jì)算AUC:

?AUCell_calcAUC
cells_AUC <- AUCell_calcAUC(geneSets, cells_rankings, aucMaxRank=nrow(cells_rankings)*0.1)

找一些通路(該找哪些通路呢凿可?)

> length(rownames(cells_AUC@assays@data$AUC))
[1] 958
> grep("REG",rownames(cells_AUC@assays@data$AUC),value = T)
 [1] "GO_NUCLEAR_CHROMOSOME_TELOMERIC_REGION"             "GO_CHROMOSOME_CENTROMERIC_REGION"                  
 [3] "GO_CYTOPLASMIC_REGION"                              "GO_PROTEASOME_REGULATORY_PARTICLE_BASE_SUBCOMPLEX" 
 [5] "GO_PERINUCLEAR_REGION_OF_CYTOPLASM"                 "GO_CHROMOSOMAL_REGION"                             
 [7] "GO_CELL_CORTEX_REGION"                              "GO_PARANODE_REGION_OF_AXON"                        
 [9] "GO_CONDENSED_CHROMOSOME_CENTROMERIC_REGION"         "GO_CONDENSED_NUCLEAR_CHROMOSOME_CENTROMERIC_REGION"
[11] "GO_PLASMA_MEMBRANE_REGION"                          "GO_CHROMOSOME_TELOMERIC_REGION"                    
[13] "GO_MEMBRANE_REGION"                                 "GO_PROTEASOME_REGULATORY_PARTICLE_LID_SUBCOMPLEX"  
[15] "GO_MYELIN_SHEATH_ABAXONAL_REGION"                   "GO_MYELIN_SHEATH_ADAXONAL_REGION"                  
[17] "GO_JUXTAPARANODE_REGION_OF_AXON"                    "GO_REGION_OF_CYTOSOL"                              
[19] "GO_CENTRAL_REGION_OF_GROWTH_CONE"                  

我們選擇GO_PERINUCLEAR_REGION_OF_CYTOPLASM

> ##set gene set of interest here for plotting
> geneSet <- "GO_PERINUCLEAR_REGION_OF_CYTOPLASM"
> aucs <- as.numeric(getAUC(cells_AUC)[geneSet, ])
> cd8.seurat$AUC <- aucs
> df<- data.frame(cd8.seurat@meta.data, cd8.seurat@reductions$umap@cell.embeddings)
> head(df)
               orig.ident nCount_RNA nFeature_RNA seurat_annotations percent.mt RNA_snn_res.0.5 seurat_clusters        AUC    UMAP_1
AAACATACAACCAC     pbmc3k       2419          779       Memory CD4 T  3.0177759               1               1 0.06102966 -4.232792
AAACATTGAGCTAC     pbmc3k       4903         1352                  B  3.7935958               3               3 0.08560310 -4.892886
AAACATTGATCAGC     pbmc3k       3147         1129       Memory CD4 T  0.8897363               1               1 0.08328099 -5.508639
AAACCGTGCTTCCG     pbmc3k       2639          960         CD14+ Mono  1.7430845               2               2 0.07669723 11.332233
AAACCGTGTATGCG     pbmc3k        980          521                 NK  1.2244898               6               6 0.06250478 -7.450703
AAACGCACTGGTAC     pbmc3k       2163          781       Memory CD4 T  1.6643551               1               1 0.08204075 -3.509504
                  UMAP_2
AAACATACAACCAC -4.152139
AAACATTGAGCTAC 10.985685
AAACATTGATCAGC -7.211088
AAACCGTGCTTCCG  3.161727
AAACCGTGTATGCG  1.092022
AAACGCACTGGTAC -6.087042

我們看到每個(gè)細(xì)胞現(xiàn)在都加上AUC值了授账,下面做一下可視化枯跑。

class_avg <- df %>%
  group_by( seurat_annotations) %>%
  summarise(
    UMAP_1 = median(UMAP_1),
    UMAP_2 = median(UMAP_2)
  )


ggplot(df, aes(UMAP_1, UMAP_2))  +
  geom_point(aes(colour  = AUC)) + viridis::scale_color_viridis(option="A") +
  ggrepel::geom_label_repel(aes(label = seurat_annotations),
                            data = class_avg,
                            size = 6,
                            label.size = 0,
                            segment.color = NA
  )+   theme(legend.position = "none") + theme_bw()


關(guān)鍵是,你要找到基因集啊白热。

https://bioconductor.org/packages/release/bioc/html/AUCell.html

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末敛助,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子棘捣,更是在濱河造成了極大的恐慌,老刑警劉巖休建,帶你破解...
    沈念sama閱讀 206,126評(píng)論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件乍恐,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡测砂,警方通過查閱死者的電腦和手機(jī)茵烈,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,254評(píng)論 2 382
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)砌些,“玉大人呜投,你說(shuō)我怎么就攤上這事〈媪В” “怎么了仑荐?”我有些...
    開封第一講書人閱讀 152,445評(píng)論 0 341
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)纵东。 經(jīng)常有香客問我粘招,道長(zhǎng),這世上最難降的妖魔是什么偎球? 我笑而不...
    開封第一講書人閱讀 55,185評(píng)論 1 278
  • 正文 為了忘掉前任洒扎,我火速辦了婚禮,結(jié)果婚禮上衰絮,老公的妹妹穿的比我還像新娘袍冷。我一直安慰自己,他們只是感情好猫牡,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,178評(píng)論 5 371
  • 文/花漫 我一把揭開白布胡诗。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪乃戈。 梳的紋絲不亂的頭發(fā)上褂痰,一...
    開封第一講書人閱讀 48,970評(píng)論 1 284
  • 那天,我揣著相機(jī)與錄音症虑,去河邊找鬼缩歪。 笑死,一個(gè)胖子當(dāng)著我的面吹牛谍憔,可吹牛的內(nèi)容都是我干的匪蝙。 我是一名探鬼主播,決...
    沈念sama閱讀 38,276評(píng)論 3 399
  • 文/蒼蘭香墨 我猛地睜開眼习贫,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼逛球!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起苫昌,我...
    開封第一講書人閱讀 36,927評(píng)論 0 259
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤颤绕,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后祟身,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體奥务,經(jīng)...
    沈念sama閱讀 43,400評(píng)論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 35,883評(píng)論 2 323
  • 正文 我和宋清朗相戀三年袜硫,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了氯葬。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 37,997評(píng)論 1 333
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡婉陷,死狀恐怖帚称,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情秽澳,我是刑警寧澤闯睹,帶...
    沈念sama閱讀 33,646評(píng)論 4 322
  • 正文 年R本政府宣布,位于F島的核電站担神,受9級(jí)特大地震影響瞻坝,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜杏瞻,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,213評(píng)論 3 307
  • 文/蒙蒙 一所刀、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧捞挥,春花似錦浮创、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,204評(píng)論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)溜族。三九已至,卻和暖如春垦沉,著一層夾襖步出監(jiān)牢的瞬間煌抒,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,423評(píng)論 1 260
  • 我被黑心中介騙來(lái)泰國(guó)打工厕倍, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留寡壮,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 45,423評(píng)論 2 352
  • 正文 我出身青樓讹弯,卻偏偏與公主長(zhǎng)得像况既,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子组民,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,722評(píng)論 2 345