• Affy包 estrogen包


    下载安装

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

    affy 包为 Bioconductor 之中一个用于数据预处理的包。

    affy 包的功能只有一个:读取 affymetrix 的基因表达芯片数据,即CEL格式文件,然后处理成表达矩阵。

    先解释以下为什么这个包叫这个名字,这是因为affy其实是一个生产芯片的公司,这个公司做的芯片所产生的的数据肯定不是拿过来就能用的,不同的实验组,不同的PM和MM都是需要处理的。所以他们官方出了一个工具包叫做affy,专门用来处理原始的实验数据。

    Affymetrix 的探针(proble)一般是长度为25bp的寡聚核苷酸;探针总是以 perfect match 和 mismatch 成对出现,其信号值称为 PM 和 MM,成对的 perfect match 和 mismatch 有一个共同的 affyID。

    CEL文件:信号值和定位信息

    CDF文件:探针对在芯片上的定位信息

    CEL文件的下载地址(以GSE1438为例),一般在网页的最下方,下载后解压到指定目录即可。

     下载到本地并解压之后可以用下面的代码读取 cel 文件

    读取过程比较费事,这里使用了 mas5() 对表达数据进行 normalization,当然也可以使用 rma() 函数

    > library(affy)
    > dir_cels <- "cel_files"  # cel文件存放的路径
    > affy_data <- ReadAffy(celfile.path = dir_cels)
    > eset.mas5 <- mas5(affy_data)

    理论上,处理得到的数据应该和直接从官网下载的表达量数据是一样的 即 XXX_series_matrix.txt.gz 文件

    严格讲,这个芯片得到的表达矩阵,是需要过滤的。

    setwd('../')
    library(affy)
    dir_cels='GSE34824_RAW'
    data <- ReadAffy(celfile.path=dir_cels)
    eset <- rma(data)
    calls <- mas5calls(data) # get PMA calls
    calls <- exprs(calls)
    absent <- rowSums(calls == 'A') # how may samples are each gene 'absent' in all samples
    absent <- which (absent == ncol(calls)) # which genes are 'absent' in all samples
    rmaFiltered <- eset[-absent,] # filters out the genes 'absent' in all samples

    54675 features 经过过滤后,剩下 42482 features

    基因芯片的原始数据是一个 .cel 文件,当然在我们的 estrogen 包中自带了一小部分 .cel 数据,可以用来学习。

    参考

    http://treeh.cn/?id=22

    https://www.jianshu.com/p/ca908850bd84

  • 相关阅读:
    C# 中的var关键字
    sql中去掉换行符和回车符
    Linq之旅:Linq入门详解(Linq to Objects)
    c# for 和 foreach
    c# Dictionary
    ASP.NET Web.config学习
    c# 装箱与拆箱的概念
    c# List集合学习
    Index was out of range
    C# double保留四位小数
  • 原文地址:https://www.cnblogs.com/0820LL/p/11668886.html
Copyright © 2020-2023  润新知