非常感谢jimmy大神与生信技能树一直以来的无私分享,自己学习的同时也伴随着记录,如有错误的,欢迎大家指正~~~~
1.数据下载
Ⅰ、R代码直接下载数据
建议以Rdata形式保存数据,以防网络狗的时候,用不了的时候(-_-|),害.....
rm(list = ls())#清空控制台
options(stringsAsFactors = F)#关掉选择更新R包的函数
#https://www.ncbi.nlm.nih.gov/geo/query/acc.cgi?acc=GSE42872
library(GEOquery)
eSet <- getGEO("GSE42872", #下载的GSE编号,根据需求更换
destdir = '.',
getGPL = F)
save(eSet,file = 'GSE19826_eSet.Rdata')
<关于参数>
- destdir 设置当前目录
-
getGPL 和AnnotGPL都设置TRUE,可以下载和获得平台的注释文件
但是如果只要表达矩阵,没有其他需求 getGPL = F,可以提高下载速度 - GEO Platform (GPL) 平台(测序平台/芯片平台)——可以提供注释文件
GEO Sample (GSM) 样本
GEO Series (GSE)系列
GEO Dataset (GDS) 数据集
- 一个GSE里面可以有一个或者多个GSM样本
- 多个研究的GSM样本可以根据研究目的整合为一个GDS。
Ⅱ、网站下载数据及R读取
-
正确利用连接找到GSE
https://www.ncbi.nlm.nih.gov/geo/query/acc.cgi?acc=GSE42872
只需要改GSE后编号数便可下载文件,后读入文件 - 关于网站下载的GSE与GPL文件可见——>//www.greatytc.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)
- 关于参数
comment.char="!" ——不读取文件中“!”后的内容
header=T——列名
GPL的soft文件读取
##注意 函数 getGEO
GPL6244=getGEO(filename = 'GSE42872_family.soft')
GPL文件也可以直接代码下载
library(GEOquery)
GPL6244<- getGEO('GPL6244', destdir=".")
GPL6244=Table( GPL6244)#得到我们想要的信息及格式
- 注意 函数 getGEO()基于R包GEOquery
2.提取表达矩阵exp(基于方法Ⅰ的R代码)
exp <- exprs(eSet[[1]])
#若表达矩阵表达量整体过大,对矩阵进行 log2,为了防止log无意义---exp加1
exp = log2(exp+1)#该步骤可省略,若表达量不需要log2
#log0无意义
3.获取临床信息(主要要用于ID转换和生存分析)
- 基于方法Ⅰ的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)#得到我们想要的信息及格式
欢迎大家多多骚扰~~~~~