認真學習limma.jpg

劉小澤寫于18.11.18

好資料值得花時間學習,即便是英文版鳖谈。limma的學習資料有很多岁疼,我每次更新的也是不同的內(nèi)容,希望能多涉及一些關于limma的知識缆娃,充實大腦

最近經(jīng)常從花花那里聽說.jpg捷绒,被感染了哈哈??

配置

之前果子更新了一篇推送,講的就是bioconductor的安裝方式發(fā)生了改變贯要。我們之前直接source+install.package安裝暖侨,現(xiàn)在用到了biocmanager。剛開始轉換還遇到了一點問題崇渗,可能是網(wǎng)絡原因吧字逗,總提示安不上biocmanager。但是有問題不能怕宅广,相信“一切軟件問題都不是問題”葫掉,只要電腦還健在,就可以解決

# 先安裝BiocManager跟狱,它位于CRAN 
if(length(getOption("CRAN"))==0) options(CRAN="https://mirrors.tuna.tsinghua.edu.cn/CRAN/")
if(!require("BiocManager")) install.packages("BiocManager",update = F,ask = F)

# 然后添加BioC的國內(nèi)源俭厚,可以選清華或者中科大
if(length(getOption("BioC_mirror"))==0) options(BioC_mirror="https://mirrors.ustc.edu.cn/bioc/")

# 這就是最新的安裝方式了
if(!require("limma")) BiocManager::install("limma",update = F,ask = F)
# 再安裝一個數(shù)據(jù)包(關于白血病的)、
if(!require("leukemiasEset")) BiocManager::install("leukemiasEset",update = F,ask = F)

前言

LIMMA的意思原來是“l(fā)inear models for microarray data”驶臊,這也就解釋了為什么其中有構建線性模型的步驟【線性模型包括了線性回歸挪挤、多重線性回歸叼丑、方差分析等】另外limma是為芯片而生。但不僅止于此扛门,后來衍生的limma-voom也依然成了今天轉錄組差異分析的金標準鸠信。另外DNA甲基化也可以用limma去分析(當然我現(xiàn)在還沒有涉及這部分)

使用limma需要有一個代表某種測量的數(shù)值矩陣,比如基因表達矩陣(一般就是行為feature论寨,列為sample)或者組蛋白修飾星立、Hi-C contact matrix。這里feature可以代表許多含義葬凳,在樣本信息中(比如GEO得到的樣本信息數(shù)據(jù)框)一個feature表示一個樣本贞铣,在表達矩陣中一個feature就等于一個基因,另外還可以表示基因組區(qū)間(比如不同的啟動子promoters或者基因重疊區(qū)域 genomic bins)沮明。不論是limma還是deseq2或者是edgeR,都采用了經(jīng)驗貝葉斯方法獲取feature信息窍奋。

我們這里只討論基因表達數(shù)據(jù)荐健,包括芯片和轉錄組數(shù)據(jù),這種數(shù)據(jù)中一般樣本數(shù)量在100以內(nèi)琳袄,最多一般也不超過1000江场,并且樣本是有分組的,最常見的就是對照組control和處理組case窖逗。我們分析的目標也就是找到不同組之間差異的features(genes)址否。

但是并非每次都是兩組比較,有時涉及到更多信息碎紊,比如年齡佑附、性別;然后還有更復雜的仗考,就是時間序列信息音同,所有的樣本是按照時間點劃分的,每個時間點為一個組秃嗜,包括了幾個樣本权均。因此,一個實驗的design矩陣 就是組間樣本是如何分布的锅锨。樣本一般是相互獨立的叽赊,但是有時也是成對出現(xiàn),比如同一個病人的正常與癌變組織就是這樣一對樣本必搞。最常見的design就是兩個未成對的組之間的比較必指。

兩組比較 A two group comparison

獲取數(shù)據(jù)

# 使用的是一個表達數(shù)據(jù)集ExpressionSet=》leukemiasEset
library(leukemiasEset)
data(leukemiasEset) #使用data來加載這個數(shù)據(jù)集
table(leukemiasEset$LeukemiaType)

得到結果如下:這是4組不同的白血病和1組對照的樣本信息,其中NoL意思是不是白血补嘶(Not leukemia)即正常對照組

## 
## ALL AML CLL CML NoL 
##  12  12  12  12  12

如果想知道ALL型白血病與對照組之間的差異基因取劫,可以先取出相關的子集ALL和NoL

myData <- leukemiasEset[, leukemiasEset$LeukemiaType %in% c("ALL", "NoL")]
myData$LeukemiaType <- factor(myData$LeukemiaType)
# 這里你會看到匆笤,雖然myData只包含了ALL和NoL兩種type,但是顯示的因子還是5種谱邪,因此需要重新賦值一下因子類型
myData$LeukemiaType <- factor(myData$LeukemiaType)

線性模型

現(xiàn)在做一個標準的limma model fit

design <- model.matrix(~ myData$LeukemiaType)
fit <- lmFit(myData, design)
fit <- eBayes(fit)
topTable(fit)

首先炮捧,為了比較感興趣組的樣本(這里的ALL和NoL),我們用model.matrix構建了design矩陣(叫design可以理解為是從實驗設計角度出發(fā))惦银,這里的design矩陣有兩組【多組的需要稍微變一下構建方法】咆课;

其次,擬合線性模型(line model fitting)扯俱,然后利用經(jīng)驗貝葉斯方法【這是limma的核心所在】 得到基因間強度關系(gene strength)书蚪,因為這個實驗矩陣(design)只有兩組,因此只有一種比較方法:即比較他們之間的基因差別迅栅;

然后殊校,使用topTable函數(shù)列出差異表達最顯著的基因【如果實驗設計比較復雜,還需要告訴topTable比較哪些interest特征】

得到的結果部分如下:

                   logFC  AveExpr        t      P.Value    adj.P.Val
ENSG00000163751 4.089587 5.819472 22.51729 9.894742e-18 1.733025e-13
ENSG00000104043 4.519488 5.762115 21.98550 1.718248e-17 1.733025e-13
ENSG00000008394 5.267835 7.482490 20.08250 1.374231e-16 9.240332e-13
  • 其中一個重要的部分是logFC读存,也就是case與control組之間的log Fold change值为流,這里有個注意事項:你需要知道樣本組比較順序(是ALL-NoL還是NoL-ALL)。如果是前者让簿,那么logFC為正就說明相對NoL敬察,基因在ALL是高表達的。因此判斷哪個樣本為reference是很重要的尔当。那么如何判斷莲祸?
myData$LeukemiaType
##  [1] ALL ALL ALL ALL ALL ALL ALL ALL ALL ALL ALL ALL NoL NoL NoL NoL NoL
## [18] NoL NoL NoL NoL NoL NoL NoL
## Levels: ALL NoL

? 就看上面這個代碼的結果中的Levels部分哪個因子首先出現(xiàn),它就作為reference

? 這里的結果是ALL先出現(xiàn)椭迎,因此ALL組是reference锐帜,也就是NoL-ALL的模式,這樣的話畜号,如果得到的logFC是正值抹估,那么就說明在ALL組中基因表達下調(diào)

? 如果想要改變reference組,可以用relevel()函數(shù)

  • 另外結果還包括t檢驗數(shù)據(jù)弄兜、P值(P.Value 對于多組比較未校正)药蜻、校正的P值(adj.P.Val 默認使用Benjamini-Horchberg方法對多組進行P值校正)

歡迎關注我們的公眾號~_~  
我們是兩個農(nóng)轉生信的小碩,打造生信星球替饿,想讓它成為一個不拽術語语泽、通俗易懂的生信知識平臺。需要幫助或提出意見請后臺留言或發(fā)送郵件到Bioplanet520@outlook.com

Welcome to our bioinfoplanet!

最后編輯于
?著作權歸作者所有,轉載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末视卢,一起剝皮案震驚了整個濱河市踱卵,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖惋砂,帶你破解...
    沈念sama閱讀 206,126評論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件妒挎,死亡現(xiàn)場離奇詭異,居然都是意外死亡西饵,警方通過查閱死者的電腦和手機酝掩,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,254評論 2 382
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來眷柔,“玉大人期虾,你說我怎么就攤上這事⊙敝觯” “怎么了镶苞?”我有些...
    開封第一講書人閱讀 152,445評論 0 341
  • 文/不壞的土叔 我叫張陵,是天一觀的道長鞠评。 經(jīng)常有香客問我茂蚓,道長,這世上最難降的妖魔是什么剃幌? 我笑而不...
    開封第一講書人閱讀 55,185評論 1 278
  • 正文 為了忘掉前任煌贴,我火速辦了婚禮,結果婚禮上锥忿,老公的妹妹穿的比我還像新娘。我一直安慰自己怠肋,他們只是感情好敬鬓,可當我...
    茶點故事閱讀 64,178評論 5 371
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著笙各,像睡著了一般钉答。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上杈抢,一...
    開封第一講書人閱讀 48,970評論 1 284
  • 那天数尿,我揣著相機與錄音,去河邊找鬼惶楼。 笑死右蹦,一個胖子當著我的面吹牛,可吹牛的內(nèi)容都是我干的歼捐。 我是一名探鬼主播何陆,決...
    沈念sama閱讀 38,276評論 3 399
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼豹储!你這毒婦竟也來了贷盲?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 36,927評論 0 259
  • 序言:老撾萬榮一對情侶失蹤剥扣,失蹤者是張志新(化名)和其女友劉穎巩剖,沒想到半個月后铝穷,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 43,400評論 1 300
  • 正文 獨居荒郊野嶺守林人離奇死亡佳魔,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 35,883評論 2 323
  • 正文 我和宋清朗相戀三年曙聂,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片吃引。...
    茶點故事閱讀 37,997評論 1 333
  • 序言:一個原本活蹦亂跳的男人離奇死亡筹陵,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出镊尺,到底是詐尸還是另有隱情朦佩,我是刑警寧澤,帶...
    沈念sama閱讀 33,646評論 4 322
  • 正文 年R本政府宣布庐氮,位于F島的核電站语稠,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏弄砍。R本人自食惡果不足惜仙畦,卻給世界環(huán)境...
    茶點故事閱讀 39,213評論 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望音婶。 院中可真熱鬧慨畸,春花似錦、人聲如沸衣式。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,204評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽碴卧。三九已至弱卡,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間住册,已是汗流浹背婶博。 一陣腳步聲響...
    開封第一講書人閱讀 31,423評論 1 260
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留荧飞,地道東北人凡人。 一個月前我還...
    沈念sama閱讀 45,423評論 2 352
  • 正文 我出身青樓,卻偏偏與公主長得像叹阔,于是被迫代替她去往敵國和親划栓。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 42,722評論 2 345

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