差異表達基因分析:差異倍數(fold change), 差異的顯著性(P-value) | 火山圖

2021-12-29 生物醫學會議

Differential gene expression analysis:差異表達基因分析

Differentially expressed gene (DEG):差異表達基因

Volcano Plot:火山圖

 

差異倍數(fold change)

fold change翻譯過來就是倍數變化,假設A基因表達值為1,B表達值為3,那麼B的表達就是A的3倍。一般我們都用count、TPM或FPKM來衡量基因表達水平,所以基因表達值肯定是非負數,那麼fold change的取值就是(0, +∞).

為什麼我們經常看到差異基因裡負數代表下調、正數代表上調?因為我們用了log2 fold change。當expr(A) < expr(B)時,B對A的fold change就大於1,log2 fold change就大於0(見下圖),B相對A就是上調;當expr(A) > expr(B)時,B對A的fold change就小於1,log2 fold change就小於0。通常為了防止取log2時產生NA,我們會給表達值加1(或者一個極小的數),也就是log2(B+1) - log2(A+1). 【需要一點對數函數的基礎知識】

 

為什麼不直接用表達之差,差直接有正負啊?假設A表達為1,B表達為8,C表達為64;直接用差B相對A就上調了7,C就相對B上調了56;用log2 fold change,B相對A就上調了3,C相對B也只上調了3. 通過測序觀察我們發現,不同基因在細胞裡的表達差異非常巨大,所以直接用差顯然不合適,用log2 fold change更能表示相對的變化趨勢。

雖然大家都在用log2 fold change,但顯然也是有缺點的:一、到底是5到10的變化大,還是100到120的變化大?二、5到10可能是由於技術誤差導致的。所以當基因總的表達值很低時,log2 fold change的可信度就低了,尤其是在接近0的時候。A disadvantage and serious risk of using fold change in this setting is that it is biased[7] and may misclassify differentially expressed genes with large differences (B − A) but small ratios (B/A), leading to poor identification of changes at high expression levels. Furthermore, when the denominator is close to zero, the ratio is not stable, and the fold change value can be disproportionately affected by measurement noise.

差異的顯著性(P-value) 

這就是統計學的範疇了,顯著性就是根據假設檢驗算出來的。

假設檢驗首先必須要有假設,我們假設A和B的表達沒有差異(H0,零假設),然後基於此假設,通過t test(以RT-PCR為例)算出我們觀測到的A和B出現的概率,就得到了P-value,如果P-value<0.05,那麼說明小概率事件出現了,我們應該拒絕零假設,即A和B的表達不一樣,即有顯著差異。

顯著性只能說明我們的數據之間具有統計學上的顯著性,要看上調下調必須回去看差異倍數。

這裡只說了最基本的原理,真正的DESeq2等工具裡面的算法肯定要複雜得多。

這張圖對q-value(校正了的p-value)取了負log,相當于越顯著,負log就越大,所以在火山圖裡,越外層的巖漿就越顯著,差異也就越大。

相關焦點

  • 差異表達基因時的Log2FC和FDR值的含義?
    轉錄組分析差異表達基因時,結果中會出現Log2FC和FDR值,這兩個是什麼意思呢?
  • 差異基因分析方法——p-value
    我們都知道,在利用RNA-seq數據比較分析兩個樣品中同一個基因是否存在差異表達的時候,一般選取兩個標準:1)FoldChangeFoldChange,很容易理解了。就是兩樣品中同一個基因表達水平的變化倍數。可以用RPKM值來計算,關於RPKM的計算方法,我們上周已經分享了,大家可以戳這裡查看。
  • (偽)從零開始學轉錄組(7):差異基因表達分析
    對於基因晶片的差異表達分析而言,由於普遍認為其數據是服從正態分布,因此差異表達分析無非就是用t檢驗和或者方差分析應用到每一個基因上。高通量一次性找的基因多,於是就需要對多重試驗進行矯正,控制假陽性。目前在基因晶片的分析用的最多的就是limma。
  • R語言mRNA差異表達分析
    第二列是基因的logFC值,FC是即fold change,表示實驗組比上對照組的差異表達倍數。國內的一般默認取其對數絕對值大於2作為差異基因的篩選標準,這個閾值是可以根據實際情況進行調控。第三列是logCPM,CPM是 Counts Per Million,是每個基因一個指標。
  • 典型醫學設計實驗GEO數據分析 (step-by-step) - Limma差異分析、火山圖、功能富集
    這些blocking variable校正擬合後的組織特異性表達值趨向每個病人的表達值,因此最終的估計是個體內差異的平均值,也就是對應基因的差異倍數 (log2 fold change)。提取差異表達基因topTable函數可用於提取差異基因。我們獲得克羅恩病和潰瘍性結腸炎的差異分析結果,並把基因按照絕對t-統計量排序。作為質控,我們繪製了p-value分布的直方圖 (這是結果檢測的很重要標準,後續會專門介紹)。
  • qRT-PCR差異分析及P值計算
    ,他的計算方法有很多,常用的相對定量數據分析方法是KJ Livak(Applied Biosystems)等人在2001年提出的「比較Ct法相對定量」,即:利用ΔCt值差異來推算基因表達差異(Ct目的基因 – Ct內參基因 = ΔCt),該方法的具體計算方法請參見文章:qRT-PCR相對定量計算詳解。
  • 計算差異表達分析方法(rna-seq)
    比較了11種RNA-seq數據的差異表達分析方法。
  • 手把手教你繪製火山圖與韋恩圖
    火山圖(Volcanoplot)是經常出現在晶片、測序等組學結果中用來展示差異表達的基因或蛋白的一種圖片類型,常與熱圖、韋恩圖(Venndiagram)等同時出現。火山圖包含2個重要概念:顯著性與差異表達倍數。
  • R語言 | 差異顯著性檢驗
    我們經常要比較兩組或多組數據是否具有顯著差異,同時我們還會用差異顯著性檢驗識別不同組樣品中具有顯著差異的變量。這篇推文會分別介紹經常使用的差異顯著性檢驗方法在R語言中的實現。方法選擇差異顯著性檢驗具有多種方法,分別針對不同的情況,我們要根據自身情況選擇合適的方法進行分析。
  • 聊聊差異顯著性
    什麼是顯著性  我們非常習慣的做著這樣的事情:做完AB測試之後,拿著實驗組和對照組的平均值數據對比給出了AB測試的結論,A策略相比於B策略轉化率提高了1%。你是否想過,這個1%可能只是因為數據波動帶來的呢?就如你沒有做任何改動的時候轉化率也會變化一樣?比如,下面兩次試驗數據,你覺得哪一個平均值更有說服力?
  • 每天學習一點R:43.差異顯著性檢驗
    我們經常要比較兩組或多組數據是否具有顯著差異,同時我們還會用差異顯著性檢驗識別不同組樣品中具有顯著差異的變量。這篇推文會分別介紹經常使用的差異顯著性檢驗方法在R語言中的實現。方法選擇差異顯著性檢驗具有多種方法,分別針對不同的情況,我們要根據自身情況選擇合適的方法進行分析。
  • 差異分析、顯著性標記及統計作圖的自動實現R代碼示例
    當原始數據不滿足方差分析的條件時,可以考慮轉化數據(如log轉換),看轉化後的數據是否滿足。或者更換為非參數的方法,這裡展示一個針對於非參數檢驗的方法示例,先執行Kruskal-Wallis檢驗比較整體差異,再執行Behrens-Fisher的非參數多重比較查看兩兩差異。本人的很多經驗學自《R語言實戰 第二版》,它的154頁有這一段話。
  • 假如你的兩個分組真的就是都有且僅有一個樣品該如何做差異分析呢
    前面的教程:把火山圖做成煙花圖 ,我們批評了一個學員做差異分析時候的錯誤的思路,就是把每個分組裡面的單個樣品簡單粗暴的複製粘貼3次充當生物學重複,會導致計算得到的p值如此的詭異。首先仍然是從查看表達量矩陣和分組信息這個時候需要參考前面的教程:把火山圖做成煙花圖 ,自己製作  Step01-airwayData.Rdata 這個文件,它裡面存儲了表達量矩陣和分組信息:rm(list = ls())options(stringsAsFactors
  • Alpha多樣性指數的計算和差異分析(差異檢驗結果可視化)
    Alpha多樣性差異檢驗在微生物群落的alpha多樣性指數分析中,最常用的就是利用統計學分析檢驗不同組樣本間微生物群落alpha多樣性指數的差異顯著性。兩組樣本分析當研究的樣本只有兩組時,一般使用t-test檢驗組間差異。
  • FC/T檢驗/PLS-DA篩選差異代謝物方法介紹
    法、T檢驗法、倍數變化法……各位老師可能會困惑:到底該選擇哪種分析方法?(O)PLS-DA法(VIP值)倍數變化法即根據代謝物的相對定量或絕對定量結果,計算某個代謝物在兩組間表達量的差異倍數(Fold Change),簡稱FC值。假設A物質在對照組中定量結果為1,在疾病組中定量結果為3,那麼此物質的FC值即為3。由於代謝物定量結果肯定是非負數,那麼FC的取值就是(0, +∞)。
  • 使用火山圖呈現GSEA富集分析的結果
    火山圖本身很簡單,最少需要兩列數據就可以畫出來,一列是橫坐標,就是變化值logFC, 一列是縱坐標pvaue值。如果需要最終打出想要的標籤,還需要一列gene symble,就是基因的名稱。還有一個重要的點是,火山圖需要輸入所有基因的信息,不僅僅是差異基因的。當我一開始學習ggplot2作圖的時候,就靠著網絡,一句句檢索,畫了人生第一張火山圖。
  • R語言添加p-value和顯著性標記
    上篇文章中提了一下如何通過ggpubr包為ggplot圖添加p-value以及顯著性標記,本文將詳細介紹。利用數據集ToothGrowth進行演示。stat_compare_means(label.y = 50) # Add global p-value
  • 使用salmon和sleuth進行小麥RNA-seq差異表達分析
    image-20180926115001362下面我們就重點談一談如何使用這兩個軟體進行差異基因的表達分析。在實際使用過程中發現裡邊有很多坑。第一部分 參考轉錄組參考轉錄組也即中國春參考基因組上注釋出來的基因序列。
  • 差異分析完整解決方案:Easystat
    ;sig_show =」abc」是使用字母表示;sig_show =」line」是使用連線和星號表示;如果是NA,那麼就不顯示顯著性結果result:代表顯著性差異分析結果,是一個數據框,第一列是顯著性差異字母,第二列是分組group箱線圖展示方差分析或非參數檢驗結果(aovMuiBoxP)data:輸入數據框,第一列為樣本編號,第二列為分組,注意分組標籤必須設定為group