getGEO 函数

Posted MrCharles

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了getGEO 函数相关的知识,希望对你有一定的参考价值。

GEOquery(library(GEOquery) ) 里面的getGEO 是一个很重要的函数。

功能:从GEO数据库下载数据。

返回值:GDS/GSE/GSM/GPL。取决于GEO参数。

Gene Expression Omnibus database(GEO)是由NCBI负责维护的一个数据库,设计初衷是为了收集整理各种表达芯片,但是后来也加入了甲基化芯片,甚至高通量测序数据!
GEO数据库包含下面四种信息

  • GEO Platform (GPL)芯片平台
  • GEO Sample (GSM)样本ID号
  • GEO Series (GSE) study的ID号
  • GEO Dataset(GDS) 数据集的ID号
getGEO(GEO = NULL, filename = NULL, destdir = tempdir(),
GSElimits = NULL, GSEMatrix = TRUE, AnnotGPL = FALSE, getGPL = TRUE,
parseCharacteristics = TRUE)

GEO 决定下载的数据种类。GDS,GSE,GSM,GPL
filename 如果已经下载好了文件,直接读取
destir 读取文件所在的位置,或是下载的位置。默认为工作目录。
GSEMatrix 若为TRUE,则下载Matrix文件;若为FALSE,则下载SOFT文件。默认为TRUE。
getGPL 若为TRUE,则下载GPL注释文件;若为FALSE,则不下载。默认为TRUE

处理GSE返回对象的函数有:geneNames/sampleNames/pData/exprs

ExpressionSet对象讲解

这个对象其实是对表达矩阵加上样本信息的一个封装,由biobase这个包引入。它是eSet这个对象的继承。这个对象其实很简单,就是表达矩阵加上样本分组信息的一个封装。

在Biobase基础包中,ExpressionSet是非常重要的类,因为Bioconductor设计之初是为了对基因芯片数据进行分析,而ExpressionSet正是Bioconductor为基因表达数据格式所定制的标准。它是所有涉及基因表达量相关数据在Bioconductor中进行操作的基础数据类型,比如affyPLM,affy,oligo,limma,arrayMagic等等。

ExpressionSet 的组成:

  • assayData: 一个matrix类型或者environment类型数据。用于保存表达数据值。当它是一个matrix时,它的行表示不同的探针组(probe sets)(也是features,总之是一个无重复的索引值)的值,它的列表示不同的样品。如果有行号或者列号的话,那么行号必须与featureData及phenoData中的行号一致,列号就是样品名。当我们使用exprs()方法时,就是调取的这个assayData的matrix。当它是一个enviroment时,它必须有两个变量,一个就是与上一段描述一致的matrix,另一个就是epxrs,而这个exprs会响应exprs()方法,返回表达值。

  • 头文件:用于描述实验平台相关的数据,其中包括phenoData, featureData,protocolData以及annotation等等。其中phenoData是一个存放样品信息的data.frame或者AnnotatedDataFrame类型的数据。如果有行号的话,其行号必须与assayData的列号一致(也就是样品名)。如果没有行号,则其行数必须与assayData的列数一致。featureData是一个存放features的data.frame或者AnnotatedDataFrame类型的数据。它的行数必须与assayData的行数一致。如果有行号的话,那么它的行号必须和assayData的行号一致。annotation是用于存放芯片类型的字符串,比如hgu95av2之类。protocolData用于存放设备相当的数据。它是AnnotatedDataFrame类型。它的维度必须与assayData的维度一致。

  • experimentData: 一个MIAME类型的数据,它用于保存和实验设计相关的资料,比如实验室名,发表的文章,等等。那么什么是MIAME类呢?MIAME是Minimum Information About a Microarray Experiment的首字母缩写,它包括以下一些属性(slots):
    name:字符串,实验名称;
    lab:字符串,实验室名称;
    contact:字符串,联系方式;
    title:字符串,一句话描述实验的内容;
    abstract:字符串,实验摘要;
    url:字符串,实验相关的网址;
    samples:list类,样品的信息;
    hybridizations: list类,样品的信息;
    normControls:list类,对照信息,比如一些持家基因(house keeping genes)
    preprocessing:list类,原始数据预处理过程;
    pubMedlds:字符串,pubMed索引号;
    others:list类,其他相关信息。
    ExpressionSet继承了eSet类,属性基本和eSet保持一致。

那么,对于一个ExpressionSet,哪些属性是必须的?哪些有可能缺失呢?很显然,assayData是必须的,其它的可能会缺失,但是不能都缺失,因为那样的话就无法完成数据分析的工作。

重点是“exprs”函数提取表达矩阵,“pData”函数看对象的样本分组信息。

以上是关于getGEO 函数的主要内容,如果未能解决你的问题,请参考以下文章

getGEO 函数

getGEO 函数

宏基因组测序及分析

GSVA的使用

转录组差异分析流程三大R包比较

差异表达edgeR,limma(下)