码迷,mamicode.com
首页 > 其他好文 > 详细

02、CDF文件

时间:2015-05-22 14:56:25      阅读:159      评论:0      收藏:0      [点我收藏+]

标签:

  有了探针排布图像的基础,我们就可以更好地理解CDF文件了。假如每个探针的位置用一个坐标表示,以左上角为(00),那么整张芯片的坐标就如下图(行数n必须等于列数m,这里共有n*m个探针):

 

0,0

1,0

2,0

3,0

m,0

0,1

 

 

 

 

 

0,2

 

 

 

 

 

0,3

 

 

 

 

 

 

 

 

 

 

0n

 

 

 

 

 

 

 

那么这些探针怎么根据坐标对应到探针组呢?我们来看CDF文件的格式:

 

[CDF]

Version=GC3.0

 

[Chip]

Name=HG-U133A_2

Rows=732

Cols=732

NumberOfUnits=22277

MaxUnit=23214

……

[Unit1000_Block1]

Name=1007_s_at

BlockNumber=1

NumAtoms=16

NumCells=32

StartPosition=0

StopPosition=15

CellHeader=X Y PROBE FEAT ……

Cell1=416 177 N control ……

Cell2=416 178 N control ……

Cell3=569 289 N control ……

……

Cell31=568 9 N control ……

Cell32=568 10 N control ……

 

……

HG-U133A_2是芯片型号,行数(Rows)和列数(Cols)都是732,探针组数目(NumberOfUnits)是22277。其中一个探针组名称为1007_s_at,它包含16对探针,32Cell(一个Cell代表一个探针,一个特征)。我们已经知道,PMMM是成对出现的,而且PM总是在与之对应的MM的上方,由此可判断出Cell1Cell2是一对探针,因为它们的X坐标都是416,且Cell1Y坐标比Cell21Cell1PMCell2是与之对应的MM

我们也可以用R语言来获取1007_s_at探针组的PM/MM探针的位置:

 

library(affy)

rawData <- ReadAffy()

> pmindex(rawData,"1007_s_at") ## MM探针用mmindex(rawData,”1007_s_at”)

$`1007_s_at`

 [1] 129981 212118 393384  84268 429999 425542 431862  72955 431473  99100

[11] 504441 441769 340582 205738 460599 7157

 

这样就能看到1007_s_at探针组的16PM探针在阵列中的位置了。可以看到,这里的位置已经不是用坐标(XY)来表示了,而是用index=(X+Y*列数+1)来表示。如,Cell1是第一个PM,它的X=416Y=177,那么129981就刚好等于416+177*732+1。相反,如果我们知道了位置,怎么反推出它的坐标?如位置index=129981,我们可以:Y=floor((index-1)/列数)=floor((129981-1)/732)=177X=(index-1)-列数*Y=(129981-1)-732*177=416

每种型号的芯片都有着对应的探针定位信息,所以用R语言做分析的时候会自动下载对应的CDF包(若未安装的话),如HG-U133A_2型号下载hgu133a2cdf包。HG-U133A_2是直接从CEL文件读取出来的型号名称,把HG-U133A_2的所有大写字母改成小写字母并去掉短横线(可以用R语言的cleancdfname方法实现),并且在末尾加上“cdf”就是对应的cdf包的名字。

 

02、CDF文件

标签:

原文地址:http://www.cnblogs.com/xianwen/p/4522173.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!