非常感謝jimmy大神與生信技能樹一直以來的無私分享,自己學(xué)習的同時也伴隨著記錄诈乒,如有錯誤的,歡迎大家指正~~~~
1.數(shù)據(jù)下載
Ⅰ、R代碼直接下載數(shù)據(jù)
建議以Rdata形式保存數(shù)據(jù)喂饥,以防網(wǎng)絡(luò)狗的時候消约,用不了的時候(-_-|)员帮,害.....
rm(list = ls())#清空控制臺
options(stringsAsFactors = F)#關(guān)掉選擇更新R包的函數(shù)
#https://www.ncbi.nlm.nih.gov/geo/query/acc.cgi?acc=GSE42872
library(GEOquery)
eSet <- getGEO("GSE42872", #下載的GSE編號或粮,根據(jù)需求更換
destdir = '.',
getGPL = F)
save(eSet,file = 'GSE19826_eSet.Rdata')
<關(guān)于參數(shù)>
- destdir 設(shè)置當前目錄
-
getGPL 和AnnotGPL都設(shè)置TRUE捞高,可以下載和獲得平臺的注釋文件
但是如果只要表達矩陣,沒有其他需求 getGPL = F硝岗,可以提高下載速度 - GEO Platform (GPL) 平臺(測序平臺/芯片平臺)——可以提供注釋文件
GEO Sample (GSM) 樣本
GEO Series (GSE)系列
GEO Dataset (GDS) 數(shù)據(jù)集
- 一個GSE里面可以有一個或者多個GSM樣本
- 多個研究的GSM樣本可以根據(jù)研究目的整合為一個GDS氢哮。
Ⅱ、網(wǎng)站下載數(shù)據(jù)及R讀取
-
正確利用連接找到GSE
https://www.ncbi.nlm.nih.gov/geo/query/acc.cgi?acc=GSE42872
只需要改GSE后編號數(shù)便可下載文件冗尤,后讀入文件 - 關(guān)于網(wǎng)站下載的GSE與GPL文件可見——>http://www.reibang.com/p/19d6db819c32
GSE的.gz讀取——可直接讀取表達矩陣exp
exp = read.table('GSE42872_series_matrix.txt.gz',
sep='\t',quote = "",fill = T,
comment.char="!",header=T)
#也可以解壓后,直接讀取txt文件
exp =read.table('GSE42872_series_matrix.txt',
sep='\t',quote = "",fill = T,
comment.char="!",header=T)
- 關(guān)于參數(shù)
comment.char="!" ——不讀取文件中“胀溺!”后的內(nèi)容
header=T——列名
GPL的soft文件讀取
##注意 函數(shù) getGEO
GPL6244=getGEO(filename = 'GSE42872_family.soft')
GPL文件也可以直接代碼下載
library(GEOquery)
GPL6244<- getGEO('GPL6244', destdir=".")
GPL6244=Table( GPL6244)#得到我們想要的信息及格式
- 注意 函數(shù) getGEO()基于R包GEOquery
2.提取表達矩陣exp(基于方法Ⅰ的R代碼)
exp <- exprs(eSet[[1]])
#若表達矩陣表達量整體過大,對矩陣進行 log2仓坞,為了防止log無意義---exp加1
exp = log2(exp+1)#該步驟可省略背零,若表達量不需要log2
#log0無意義
3.獲取臨床信息(主要要用于ID轉(zhuǎn)換和生存分析)
- 基于方法Ⅰ的R代碼
pdata <- pData(eSet[[1]])
有時候臨床信息很多无埃,當有一列的每一行是完全一樣徙瓶,一般來說沒有什么意義嫉称,反而會影響我們的閱讀倍啥,可以適當縮小其范圍
pdata <- pData(eSet[[1]])
pdata <- pdata[,apply(pdata, 2, function(x){
length(unique(x))>1})] #縮小范圍
dim(pd1)
apply(pdata,table)
- 基于方法Ⅱ的R代碼
library(GEOquery)
GPL6244<- getGEO('GPL6244', destdir=".")
GPL6244=Table( GPL6244)#得到我們想要的信息及格式
歡迎大家多多騷擾~~~~~