用R進(jìn)行基因表達(dá)芯片分析(一)

今天開始會(huì)寫一系列關(guān)于用R進(jìn)行基因芯片分析的文章田篇,算是對(duì)該流程的總結(jié)。之前學(xué)習(xí)了通過circos來畫圈圖箍铭,以及通過MCScanX進(jìn)行基因家族的共線性分析泊柬,放一張結(jié)果先:


super_gene_family_in_tomato
逼格滿滿,容我先傲嬌一下~

##################我是分割線##################

GEO數(shù)據(jù)庫(kù)基礎(chǔ)知識(shí)

Gene Expression Omnibus(簡(jiǎn)稱GEO)是一個(gè)將科研團(tuán)體提交的基因芯片诈火、下一代測(cè)序數(shù)據(jù)兽赁、以及其他高通量功能基因組數(shù)據(jù)形式進(jìn)行歸檔以供免費(fèi)下載的公共數(shù)據(jù)庫(kù)。

在GEO中記錄的數(shù)據(jù)形式主要有一下幾種:

  • GEO Platform (GPL) 平臺(tái),包括芯片和測(cè)序平臺(tái)刀崖,每個(gè)平臺(tái)都被賦予唯一的GEO號(hào)
  • GEO Series (GSE) study的ID號(hào)惊科,是相關(guān)實(shí)驗(yàn)樣本的集合,并提供了對(duì)于該研究的關(guān)鍵描述性信息
  • GEO Sample (GSM) 樣本ID號(hào)亮钦,提供了單個(gè)樣本處理的實(shí)驗(yàn)條件以及該樣本的測(cè)量數(shù)據(jù)
  • GEO Dataset (GDS) 數(shù)據(jù)集的ID號(hào)
    一個(gè)GDS可以有多個(gè)GSM馆截,一個(gè)GSM可以有多個(gè)GSE,至于GPL蜂莉,一般不接觸蜡娶。
    簡(jiǎn)單來講,分析一張表達(dá)芯片主要包括以下幾個(gè)步驟:
1. 安裝相關(guān)的packages(installation)
2. 從GEO下載數(shù)據(jù)(download dataset)
3. 歸一化(normalization)
4. 芯片質(zhì)控(quality control)
5. 差異表達(dá)基因分析(differential expressed gene analysis)

我們通常接觸的都是GSE系列(一個(gè)GSE里面有多個(gè)GSM)的數(shù)據(jù)巡语。

Installation

從GEO數(shù)據(jù)庫(kù)中下載感興趣的芯片翎蹈,需要事先安裝好bioconductor的核心包,然后安裝專門用于下載標(biāo)準(zhǔn)GEO數(shù)據(jù)結(jié)構(gòu)的GEOquery包男公。
R console 輸入以下命令荤堪,進(jìn)行GEOquery包的安裝:

source("http://bioconductor.org/biocLite.R")
biocLite("GEOquery")

Getting the data

這次以數(shù)據(jù)集GSE97045為對(duì)象進(jìn)行分析。這張芯片以栽培番茄(S. lycopersicum (Sl) (cv. P73) )和野生潘那利番茄(S. pennellii (Sp) (acc. PE47) )為研究對(duì)象枢赔,分析干旱處理前后澄阳,兩種番茄種內(nèi)與種間基因表達(dá)的差異,并進(jìn)行聚類分析踏拜∷橛可以發(fā)現(xiàn),該實(shí)驗(yàn)包括兩個(gè)因素:不同番茄(栽培 vs 野生)和不同處理(unstressed vs drought)速梗。每一條件各有三個(gè)重復(fù)肮塞,因此,該實(shí)驗(yàn)的總樣本(芯片)數(shù)為:2(兩種番茄)* 2 (兩個(gè)處理)* 3 (三次重復(fù))= 12
首先姻锁,通過GEOquery包進(jìn)行芯片數(shù)據(jù)的下載或直接在本地打開文件:

setwd('D:\\work\\Bioinformatics\\data\\array')
gse97045 <- getGEO(filename = "D:\\work\\Bioinformatics\\data\\array\\GSE97045_series_matrix.txt.gz", getGPL = F)

#class(gse97045)
#[1] "ExpressionSet"
#attr(,"package")
#[1] "Biobase"

直接打開的就是"ExpressionSet"類文件枕赵,可以用該類的方法,主要包括4種:

#geneNames(): 該方法已失效
#sampleNames(): 返回樣本(芯片)編號(hào)
> sampleNames(gse97045)
 [1] "GSM2550523" "GSM2550524" "GSM2550525" "GSM2550526" "GSM2550527" "GSM2550528" "GSM2550529" "GSM2550530" "GSM2550531" "GSM2550532" "GSM2550533" "GSM2550534"
#pData(): 返回與實(shí)驗(yàn)相關(guān)的表型數(shù)據(jù)或元數(shù)據(jù)位隶,即phenotypic data的縮寫拷窜,以data.frame的格式呈現(xiàn)
> colnames(pData(gse97045))
 [1] "title"                   "geo_accession"           "status"                 
 [4] "submission_date"         "last_update_date"        "type"                   
 [7] "channel_count"           "source_name_ch1"         "organism_ch1"           
[10] "characteristics_ch1"     "characteristics_ch1.1"   "characteristics_ch1.2"  
[13] "characteristics_ch1.3"   "treatment_protocol_ch1"  "growth_protocol_ch1"    
[16] "molecule_ch1"            "extract_protocol_ch1"    "label_ch1"              
[19] "label_protocol_ch1"      "taxid_ch1"               "hyb_protocol"           
[22] "scan_protocol"           "description"             "data_processing"        
[25] "data_processing.1"       "platform_id"             "contact_name"           
[28] "contact_email"           "contact_laboratory"      "contact_department"     
[31] "contact_institute"       "contact_address"         "contact_city"           
[34] "contact_state"           "contact_zip/postal_code" "contact_country"        
[37] "supplementary_file"      "data_row_count"          "age:ch1"                
[40] "condition:ch1"           "cultivar/accession:ch1"  "tissue:ch1"     

看一下元數(shù)據(jù)的“title”列信息,告訴我們樣本信息涧黄、處理信息篮昧、以及重復(fù)信息,factor格式數(shù)據(jù):

> pData(gse97045)$title
 [1] Tomato (S. lycopersicum) cv. P73, control condition, rep. 1     
 [2] Tomato (S. lycopersicum) cv. P73, control condition, rep. 2     
 [3] Tomato (S. lycopersicum) cv. P73, control condition, rep. 3     
 [4] Tomato (S. lycopersicum) cv. P73, water stress condition, rep. 1
 [5] Tomato (S. lycopersicum) cv. P73, water stress condition, rep. 2
 [6] Tomato (S. lycopersicum) cv. P73, water stress condition, rep. 3
 [7] S. pennellii acc. PE47, control condition, rep. 1               
 [8] S. pennellii acc. PE47, control condition, rep. 2               
 [9] S. pennellii acc. PE47, control condition, rep. 3               
[10] S. pennellii acc. PE47, water stress condition, rep. 1          
[11] S. pennellii acc. PE47, water stress condition, rep. 2          
[12] S. pennellii acc. PE47, water stress condition, rep. 3          
12 Levels: S. pennellii acc. PE47, control condition, rep. 1 ...
#exprs(): Retrieve expression data from eSets.
> head(exprs(gse97045))
                GSM2550523 GSM2550524 GSM2550525 GSM2550526 GSM2550527 GSM2550528
AFFX-BioB-3_at    9.154191   8.935244   8.765674   8.839061   8.275339   8.609382
AFFX-BioB-5_at    9.115401   8.814133   8.664128   8.730531   8.321579   8.564144
AFFX-BioB-M_at    8.980967   8.748333   8.642012   8.750143   8.249259   8.606312
AFFX-BioC-3_at   10.598291  10.439536  10.294270  10.344476   9.912000  10.224729
AFFX-BioC-5_at   10.409473  10.211119  10.013224  10.126247   9.690638   9.981757
AFFX-BioDn-3_at  12.484206  12.394027  12.261628  12.482427  12.047057  12.336597
                GSM2550529 GSM2550530 GSM2550531 GSM2550532 GSM2550533 GSM2550534
AFFX-BioB-3_at    9.477754   9.479547   9.513700   9.179431   9.239031   9.238477
AFFX-BioB-5_at    9.402628   9.429561   9.535614   9.166966   9.273455   9.244174
AFFX-BioB-M_at    9.405048   9.328257   9.393749   9.061191   9.068758   9.223863
AFFX-BioC-3_at   10.878668  10.895548  10.923604  10.612944  10.669775  10.707216
AFFX-BioC-5_at   10.588091  10.621175  10.646094  10.341966  10.442737  10.434916
AFFX-BioDn-3_at  12.603844  12.596163  12.627703  12.487721  12.563084  12.577017

這里再插點(diǎn)有關(guān)exprs()函數(shù)的知識(shí):

  1. exprs()屬于Biobase package笋妥,專門用于處理eSet類數(shù)據(jù)懊昨,返回值為基因表達(dá)矩陣。
  2. eSet類是Bioconductor 為基因表達(dá)數(shù)據(jù)格式所制定的標(biāo)準(zhǔn)春宣,基本可稱為一個(gè)Meta類疚颊,也是一個(gè)虛類狈孔,衍生出了許多重要的類,包括ExpressionSet類材义,SnpSet類以及AffyBatch類等1均抽。

將該過程包裝為函數(shù):

downGSE <- function(studyID, destdir = ".") {

    library(GEOquery)
    eSet <- getGEO(studyID, destdir = destdir, getGPL = F)

    exprSet <- exprs(eSet[[1]])
    pdata <- pData(eSet[[1]])

    write.csv(exprSet, paste0(studyID, "_exprSet.csv"))
    write.csv(pdata, paste0(studyID, "_metadata.csv"))
    return(eSet)

}

對(duì)GSE97045進(jìn)行作圖,看其是否已經(jīng)歸一化:

> library(affyPLM)
載入需要的程輯包:gcrma
載入需要的程輯包:preprocessCore
> boxplot(gse97045, col = cols)
boxplot of gse97045

可見其掂,下載的GSE97045_series_matrix.txt.gz是經(jīng)過歸一化處理的表達(dá)矩陣油挥,可以直接應(yīng)用于下游數(shù)據(jù)分析。

Reference:
  1. 高山款熬, 歐劍虹深寥,肖凱,《R語(yǔ)言與Bioconductor生物信息學(xué)應(yīng)用》
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末贤牛,一起剝皮案震驚了整個(gè)濱河市惋鹅,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌殉簸,老刑警劉巖闰集,帶你破解...
    沈念sama閱讀 218,122評(píng)論 6 505
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異般卑,居然都是意外死亡武鲁,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,070評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門蝠检,熙熙樓的掌柜王于貴愁眉苦臉地迎上來沐鼠,“玉大人,你說我怎么就攤上這事叹谁∷撬螅” “怎么了?”我有些...
    開封第一講書人閱讀 164,491評(píng)論 0 354
  • 文/不壞的土叔 我叫張陵焰檩,是天一觀的道長(zhǎng)憔涉。 經(jīng)常有香客問我,道長(zhǎng)锅尘,這世上最難降的妖魔是什么监氢? 我笑而不...
    開封第一講書人閱讀 58,636評(píng)論 1 293
  • 正文 為了忘掉前任布蔗,我火速辦了婚禮藤违,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘纵揍。我一直安慰自己顿乒,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,676評(píng)論 6 392
  • 文/花漫 我一把揭開白布泽谨。 她就那樣靜靜地躺著璧榄,像睡著了一般特漩。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上骨杂,一...
    開封第一講書人閱讀 51,541評(píng)論 1 305
  • 那天涂身,我揣著相機(jī)與錄音,去河邊找鬼搓蚪。 笑死蛤售,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的妒潭。 我是一名探鬼主播悴能,決...
    沈念sama閱讀 40,292評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼雳灾!你這毒婦竟也來了漠酿?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,211評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤谎亩,失蹤者是張志新(化名)和其女友劉穎炒嘲,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體团驱,經(jīng)...
    沈念sama閱讀 45,655評(píng)論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡摸吠,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,846評(píng)論 3 336
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了嚎花。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片寸痢。...
    茶點(diǎn)故事閱讀 39,965評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖紊选,靈堂內(nèi)的尸體忽然破棺而出啼止,到底是詐尸還是另有隱情,我是刑警寧澤兵罢,帶...
    沈念sama閱讀 35,684評(píng)論 5 347
  • 正文 年R本政府宣布献烦,位于F島的核電站,受9級(jí)特大地震影響卖词,放射性物質(zhì)發(fā)生泄漏巩那。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,295評(píng)論 3 329
  • 文/蒙蒙 一此蜈、第九天 我趴在偏房一處隱蔽的房頂上張望即横。 院中可真熱鬧,春花似錦裆赵、人聲如沸东囚。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,894評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)页藻。三九已至桨嫁,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間份帐,已是汗流浹背璃吧。 一陣腳步聲響...
    開封第一講書人閱讀 33,012評(píng)論 1 269
  • 我被黑心中介騙來泰國(guó)打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留废境,地道東北人肚逸。 一個(gè)月前我還...
    沈念sama閱讀 48,126評(píng)論 3 370
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像彬坏,于是被迫代替她去往敵國(guó)和親朦促。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,914評(píng)論 2 355

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