GEO学习笔记-P1-P2
學習材料:【生信技能樹】公共數據庫挖掘實例(基于R語言) bilibili版本以及后續更新課程中的github材料為基礎。
本章節是以:【生信技能樹】公共數據庫挖掘實例(基于R語言)為基礎,進行的代碼復現與注釋,章節標注以之為準。
【生信技能樹】公共數據庫挖掘實例(基于R語言)_嗶哩嗶哩_bilibili今天小編給大家帶來的是由我們jimmy大大親自錄制的公共數據庫挖掘實例~紙上得來終覺淺,絕知此事要躬行,一起跟著大大來實踐吧~https://www.bilibili.com/video/BV1Lt411S786?p=2其他資料:
【生信技能樹】GEO數據庫挖掘_嗶哩嗶哩_bilibilihttps://www.bilibili.com/video/BV1is411H7Hq?p=1
數據分析github源代碼https://github.com/jmzeng1314/GEOhttps://github.com/jmzeng1314/GEO主要是survival文件夾中的代碼。
一、緒論
現代處理數據思路:通過篩選進行尋找上調/下調的基因集。
【ps 以功能相關的基因集合為單位,而不是以單個基因通路為單位。因此此處的基因集就是與該類功能相關的所有基因的集合】
【ps 例如,化療處理前后獲得上下調的基因組合,即是一個基因集,因此可以作為一個功能/應激的改變,即應對什么的一個基因功能集合】
eg: Msigdb ,常用的GO/KEGG都是該基因集,并且包含免疫等等基因集。
【根據p值或者變化程度進行篩選,利用t檢驗等來篩選出變化最大的基因集-差異分析?基因識別?所以合適數量的基因集是很有意義的】
通過p或閾值的差異獲取表達矩陣的差異基因,然后構建差異富集分析,同時利用GO/KEGG等進行功能注釋。
在獲取差異基因時,除了使用p直接比較,也可以使用其他統計學方法,例如生存分析等分析出有差異的部分。
二、GEO庫
2.1、GEO處理的基本思路
????????1、選擇GSE:基于GSE號
????????2、表達矩陣:下載表達矩陣
????????3、差異分析得到基因集 - limma包就可以用 - 多個差異分析的方法可以使用
5大數據庫的注釋-對? 差異基因進行注釋 - misgdb/GO/KEGG
構建PPI網絡或其他
GEO主要包含4種類型的數據:平臺(Platform,GPL)、樣本(Sample,GSM)、系列(Series,GSE)、數據集(Datasets,GDS),以及表達譜。
四種編號GPL,GDS,GSE和GSM可以獲得完整的平臺,數據集,系列以及樣本的信息.
其中:
原始數據:GPL(Platform),GSM(Sample),GSE(Series)
數據集:GDS(DataSets), 表達譜(Profiles).
GPL:平臺,主要是探針列表。
GSM:
每個GSM數據都是會有相應的平臺信息-經哪個技術獲取該信息。
2.2、GEO數據接口:
直接修改GEO數據后面的數字編號即可直接定位到該文章中的GSM數據庫。可以搜索GSM在文中獲取響應信息。
2.3、GEO數據下載與安裝(R語言)
??????? 2.3.1??????? R包:GEOquery安裝
# 安裝GEOquery包 if (!requireNamespace("BiocManager", quietly = TRUE))install.packages("BiocManager")BiocManager::install("GEOquery")library(GEOquery)這里遇到一個問題,安裝了部分的包后,仍無法library(GEOquery)包。
方法1:update部分包 some
方法2:翻墻試一下(trying)。
解決方案:error可能會提示調用的包版本有問題,需要重新在package欄中重新刪除舊的version,并安裝新的version。部分包可以通過install.package("*")或者手動操作直接完成,也會有部分新的version需要biocManager::install("*")語句重新安裝包。(具體見上)
??????? 2.3.2????????數據下載
【方法1】利用R包GEOquery中的語句getGEO完成
if(!file.exists(f)){gset <- getGEO('GSE42872', destdir=".",AnnotGPL = F, ## 注釋文件getGPL = F) ## 平臺文件save(gset,file=f) ## 保存到本地 } load('GSE42872_eSet.Rdata') ## 載入數據AnnotGPL和getGPL是兩個注釋文件,如果不想要其對應的是soft文件。
此時下載的就是表達矩陣,如果無法下載就是被墻了,需要想辦法翻才行。
需注意此時在工作目錄下會生成相應的gz壓縮文件,此時可以load相應文件即可。
如果此時下載好了也可以使用read.table()讀取這個文件。
read有很多模式,可以讀進不同的參數進而獲取不同的文件格式,例如使用不同的分隔符、不同的read后綴等獲取不同的文件,需要去看help或者相關書籍重新學習!需要轉換的話,可以用expr等語句。
ps:當然也存在直接讀這個gz文件進來就是matrix的格式,需要注意。
此處應該常規檢查文件格式。str()看內部結構,class()看文件類型。
【方法2】網頁直接下載壓縮文件
利用該GEO數據網頁中的supplementary file中download下custom右鍵進入,或者download family中的series matrix files中下載原始TXT文件。
或者這里有下載的matrix也可以直接下下來,省事。
代碼后可以直接格式化
通過class及length可以獲得該gset的性質為list
那么gset[[1]]之后可以查看該list中的對象。這個對象的性質是ExpressionSet。
換而言之,這個gset的list中只有一個objective就是這個gset[[1]],其性質為ExpressionSet,因此此時它還不是一個表達矩陣,需要時可通過exprs()轉化成為一個表達矩陣。
此表達矩陣需檢查一下是否取對數,一般信號獲取的是1k-10k的信號強度,需通過log來降級。
# 因為這個GEO數據集只有一個GPL平臺,所以下載到的是一個含有一個元素的list a=gset[[1]] #提取gset的list中的第一個元素對象 dat=exprs(a) #a現在是一個對象,取a這個對象通過看說明書知道要用exprs這個函數#exprs是一個將元素轉化為表達矩陣的函數,此時得到的exprset是一個matrix。 dim(dat) #看一下dat這個矩陣的維度 # ?expressionset 可以查看相關部分的性質及介紹質控表達矩陣是否符合下游分析。
samples=sampleNames(ob) # sample name就是看有多少GSM樣本 pdata=pData(ob) # pData是看樣本怎么分組,相應的生物學分類,下載整理好后的包 -GEOmeta? # pdata此時是個data.frame group_list=as.character(pdata[,2]) dim(exprset) #查看exprset矩陣的維度,有33279行(基因表達量),6列(樣本數) exprset[1:5,1:5]一個是檢測samplename里是否一致,其次,pData轉換格式以及獲取分組信息,相當于直接將ob轉化成為了data.frame格式。后續可以dim檢測維度,或者將你認為有意義的列提出來,轉化為字符或者怎樣。
【方法3】直接處理raw data
從GEO數據庫下載矩陣數據-可以直接進行下游分析 | 生信菜鳥團 http://www.bio-info-trainee.com/941.html公眾號可以搜索:從GEO數據庫下載表達矩陣 一文搞定。
舊版:affy包
readaffy讀取原始文件
新版:oligo包
不同公司測序的讀取的包也要不一樣,具體可以見公眾號中的總結
從GEO數據庫下載得到表達矩陣 一文就夠https://mp.weixin.qq.com/s/HoRUzx0UJxgkgQDxouj8rw
總結
以上是生活随笔為你收集整理的GEO学习笔记-P1-P2的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 面向对象--类
- 下一篇: 巨型帧linux检测,linux – K