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

0,0

1,0

2,0

3,0

m,0

0,1

0,2

0,3

0,n

那么这些探针怎么根据坐标对应到探针组呢?我们来看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对探针,32个Cell(一个Cell代表一个探针,一个特征)。我们已经知道,PM和MM是成对出现的,而且PM总是在与之对应的MM的上方,由此可判断出Cell1和Cell2是一对探针,因为它们的X坐标都是416,且Cell1的Y坐标比Cell2小1,Cell1是PM,Cell2是与之对应的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探针组的16个PM探针在阵列中的位置了。可以看到,这里的位置已经不是用坐标(X,Y)来表示了,而是用index=(X+Y*列数+1)来表示。如,Cell1是第一个PM,它的X=416,Y=177,那么129981就刚好等于416+177*732+1。相反,如果我们知道了位置,怎么反推出它的坐标?如位置index=129981,我们可以:Y=floor((index-1)/列数)=floor((129981-1)/732)=177,X=(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文件的更多相关文章

  1. 关于Mathematica 的cdf 文件的嵌入应用

    // // '); cdf.embed('http://files.cnblogs.com/Leonhard-E/AreaOfANormalDistribution.cdf', 635, 913); ...

  2. oracle 11g 数据库恢复技术 ---02 控制文件

    oracle 11g 数据库恢复技术 ---02 控制文件 SYS@ orcl >show parameter control_file NAME TYPE VALUE ------------ ...

  3. PHP学习笔记 02 之文件上传

    我们了解了表单传值后,这些我就可以完成PHP的文件上传了.我们了解PHP文件上传前,先了解PHP文件上传的原理. 一.PHP上传文件原理 第一步:将本地的文件通过form表单上传到服务器的临时目录中, ...

  4. 【C#进阶系列】02 PE文件,程序集,托管模块,元数据——还是那个Hello world

    好了,还是这张图,还是一样的Hello world. 因为本章其实很多都是讲一些命令行编译啊什么鬼的配置类的东西,要用的时候直接百度或者回头查书就可以了, 所以了解一下也就行了,也没有记录下来,接下来 ...

  5. Android 数据存储02之文件读写

    Android文件读写 版本 修改内容 日期 修改人 V1.0 原始版本 2013/2/25 skywang Android文件读写的有两种方式.一种,是通过标准的JavaIO库去读写.另一种,是通过 ...

  6. OpenCV 学习笔记 02 处理文件、摄像头和图形用户界面

    在处理文件前需要引入OpenCV库,同时也引入unmpy库 import cv2 import numpy as np 1 基本的读写操作 1.1 图像文件的读写操作 1.1.1 图像文件的读取操作 ...

  7. 02 svn 文件提交与目录结构

    一:文件操作给svn服务器提交程序文件: ① 在被提交文件的身上点击右键------> tortoiseSVN----->add ② 在被提交文件身上点击右键------> comm ...

  8. 03、重定义CDF

    有一篇文章“Evolving gene/transcript definitions significantly alter the interpretation of GeneChip data”, ...

  9. .net 实现Office文件预览 Word PPT Excel 2015-01-23 08:47 63人阅读 评论(0) 收藏

    先打个广告: .Net交流群:252713569 本人QQ :524808775 欢迎技术探讨, 近期公司要求上传的PPT和Word都需要可以在线预览.. 小弟我是从来没有接触过这一块的东西 感觉很棘 ...

随机推荐

  1. [BZOJ3611][Heoi2014]大工程(虚树上DP)

    3611: [Heoi2014]大工程 Time Limit: 60 Sec  Memory Limit: 512 MBSubmit: 2464  Solved: 1104[Submit][Statu ...

  2. mysql 查询近三个月数据

    select * from t_user where time>DATE_SUB(CURDATE(), INTERVAL 1 WEEK) --一周 select * from t_user wh ...

  3. mysql 判断时间 语法

    今天  select * from 表名 where to_days(时间字段名) = to_days(now());  昨天  SELECT * FROM 表名 WHERE TO_DAYS( NOW ...

  4. spring eclipse xml自动提示

    window -> preferences -> XML -> XML Catalog -> 在User Specified Entries新增加一个catalog

  5. 第十四周课程总结&记事本功能的简单实现。

    (1)课程总结: 这周简单学习了下JDBC的内容: JDBC API 允许用户访问任何形式的表格数据,尤其是存储在关系数据库中的数据. 执行流程: (1)连接数据源,如:数据库. (2)为数据库传递查 ...

  6. c#使用SharpZipLib对二进制数据进行压缩和解压

    首先需要下载SharpZipLib,下载地址:http://icsharpcode.github.io/SharpZipLib/ 需要引入命名空间: using ICSharpCode.SharpZi ...

  7. 【转】c语言动态与静态分配

    https://blog.csdn.net/qq_43519310/article/details/85274836 https://blog.csdn.net/qq_38906523/article ...

  8. 方法二:Excel 2016 VBA工程密码破解

    将你要破解的Excel文件关闭,切记一定要关闭呀!然后新建一个Excel文件 打开新建的这个Excel,按下alt+F11,打开vb界面,新建一个模块,如图所示 将代码复制到这个模块中,代码如下:Pr ...

  9. 解决ssh链接慢问题

    1,ssh -v root@ip 2,查看哪里卡住了 一般情况就是卡在debug1: SSH2_MSG_SERVICE_ACCEPT received 3,如果是上面卡住了 修改/etc/ssh/ss ...

  10. Linux安装和配置java

    安装文件:jdk-6u45-linux-x64.bin 1.root用户在/usr/local目录下建立java目录 2.拷贝jdk-6u45-linux-x64.bin到/usr/local/jav ...