zoukankan      html  css  js  c++  java
  • GEOquery

    GEOquery 是 bioconductor 项目下的一个R包

    官网:http://www.bioconductor.org/packages/release/bioc/html/GEOquery.html

    下载安装:

    if (!requireNamespace("BiocManager", quietly = TRUE))
        install.packages("BiocManager")
    
    BiocManager::install("GEOquery")

    GEO 是由NCBI负责维护的一个数据库,期初是有芯片数据,后来增加了甲基化芯片和高通量测序数据。

    只要看到文献里面有提到 GEO 数据库,都可以通过这个R包来进行批量下载,其实就是网页版的一个API调用而已。

    GEO 数据库基础知识(有另一篇博文专门介绍GEO数据库)

    GEO Platform (GPL) 芯片平台

    GEO Sample (GSM) 样本ID号

    GEO Series (GSE) study 的ID号

    GEO Dataset (GDS) 数据集的ID号

    GEOquery 用法

    常用函数,以及每个函数返回的对象该如何处理即可。

    getGEO()  从GEO数据库下载数据或者打开本地数据

    返回值:GDS / GSE / GSM / GPL   具体返回值取决于GEO的参数

    GEO参数 决定下载的数据种类,GDS / GSE / GSM / GPL

    filename参数 如果已经下载好了文件,直接读取

    destdir参数  下载文件存放的地址,默认的是工作目录

    GSEMatrix参数  若为TRUE,则下载Matrix文件;若为FALSE,则下载SOFT文件。默认为TRUE。

    getGPL参数  若为TRUE,则下载GPL注释文件;若为FALSE,则不下载。默认为TRUE。

    getGEOSuppFiles()  下载 supplementary data,包含 raw data

    返回值:supplementary data

    GEO参数  下载GSE的supplemental files

    makeDirectory参数  若为TRUE,则默认新建文件夹并下载到里面;若为FALSE,则直接下载到工作目录。默认为TRUE。

    baseDir参数  指定下载目录,默认为工作目录

    getGEOfile()

    gunzip() 解压gz格式的文件

    返回值:从gz压缩文件中提起的文件。

    filename参数  需要解压缩的文件名,可以为 list

    destname参数  解压缩之后的文件名,默认去除 .gz$

    overwrite参数  是否覆盖重名文件,默认为FALSE

    remove参数  解压完是否删除原文件,默认为TRUE

    这三个函数根据上面的四种ID下载数据的时候,返回的对象是不同的。

    首先介绍 getGEO() 函数

    -- gse1009 <- getGEO("GSE1009", destdir = ".")    # 根据GSE号下载数据,下载 ***_series_matrix.txt.gz 文件

    -- gds858 <- getGEO("GDS858", destdir = ".")    # 根据GDS号下载数据,下载 soft 文件。 如果使用了 GSEMatrix = TRUE 这个参数,那么除了下载soft文件还会下载表达量矩阵文件,可以直接用read.table()函数读取

    -- gpl96 <- getGEO("GPL96", destdir = ".")    # 根据GPL号下载的是芯片设计的信息

    下载的文件都会保存在本地,destdir 参数用来指定下载地址。

    getGEO()的比较重要的参数有:

    GSEmatrix = TRUE

    AnnotGPL = FALSE

    getGPL = TRUE

    根据返回对象的不同,针对返回对象的方法也不一样

    下载GSE返回对象的处理函数

    即直接根据GSE号返回的对象:gse1009

    相应的处理函数有:

    geneNames

    sampleNames

    pData

    exprs

    下面的操作得到一个数值矩阵

    expr <- read.table("GSE26253_series_matrix.txt", comment.char = "!", stringAsFactors = F)

    下载GDS返回对象的处理函数

    gds858返回的对象很复杂

    用 Table(gds858) 可以得到表达矩阵

    用 Meta(gds858) 可以得到描述信息

    用 GDS2eSet() 函数把它转变为 expression set 对象

    library(GEOquery)
    gds858 <- getGEO("GDS858", destdir = ".")
    names(Meta(gds858))
    Table(gds858)[1:5, 1:5]
    eset <- GDS2eSet(gds858, do.log2 = TRUE)

    g4100 <- GDS2eSet(getGEO("GDS4100"))
    e4100 <- exprs(g4100) # 这样e4100就是一个数值矩阵了,可以进行下游分析。

    下载GPL返回对象的处理函数

     根据GPL号下载返回的对象也用 Table()  meta()处理

    library(GEOquery)
    gpl <- getGEO("GPL96", destdir = ".")
    names(Meta(gpl96))
    Table(gpl96)[1:10, 1:4]
    ## 下面这个就是芯片ID的基因注释信息
    Table(gpl96)[1:10, c("ID", "GB_LIST", "Gene.Symbol", "Entres.Gene")]

    getGEO() 函数除了可以下载数据,也可以打开本地数据,使用参数 filename 指定本地数据文件

    gds858 <- getGEO(filename = "GDS858.soft.gz")
  • 相关阅读:
    python关于字典如何格式化地写入文件之中
    关于python如何安装和配置chromedriver以及一些相关问题
    python编码的原理以及写入文件中乱码的原因
    json到底是什么??????
    scrapy框架Request函数callback参数为什么是self.parse而不是self.parse( )
    scrapy框架xpath的几点说明
    python基于scrapy框架的反爬虫机制破解之User-Agent伪装
    HTML,CSS,JavaScript,json,xml之间的关系
    scrapy框架在未登录模式下爬取文本,文件和图片的几点收获
    scrapy爬虫提取网页链接的两种方法以及构造HtmlResponse对象的方式
  • 原文地址:https://www.cnblogs.com/0820LL/p/11668881.html
Copyright © 2011-2022 走看看