专栏首页生信修炼手册cel格式的表达谱芯片数据如何读取?

cel格式的表达谱芯片数据如何读取?

后缀为cel的芯片文件,对应的芯片平台为Affymetrix, 针对这一平台的数据,可以通过R包affy来读取,读取时我们需要以下两种文件

1. 后缀为cel的探针荧光信号强度文件

2. 后缀为cdf的探针布局文件

cel文件是芯片扫描之后的原始数据文件,而cdf文件是每个芯片平台对应的文件,cdf格式的详细解释可以参考如下链接

https://media.affymetrix.com/support/developer/powertools/changelog/gcos-agcc/cdf.html

部分内容截图如下

针对一些常用芯片, bionconductor annotation收录了对应的cdf注释信息,链接如下

http://master.bioconductor.org/packages/release/data/annotation/

在读取数据的过程中,affy会根据芯片平台自动化地从annotation中下载对应的cdf包,对于那些cdf文件没有收录在annotation中的芯片,就只能通过makecdfenv包手动创建对应的注释包了。

使用affy包读取cel文件的代码如下

library(affy)
# 读取数据
data <- ReadAffy(celfile.path = "cel_file_dir")

核心就是ReadAffy函数,只需要提供cel文件所在文件夹的路径即可。

原始信号读取之后,我们需要将原始的探针水平的信号强度转变为基因水平的表达量,需要经过以下步骤

1. 读取探针水平的数据

2. 背景校正

3. 归一化

4. 探针特异性的背景校正,比如减去阴性对照的荧光强度

5. summary, 将一组探针的表达量合并为一个表达值水平

所有这些都通过一个函数expresso来执行,该函数非常灵活,包含了以下多个参数

1. bgcorrect.method

2. normalize.method

3. pmcorrect.method

4. summary.method

针对每一步骤都提供了很多的方法可供选择,展示如下

> library(affydata))
> data(Dilution)
> normalize.methods(Dilution)
[1] "constant"         "contrasts"        "invariantset"     "loess"            "methods"         
[6] "qspline"          "quantiles"        "quantiles.robust"
> bgcorrect.methods()
[1] "bg.correct" "mas"        "none"       "rma"       
> pmcorrect.methods()
[1] "mas"        "methods"    "pmonly"     "subtractmm"
> express.summary.stat.methods()
[1] "avgdiff"      "liwong"       "mas"          "medianpolish" "playerout"

在expresso函数的基础上,封装了两个常见处理函数

1.mas5

2.rma

本质是固定了各种参数的值,从读取原始数据,到得到探针表达量的完整代码如下

library(affy)
# 读取数据
data <- ReadAffy(celfile.path = "cel_file_dir")
# 归一化, 二选一
eset <- mas5(data)
est <- rma(data)
# 输出
write.exprs(eset, file="data.txt")
文章分享自微信公众号:
生信修炼手册

本文参与 腾讯云自媒体分享计划 ,欢迎热爱写作的你一起参与!

作者:lzyg
原始发表时间:2022-04-13
如有侵权,请联系 cloudcommunity@tencent.com 删除。
登录 后参与评论
0 条评论

相关文章

  • 原始数据不仅有GEO, 还有ArrayExpress!

    和GEO数据库类似,ArrayExpress是属于EBI旗下的公共数据库,用于存放芯片和高通量测序的相关数据,网址如下

    生信修炼手册
  • GEO数据库表达谱差异基因分析

    关于GEO数据库表达谱差异基因分析,网上有很多教程,但很多都不系统,几乎千篇一律,而且都是直接使用整理好的矩阵文件来操作的。大家都知道,GEO数据库只负责用户上...

    DoubleHelix
  • 根据分组信息做差异分析- 这个一文不够的

    通过前面的讲解,我们顺利的了解了GEO数据库以及如何下载其数据,得到我们想要的表达矩阵,也成功的使用了GSEA这个分析套路。 历史目录: 解读GEO数据存放规律...

    生信技能树
  • 基因芯片数据分析(二):读取芯片数据

    在microarray的处理中,第一步就是读取数据。无论是自己的保存在本地的数据,还是在线保存的数据,对于不同公司的芯片可以使用不同的软件包读取。在这里,我们说...

    DoubleHelix
  • 芯片数据分析,so easy?

    我最早接触的高通量数据就是RNA-seq,后来接触的也基本是高通量测序结果而不是芯片数据,因此我从来没有分析过一次芯片数据,而最近有一个学员在看生信技能树在腾讯...

    生信技能树
  • 基因芯片分析流程

    读取array数据首先确定一下测序平台和数据系列,然后用相应的包读取基因表达芯片数据-CEL格式文件并处理成表达矩阵。 affy包(Affymetrix 平台...

    生信编程日常
  • 从GEO数据库下载得到表达矩阵 一文就够

    在第一讲我们详细介绍了GEO数据库的基础知识及规律,也了解了如何利用官方R包GEOquery来探索GEO数据库,当然,我的生信菜鸟团博客里面也从很多其它角度解析...

    生信技能树
  • GEO数据挖掘流程+STRING VS R in KEGG/GO

    In molecular biology, STRING (Search Tool for the Retrieval of Interacting Genes...

    生信技能树
  • 使用sva包处理批次效应

    需要注意的是,在校正批次效应之前,表达量数据必须经过归一化操作,而且去除了缺失的基因,比如在80%的样本中没有表达量的基因。

    生信修炼手册
  • oligo包可以处理agilent芯片吗

    结果,不仅没有找到ID号,而且还看到了oligo包,很有趣,第一次看到oligo包可以处理agilent芯片的,不知道亲爱的读者你们觉得这个靠谱吗?

    生信技能树
  • 怎么样才能正确的学习生信分析呢?—从学徒做起

    (PS : 需要排除部分根本就无心向学的,也许是没有时间,也许是畏难。总之,没有学习条件哪怕是找到我,我也无能为力哈)

    生信技能树
  • 表达谱芯片没有ncRNA信息怎么办

    在ncRNA还没有研究之前,好多表达谱芯片是没有ncRNA的注释信息的。这也就导致说很多表达谱的芯片,没办法分析ncRNA。对于芯片的探针而言,可以通过重注释的...

    医学数据库百科
  • gpr格式的芯片原始数据处理(神技能)

    我在生信技能树和生信菜鸟团都系统性总结过常见GEO数据库的芯片处理技巧,但是也有一些小众芯片我懒得去研发它的流程。但是我们生信技能树R语言之统计可视化讲师小洁却...

    生信技能树
  • 时间序列芯片数据分析极详细完整流程

    写在前面:从.CEL格式原始数据下载,到最终关键基因筛选(非hub基因)和初步验证,整个流程,目录还会增加。会涉及R及众多R包(最关键的是maSigpro和WG...

    Y大宽
  • 甲基化芯片数据下载的多种技巧

    前面我们介绍了一些背景知识,主要是理解什么是DNA甲基化,为什么要检测它,以及芯片和测序两个方向的DNA甲基化检测技术。具体介绍在:甲基化的一些基础知识,也了解...

    生信技能树
  • Bioconductor的质谱蛋白组学数据分析

    生信技能树
  • 你要挖的公共数据集作者上传了错误的表达矩阵肿么办(如何让高手心甘情愿的帮你呢?)

    尝试一篇文献的表达差异分析和热图重现,主要参考您Github中GEO-master/GSE42872_main的代码,但我跑出的差异分析列表logFC与文献给出...

    生信技能树
  • 甲基化相关的习题背景补充

    有学徒表示虽然看了我在B站免费分享的视频课程《甲基化芯片(450K或者850K)数据处理 》,详见:免费视频课程《甲基化芯片数据分析》,但是课程过于强调实操,很...

    生信技能树

扫码关注腾讯云开发者

领取腾讯云代金券