当前位置 : 主页 > 编程语言 > java >

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

来源:互联网 收集:自由互联 发布时间:2022-06-23
后缀为cel的芯片文件,对应的芯片平台为Affymetrix,针对这一平台的数据,可以通过 R包affy来读取,读取时我们需要以下两种文件 1. 后缀为cel的探针荧光信号强度文件 2. 后缀为cdf的探针布


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

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

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

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

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

部分内容截图如下

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

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

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

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

在读取数据的过程中,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·

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

一个只分享干货的

生信公众号

上一篇:深度学习基本概念|自然语言处理
下一篇:没有了
网友评论