為什麼是AUC值而不是GSEA來挑選轉錄因子呢

2021-02-19 生信技能樹

前面我們通過RcisTarget包的 cisTarget()函數,一句代碼就完成了我們的hypoxiaGeneSet.txt文本文件的171個基因的轉錄因子注釋。見:基因集的轉錄因子富集分析

通過學習,我們知道這個RcisTarget包內置的motifAnnotations_hgnc是16萬行,可以看到每個基因有多個motif。而且下載好的 hg19-tss-centered-10kb-7species.mc9nr.feather 文件,也是 24453個motifs的基因排序信息。但是我們留下來了一個懸念,如何從幾萬個注釋結果裡面挑選到最後100個富集成功的motif呢?

首先批量計算AUC值

如果是單細胞轉錄組數據裡面,每個單細胞都是有一個geneLists,那麼就是成千上萬個這樣的calcAUC分析,非常耗費計算資源和時間,就需要考慮並行處理,我們這裡暫時不需要,所以直接 nCores=1 即可。

其中geneLists和motifRankings來自於前面的教程,見:基因集的轉錄因子富集分析

motifs_AUC <- calcAUC(geneLists, motifRankings, nCores=1)
motifs_AUC

可以看到是 24453個motifs的AUC值都被計算了:

> motifs_AUC
AUC for 1 gene-sets and 24453 motifs.

AUC matrix preview:
             jaspar__MA1023.1
geneListName       0.03819963
             taipale_cyt_meth__IRX3_NACGYRNNNNNNYGCGTN_eDBD_meth
geneListName        0.05625049
             taipale__DBP_DBD_NRTTACGTAAYN
geneListName     0.0640565
             cisbp__M4240
geneListName   0.02816458
             scertf__macisaac.ACE2
geneListName       0.03124153

挑選統計學顯著的motif
auc <- getAUC(motifs_AUC)[1,]
hist(auc, main="hypoxia", xlab="AUC histogram",
     breaks=100, col="#ff000050", border="darkred")
nes3 <- (3*sd(auc)) + mean(auc)
abline(v=nes3, col="red")

可以看到 24453個motifs的AUC值看起來滿足正態分布,一般來說,對正態分布,我們會挑選 mean+2sd範圍外的認為是統計學顯著,但是作者卡的比較嚴格,是 mean+3sd ,示意圖如下:


看看Area Under the Curve (AUC)如何計算

這個時候就需要一個取捨了,我們是否需要知道每個細節,比如GSEA分析,我也多次講解:

但實際上,絕大部分讀者並沒有去細看這個統計學原理,也不需要知道gsea分析的nes值如何計算,或者說這個Area Under the Curve (AUC)如何計算。

我這裡也不想耗費時間去深究,去講解了。不理解原理並不影響大家使用,知道這個概念,知道如何根據AUC值去判斷結果就好。其實這個包的核心在於motifRankings變量,資料庫文件來自於前面的教程,見:基因集的轉錄因子富集分析,也是很容易製作的,選取人類的不到2000個TF的全部chip-seq數據的peaks文件的bed,把人類的2萬個基因的啟動子區域的該TF的信號強度排序即可。

然後看看motif的詳情

這個RcisTarget包內置的motifAnnotations_hgnc是16萬行,可以看到每個基因有多個motif,我們挑選出來了105個moif,去這個表格裡面篩選一下,就只剩下82個了。

data(motifAnnotations_hgnc)
motifAnnotations_hgnc
cg=auc[auc>nes3]
names(cg)
cgmotif=motifAnnotations_hgnc[match(names(cg),motifAnnotations_hgnc$motif),]
cgmotif=na.omit(cgmotif)

高級分析之可視化motif

前面的教程,一句代碼就完成了motif的富集 ,見:基因集的轉錄因子富集分析

這個時候,我們可以根據 addLogo 函數,對我們富集好的轉錄因子的motif加上一些可視化圖表,代碼如下:

motifEnrichmentTable_wGenes
motifEnrichmentTable_wGenes_wLogo <- addLogo(motifEnrichmentTable_wGenes)
library(DT)
datatable(motifEnrichmentTable_wGenes_wLogo[,-c("enrichedGenes", "TF_lowConf"), with=FALSE], 
          escape = FALSE, # To show the logo
          filter="top", options=list(pageLength=5))

這些motif都是資料庫已知的,其可視化如下:


高級分析之網絡圖

這裡面的R代碼技巧還是蠻值得細細品讀的:

anotatedTfs <- lapply(split(motifEnrichmentTable_wGenes$TF_highConf,
                            motifEnrichmentTable$geneSet),
                      function(x) {
                        genes <- gsub(" \\(.*\\). ", "; ", x, fixed=FALSE)
                        genesSplit <- unique(unlist(strsplit(genes, "; ")))
                        return(genesSplit)
                      })

anotatedTfs$hypoxia
signifMotifNames <- motifEnrichmentTable$motif[1:3]

incidenceMatrix <- getSignificantGenes(geneLists$hypoxia, 
                                       motifRankings,
                                       signifRankingNames=signifMotifNames,
                                       plotCurve=TRUE, maxRank=5000, 
                                       genesFormat="incidMatrix",
                                       method="aprox")$incidMatrix

library(reshape2)
edges <- melt(incidenceMatrix)
edges <- edges[which(edges[,3]==1),1:2]
colnames(edges) <- c("from","to")
library(visNetwork)
motifs <- unique(as.character(edges[,1]))
genes <- unique(as.character(edges[,2]))
nodes <- data.frame(id=c(motifs, genes),   
                    label=c(motifs, genes),    
                    title=c(motifs, genes), # tooltip 
                    shape=c(rep("diamond", length(motifs)), rep("elypse", length(genes))),
                    color=c(rep("purple", length(motifs)), rep("skyblue", length(genes))))
visNetwork(nodes, edges) %>% visOptions(highlightNearest = TRUE, 
                                        nodesIdSelection = TRUE)

一個簡陋的網絡圖就出來了:


PPI調控網絡圖確實有點老套了

我有預感,這個轉錄因子調控網絡圖應該是在未來5年內會逐步替代PPI調控網絡圖,直到轉錄因子調控網絡圖也變得俗氣為止。

相關焦點

  • GSEA分析合理性討論
    正是因為跟第一作者充分的溝通,才了解到為什麼當時他們的晶片數據沒有生物學重複,作者的解釋是:樣本數量的選擇根據研究的內容、目的和晶片對於文章的重要性來看。他們是從小鼠淋巴結中分離的基質細胞,從小鼠的淋巴結中獲取足夠量的基質細胞來做晶片,每組用了50隻小鼠,是個混合樣本。
  • 機器學習備忘錄 | AUC值的含義與計算方法
    筆者也曾遇到類似的問題,因此希望藉由本文來梳理下 AUC 值的意義與計算方法,通過實際的例子幫助讀者加深理解,同時給出了使用 scikit-learn 工具庫計算 AUC 值的方法,供各位參考。通常很多的機器學習工具都封裝了模型指標的計算,當然也包括 AUC 值。可以看出,使用 scikit-learn 工具提供的 roc_auc_score 函數計算 AUC 值相當簡單,只需要提供樣本的實際標籤和預測值這兩個變量即可,大大方便了我們的使用,真心感謝這些開源軟體的作者們!
  • 單細胞轉錄組得到的基因集如何看生存效果呢?(不妨試試看GSVA)
    所以就可以挖掘公共資料庫,對指定的6個基因集,在表達矩陣裡面計算GSVA值,然後把病人分組看生存差異。首先需要拿到基因集圖中的6個基因集, EMT, CDH1 targets, AKT1 signaling, hypoxia, angiogenesis, and ECM degradation 在中文有描述:
  • 是否有轉錄因子調控我研究的circRNA, 如何尋找?
    環狀RNA研究越來越火熱,大多數的機制在ceRNA機制,結合蛋白,翻譯蛋白上,主要是circRNA的下遊機制,上遊機制怎麼研究呢,我們可以找找哪些轉錄因子調控circRNA表達,哪些RNA剪切因子影響circRNA的表達,比如這個老師也是這麼想的:
  • 轉錄因子資料庫大全
    之前我們分享過轉錄因子的相關文章(見文末),有同學就問了,能不能推薦幾個好用的轉錄因子資料庫呢?
  • Genes Dev:利用基因條形碼鑑定特異性的轉錄因子
    作為對多種生物學信號作出的反應,這些基因由被稱作轉錄因子的蛋白所激活。因此,不論在健康時還是在患病時,轉錄因子調節著大多數細胞過程。如今,在一項新的研究中,來自瑞士日內瓦大學的研究人員開發出一種新的技術來鑑定參與任何一種細胞過程和對任何一種生物學信號作出的反應的所有轉錄因子。這種方法的應用幾乎是無限的,不論是在醫學領域,還是在基礎生物學上。
  • Cell:揭秘雙面轉錄因子
    動物界如此龐大的多樣性是如何從有限的基因庫演化而來的呢?小鼠之所以一直是醫學研究的有效模型,是因為它與人類共有80%的蛋白編碼基因。越來越多的科學證據顯示,自然界驚人複雜性的關鍵在於轉錄因子對基因表達的調控。現在,美國能源部Lawrence Berkeley實驗室和加州大學伯克利分校的研究人員,發現了關鍵轉錄因子通過結構轉換調節基因表達的秘密。
  • AUC的一般計算和近似計算方式
    ROC曲線的橫軸是FPRate,縱軸是TPRate分類器給出預測的概率之後,我們需要設定已給閾值來把各個預測值劃分為預測為正/負。即,小於等於這個閾值的所有樣本預測為負,大於這個閾值的樣本預測為正。import pandas as pdimport numpy as npimport matplotlib.pyplot as pltfrom sklearn.metrics import roc_curve, auc# Calculate 'True Positive Rate' and 'False Positive Rate
  • 轉錄因子MYB10的作用
    The Plant Cell雜誌發表了題為「Allelic花青素的合成在內質網上完成後,通過不同的轉運機制被轉運到液泡中予以貯存。MYB、bHLH和WD重複蛋白等轉錄因子能夠誘導或抑制花青素的生物合成。不同品種二倍體和八倍體草莓的果實顏色自然變異很大。花青素除了影響果實顏色,還具有抗氧化等功能,對人類健康也具有重要意義。問題哪些基因參與草莓果實顏色自然變異的調節?
  • 資料庫 | 怎樣查詢調控circRNA的轉錄因子
    其中,就發現轉錄因子Twist1介導的功能性間充質標誌物Vimentin的表達,但並不依賴於直接的轉錄調節,而這裡就是通過一種circRNA發揮作用。↑轉錄因子Twist1促進Cul2 circRNA轉錄,通過其吸附靶向Vimentin的miRNA,提高Vimentin表達量,從而促進肝癌腫瘤上皮-間充質轉變(EMT)。
  • 新研究顛覆對轉錄因子的傳統認知
    在轉錄過程中,有幾種重要的參與者:轉錄複合物、轉錄因子、啟動子和增強子,它們必須在正確地時間裡出現在正確的地方。根據現有的理論,作為蛋白的轉錄因子結合到基因組的增強子區域上並招募轉錄複合物到DNA啟動子區域上,隨後這會啟動基因轉錄。
  • AUC 的缺陷是什麼?
    它避免了在閾值選擇過程中假定的主觀性,當連續的概率得到的分數被轉換為二分類標籤時,通過總結整體模型表現,其衡量模型區分正負樣本的性能優於通過閾值來判斷的其他方法(比如準確率、召回率等)。在這篇手稿中,我們回顧了這一度量的一些特點,並將其作為模型結果的準確性的比較度量,對其可靠性提出了質疑。
  • 新鮮轉錄因子資料庫出爐啦
    轉錄因子(TFs)作為關鍵的調節因子,在生物過程中發揮著重要的作用。識別TFs靶向調控關係是揭示TFs功能及其對基因表達調控的關鍵步驟,因此今天小編就要向大家介紹一篇今年八月發表在Genomics Proteomics Bioinformatics(IF: 7.051)雜誌上的關於人類轉錄因子調控及其靶點的資料庫:hTFtarget。
  • 用轉錄因子重建卵母細胞轉錄網
    在雌性生殖系發育過程中,卵母細胞成為一種高度特化的細胞類型,並形成母體細胞質儲存的關鍵因子。卵母細胞的生長是在原始卵泡向初級卵泡的轉變中觸發的,並伴隨著基因表達的動態變化,但控制卵母細胞生長的基因調控網絡仍不清楚。
  • 細菌ClassIII轉錄因子CueR轉錄激活的分子機制被揭示
    該論文主要研究了細菌Class III轉錄因子CueR轉錄激活的分子機制。Steitz研究組解析了CAP/CRP與DNA的複合物晶體結構,該結構首次展示了轉錄因子識別DNA的方式。在隨後的幾十年中,科學家們利用化學交聯、DNA足跡、遺傳突變等方法嘗試了解轉錄因子調控基因轉錄的具體機制,大家發現轉錄因子在啟動子DNA的結合位置直接決定了其對於下遊基因的影響,一般來講,轉錄因子結合在核心啟動子區域(-35區和-10區)上遊發揮轉錄激活功能,轉錄因子結合在核心啟動子區域或者基因內部則抑制轉錄。
  • Nature:研究揭示細胞轉錄因子新功能
    人身體中每一個細胞都有自己特殊的工作去做,比如胰腺中的細胞主要來產生胰島素,眼鏡視網膜中的細胞負責感光和感覺顏色,當然,如果細胞中有不正確的基因行使不合適的工作,那麼細胞功能就會變得一團糟,嚴重者將會導致癌症的發生。我們的科學家研究細胞功能已經數年了,他們很清楚的知道細胞中有一種特殊的蛋白質叫做「轉錄因子」,主要結合在DNA附近來開關某些基因,控制基因的表達。
  • 科學家用轉錄因子重建卵母細胞轉錄網絡
    科學家用轉錄因子重建卵母細胞轉錄網絡 作者:小柯機器人 發布時間:2020/12/18 16:53:02 日本九州大學Katsuhiko Hayashi團隊在研究中取得進展。他們利用轉錄因子重建卵母細胞轉錄網絡。
  • 轉錄因子的靶基因,看這一個資料庫就夠了
    對於轉錄因子而言,我們最想知道的信息就是其對應的靶基因。轉錄因子相關資料庫非常的多,有些資料庫直接提供了靶基因的信息,比如TRANSFAC, 有些資料庫只提供了motif的信息,比如JASPAR, 我們只能通過軟體預測在基因的啟動子序列上是否有對應的motif, 從而識別轉錄因子的靶基因。
  • 轉錄因子入核的調控機制
    轉錄因子入核的調控機制 來源:生命經緯 2007-01-16 09:12 對細胞分化的調控是臨床應用胚胎幹細胞的關鍵問題之一。
  • 科學家繪製出人類轉錄因子足跡的全局參考圖譜
    科學家繪製出人類轉錄因子足跡的全局參考圖譜 作者:小柯機器人 發布時間:2020/8/1 23:22:25 近日,美國華盛頓大學John A.