2020-11-18
不少初次接觸轉錄組測序的小伙伴,在拿到一份分析結果,并且興致沖沖地打開差異表達分析的表格后,卻被一連串陌生的名詞澆滅了科研的熱情:foldchange是什么?為什么還有個log2foldchange?Pvalue我認識,那padj又是什么?重要的是,這個basemean到底該怎么理解?報告里說:basemean是DESeq軟件對一個組內所有生物學重復的基因表達量做“均一化”結果,可是我拿三個重復的fpkm算了平均數也對不上???
莫慌!我們這就用大家都耳熟能詳的老朋友——Excel,來演示一下DESeq軟件對basemean的計算過程,詳細大家在看完這篇軟文之后會對basemean有一個清晰的認知。
(溫馨提示:文末有“太長不看總結版”)
假設我們獲得了一張基因表達量表格,該表格中共有A1-A3,B1-B3共6個樣品,1-11編號的11個基因,基因表達量以read count值表示:
1、、對所有read count值取對數,0值仍記為0:
2、計算每個基因在6個樣品中的表達量均值(橫向計算)
3、用每個基因的表達量減去對應的均值,即2-7列的數據依次減去第8列的數據
4、按樣品取中位數
5、因為計算的第一步取了對數,所以現在將中位數利用指數函數轉換回去,記為sizefactor
6、回到原始的read count表格,用每一個數值除以對應樣品的sizefactor,得到均一化的表達量
7、按照分組方式計算平均數,記為basemean(這里為了展示方便保留了兩位小數)
自此我們已經得出了A組與B組每個基因的basemean,接下來通過兩個basemean相除,我們就可以得到差異倍數foldchange,再通過負二項分布檢驗,我們就得到了代表顯著性的P值和padj值。這樣一張差異表達分析表是不是就初見雛形了呢!
“太長不看總結版”
從DESeq的basemean的計算原理我們可以知道:
NO.1basemean不是通過fpkm計算的,也不是直接求平均數算的,是先用read count除以sizefactor進行均一化,再用均一化之后的read count按分組方式計算平均數。所以我們說basemean是基因表達量的“均一化”結果,而不能直接說是fpkm的平均數。
NO.2“牽一發而動全身”:計算sizefactor時先通過橫向(樣品)計算Δ值,再通過縱向(基因)找出Δ值的中位數,因此一旦改變任何一個樣品或一個基因,所有的sizefactor都會跟著發生變化,也就會導致basemean變化。理解了這一點,我們就可以解決這樣的問題了:“A VS C和A VS B兩個DESeq表,A組沒有變啊,為什么兩個表里同一個基因的basemeanA是不同的?”
鄭重申明:本文對于basemean的計算僅用于展示軟件分析原理,實際結果請以派森諾提供的差異分析結果為準。