從spike-in到DESeq2:文庫(kù)normalization

寫在前面的廢話

最近在處理一批RNA-seq的數(shù)據(jù),里面混入了spike-in夺巩。利用spike-in矯正之后贞让,樣本A的基因表達(dá)量普遍比樣本B的基因表達(dá)量高3-5倍,這和我所熟知的背景知識(shí)是一致的柳譬。

但是當(dāng)我使用DESeq2對(duì)基因表達(dá)量進(jìn)行差異表達(dá)分析時(shí)喳张,上調(diào)的基因和下調(diào)的基因竟然相差無(wú)幾,都有兩三千個(gè)……這不符合邏輯啊美澳,前前后后思考了一遍销部,發(fā)現(xiàn)是我對(duì)DESeq2的理解太淺的緣故。

太長(zhǎng)不看系列

spike-in是已知的其他物種基因組制跟,可以對(duì)基因表達(dá)數(shù)據(jù)進(jìn)行絕對(duì)值的矯正

個(gè)人認(rèn)為舅桩,F(xiàn)PKM/RPKM/TPM都是基因的相對(duì)表達(dá)值

DESeq2會(huì)對(duì)測(cè)序深度進(jìn)行矯正,將普遍高表達(dá)的樣本A看作是測(cè)序深度過高所導(dǎo)致雨膨,從而影響差異基因的篩選

廢話超多系列

RNA的spike-in是一組序列已知的RNA轉(zhuǎn)錄本擂涛,目前普遍使用的是ERCC( The External RNA Control Consortium)搞出來(lái)的一組RNA序列。當(dāng)然聊记,也可以使用序列相似度較低的物種的序列作為spike-in撒妈。如兩種常見的酵母,S.pombe和S. cerevisiae排监,他們的序列可以作為彼此的spike-in進(jìn)行后續(xù)矯正狰右。

通過在樣品制備過程中,混入指定數(shù)量的spike-in舆床,我們就可以知道不同樣本中的基因絕對(duì)比表達(dá)值棋蚌。

如等細(xì)胞數(shù)的樣本A和樣本B,在每個(gè)樣本中挨队,我加入了等量的spike-in谷暮。最后分析發(fā)現(xiàn),spike-in占樣本A的1%瞒瘸,但是占樣本B的5%坷备。這表明樣本A的RNA表達(dá)量也許普遍比樣本B的表達(dá)量高五倍左右。

下面是一個(gè)簡(jiǎn)單的草圖情臭,希望可以幫助理解省撑,左邊是細(xì)胞赌蔑,右邊是RNA

說(shuō)完了spike-in矯正的原理,接下來(lái)講講DESeq2文庫(kù)矯正的原理竟秫。

常用的normalization方法有FPKM/RPKM/TPM娃惯,但是這些方法只能對(duì)測(cè)序深度和基因長(zhǎng)度進(jìn)行矯正,沒有考慮樣本的文庫(kù)組成成分可能對(duì)表達(dá)量產(chǎn)生的影響肥败。這里舉一個(gè)例子:

看起來(lái)兩個(gè)不同的樣本之間除了基因A1CF趾浅,其余基因都是差異表達(dá)的。但事實(shí)上馒稍,這是由于樣本A中A2M表達(dá)量過高皿哨,導(dǎo)致樣本中其他基因的相對(duì)表達(dá)量較低。如果我們把兩個(gè)樣本中的A2M基因去除纽谒,重新計(jì)算FPKM证膨,我們會(huì)發(fā)現(xiàn)兩個(gè)樣本中其他五個(gè)基因的表達(dá)量其實(shí)相差無(wú)幾。

因此DESeq2需要解決兩個(gè)問題:

1鼓黔、樣本的測(cè)序深度

2央勒、樣本的文庫(kù)組成

這里以一個(gè)簡(jiǎn)單的例子講解一下DESeq2是如何解決這兩個(gè)問題的。

首先對(duì)樣本量進(jìn)行以自然對(duì)數(shù)為底數(shù)的log轉(zhuǎn)換:

DESeq2除了可以使用澳化,還可以使用和崔步,但因?yàn)镽默認(rèn)的log是以e為底數(shù),因此這里使用缎谷。我曾經(jīng)畫圖時(shí)為了偷懶使用井濒,導(dǎo)致組會(huì)上被老板批評(píng),因?yàn)楦闵诺那拜厒兤毡橄矚g使用或者進(jìn)行對(duì)數(shù)轉(zhuǎn)換慎陵。我太難了╥﹏╥...

注:我們可以看到眼虱,表達(dá)量為0的值在去對(duì)數(shù)之后,變成了負(fù)無(wú)窮席纽。

對(duì)每一行的值進(jìn)行平均值計(jì)算

第二列和第三列都比較好理解,第一列因?yàn)闃颖?的gene1的log值是-inf撞蚕,因此gene1這一列的平均值也是-inf润梯。這里還有一點(diǎn)值得關(guān)注,當(dāng)我們將gene3的平均表達(dá)的log轉(zhuǎn)換為正常數(shù)值時(shí)甥厦,≈73.7纺铭,而對(duì)基因表達(dá)值的原始矩陣計(jì)算得到的平均值為(33+55+200)/3=96。

我們可以看到96>73.7刀疙,因此這種取對(duì)數(shù)的方法可以使得基因更不容易受到異常值的影響舶赔。事實(shí)上這種取完log之后做平均的方法,計(jì)算的是幾何平均數(shù)

移除具有-inf值的基因

當(dāng)一個(gè)樣本或者多個(gè)樣本中基因的表達(dá)量為0時(shí)谦秧,這個(gè)基因就會(huì)被移除竟纳。

事實(shí)上撵溃,通過這個(gè)可以讓我們最后的基因表達(dá)矩陣更加集中于管家基因(house-keeping gene)

對(duì)基因的reads count取log并減去基因的log值的平均數(shù),具體如下:

通過這個(gè)計(jì)算方式锥累,我們將得到每個(gè)樣本中g(shù)eneX的表達(dá)水平geneX在所有樣本平均表達(dá)水平的比值

計(jì)算步驟四所得的樣本表達(dá)矩陣中缘挑,每個(gè)樣本中的基因表達(dá)中位數(shù)

這里使用中位數(shù),可以進(jìn)一步減少異常值對(duì)于scale factor(校正因子)的影響桶略。至于為什么中位數(shù)有這個(gè)好處语淘,我想這里應(yīng)該不需要詳細(xì)闡述了

將步驟5計(jì)算的每個(gè)樣本的中位數(shù),進(jìn)行指數(shù)計(jì)算

通過該方法际歼,我們最終得到了樣本的校正因子(scale factor)

將原始樣本表達(dá)矩陣除以步驟6所得到的scale factor

以上七步就是DESeq2對(duì)于樣本文庫(kù)矯正的方法惶翻,

為避免文章太長(zhǎng),對(duì)前文有所遺忘鹅心。我們?cè)谶@里再簡(jiǎn)單的敘述一下吕粗,DESeq2對(duì)于樣本文庫(kù)的矯正做了些什么:

1、使用log轉(zhuǎn)換巴帮,去除那些只在某幾個(gè)樣本中表達(dá)的基因溯泣,也減少了極端值對(duì)于最終結(jié)果的影響

2、取每個(gè)樣本的中位數(shù)榕茧,進(jìn)一步減少極端值的影響垃沦,使得結(jié)果更加關(guān)注于在多個(gè)樣本中穩(wěn)定表達(dá)的基因

通過對(duì)上述DESeq2的文庫(kù)normalization方法的學(xué)習(xí),我了解到我的RNA-seq數(shù)據(jù)是受到了DESeq2自動(dòng)文庫(kù)矯正的影響用押。這個(gè)是可以關(guān)閉的

這可真是個(gè)bug啊肢簿,DESeq2明明是好心卻辦出錯(cuò)了事,無(wú)奈我只能使用logFoldChange和T檢驗(yàn)的方法篩選差異表達(dá)基因……

寫在后面的話

我在想蜻拨,DESeq2這么牛池充,作者一定很聰明,不可能沒想到這個(gè)問題缎讼。此外收夸,這么多人在使用DESeq2,一定也遇到過類似的問題……

果不其然血崭,DESeq2對(duì)于這個(gè)問題早有設(shè)計(jì)卧惜,我還是太naive了……

具體怎么實(shí)現(xiàn),咱們下篇文章見(~ ̄▽ ̄)~

參考資料

Statquest:DESeq2, part1: Library Normalization

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末夹纫,一起剝皮案震驚了整個(gè)濱河市咽瓷,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌舰讹,老刑警劉巖茅姜,帶你破解...
    沈念sama閱讀 216,997評(píng)論 6 502
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異月匣,居然都是意外死亡钻洒,警方通過查閱死者的電腦和手機(jī)奋姿,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,603評(píng)論 3 392
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)航唆,“玉大人胀蛮,你說(shuō)我怎么就攤上這事∨锤疲” “怎么了粪狼?”我有些...
    開封第一講書人閱讀 163,359評(píng)論 0 353
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)任岸。 經(jīng)常有香客問我再榄,道長(zhǎng),這世上最難降的妖魔是什么享潜? 我笑而不...
    開封第一講書人閱讀 58,309評(píng)論 1 292
  • 正文 為了忘掉前任困鸥,我火速辦了婚禮,結(jié)果婚禮上剑按,老公的妹妹穿的比我還像新娘疾就。我一直安慰自己,他們只是感情好艺蝴,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,346評(píng)論 6 390
  • 文/花漫 我一把揭開白布猬腰。 她就那樣靜靜地躺著,像睡著了一般猜敢。 火紅的嫁衣襯著肌膚如雪姑荷。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,258評(píng)論 1 300
  • 那天缩擂,我揣著相機(jī)與錄音鼠冕,去河邊找鬼。 笑死胯盯,一個(gè)胖子當(dāng)著我的面吹牛懈费,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播博脑,決...
    沈念sama閱讀 40,122評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼楞捂,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了趋厉?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 38,970評(píng)論 0 275
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤胶坠,失蹤者是張志新(化名)和其女友劉穎君账,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體沈善,經(jīng)...
    沈念sama閱讀 45,403評(píng)論 1 313
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡乡数,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,596評(píng)論 3 334
  • 正文 我和宋清朗相戀三年椭蹄,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片净赴。...
    茶點(diǎn)故事閱讀 39,769評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡绳矩,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出玖翅,到底是詐尸還是另有隱情翼馆,我是刑警寧澤,帶...
    沈念sama閱讀 35,464評(píng)論 5 344
  • 正文 年R本政府宣布金度,位于F島的核電站应媚,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏猜极。R本人自食惡果不足惜中姜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,075評(píng)論 3 327
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望跟伏。 院中可真熱鬧丢胚,春花似錦、人聲如沸受扳。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,705評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)辞色。三九已至骨宠,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間相满,已是汗流浹背层亿。 一陣腳步聲響...
    開封第一講書人閱讀 32,848評(píng)論 1 269
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留立美,地道東北人匿又。 一個(gè)月前我還...
    沈念sama閱讀 47,831評(píng)論 2 370
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像建蹄,于是被迫代替她去往敵國(guó)和親碌更。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,678評(píng)論 2 354

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