分享

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

 生信修炼手册 2022-04-13

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

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

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

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

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

部分内容截图如下

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

http://master./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")
·end·

    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多