有一篇文章“Evolving gene/transcript definitions significantly alter the interpretation of GeneChip data”,提到了“Our results demonstrate that the original Affymetrix probe set definitions are inaccurate, and many conclusions derived from past GeneChip analyses 40 may be significantly flawed. It will be beneficial to re-analyze existing GeneChip data with updated probe set definitions”,意思是说原始的Affymetrix探针组定义是不准确、过时的,要重定义探针组(Custom CDF)。

重定义的格式包括:

名称

含义

ENTREZG

REFSEQ

ENSG

ENSE

ENST

VEGAG

VEGAE

VEGAT

TAIRG

TAIRT

UG

MIRBASEF

MIRBASEG

物种包括:

名称

含义

简写

Anopheles gambiae

冈比亚疟蚊

Ag

Arabidopsis thaliana

拟南芥

At

Bos taurus

Bt

Caenorhabditis elegans

秀丽隐杆线虫

Ce

Canis familiaris

犬类

Cf

Danio rerio

鲐鱼类

Dr

Drosophila melanogaster

黑腹果蝇

Dm

Gallus gallus

原鸡

Gg

Homo sapiens

人类

Hs

Macaca mulatta

猕猴

MAmu

Mus musculus

小家鼠

Mm

Oryza sativa

Os

Rattus norvegicus

鼠类

Rn

Saccharomyces cerevisiae

酿酒酵母

Sc

Schizosaccharomyces pombe

粟酒裂殖酵母

Sp

Sus scrofa

野猪

Ss

在“02、CDF文件”中提到过,每种型号的芯片都有着对应CDF包,那么重定义后CDF的名称命名如下(加号代表连接,不要写进去):

原CDF包名+物种简写小写+格式名小写

如HG-U133_Plus_2阵列原本对应hgu133plus2包,如果选择了Homo sapiens(人类物种),ENSG格式,那么就对应hgu133plus2hsensgcdf包了。

获取hgu133plus2的探针组名称,可以:

library(affy)     ## 导入affy包
cdfname <- "hgu133plus2"
cdfname <-"hgu133plus2hsensgcdf"
how = getOption("BioC")$affy$probesloc
verbose = FALSE
badOut <- list()
for (i in :length(how))
{
cur <- how[[i]]
envir <- switch(cur$what,
environment = cdfFromEnvironment(cdfname, cur$where, verbose),
libPath = cdfFromLibPath(cdfname, cur$where, verbose = verbose),
bioC = cdfFromBioC(cdfname, cur$where, verbose))
}
genenames <- ls(envir) ## 探针组名称
> length(genenames) ## 探针组个数
[]
> genenames[:] ## 输出前100个探针组名称
[] "1007_s_at" "1053_at" "117_at" "121_at"
[] "1255_g_at" "1294_at" "1316_at" "1320_at"
[] "1405_i_at" "1431_at" "1438_at" "1487_at"
[] "1494_f_at" "1552256_a_at" "1552257_a_at" "1552258_at"
[] "1552261_at" "1552263_at" "1552264_a_at" "1552266_at"
[] "1552269_at" "1552271_at" "1552272_a_at" "1552274_at"
[] "1552275_s_at" "1552276_a_at" "1552277_a_at" "1552278_a_at"
[] "1552279_a_at" "1552280_at" "1552281_at" "1552283_s_at"
[] "1552286_at" "1552287_s_at" "1552288_at" "1552289_a_at"
[] "1552291_at" "1552293_at" "1552295_a_at" "1552296_at"
[] "1552299_at" "1552301_a_at" "1552302_at" "1552303_a_at"
[] "1552304_at" "1552306_at" "1552307_a_at" "1552309_a_at"
[] "1552310_at" "1552311_a_at" "1552312_a_at" "1552314_a_at"
[] "1552315_at" "1552316_a_at" "1552318_at" "1552319_a_at"
[] "1552320_a_at" "1552321_a_at" "1552322_at" "1552323_s_at"
[] "1552325_at" "1552326_a_at" "1552327_at" "1552329_at"
[] "1552330_at" "1552332_at" "1552334_at" "1552335_at"
[] "1552337_s_at" "1552338_at" "1552340_at" "1552343_s_at"
[] "1552344_s_at" "1552347_at" "1552348_at" "1552349_a_at"
[] "1552354_at" "1552355_s_at" "1552359_at" "1552360_a_at"
[] "1552362_a_at" "1552364_s_at" "1552365_at" "1552367_a_at"
[] "1552368_at" "1552370_at" "1552372_at" "1552373_s_at"
[] "1552375_at" "1552377_s_at" "1552378_s_at" "1552379_at"
[] "1552381_at" "1552383_at" "1552384_a_at" "1552386_at"
[] "1552388_at" "1552389_at" "1552390_a_at" "1552391_at"

获取hgu133aplus2_Hs_ENSG的探针组名称,把上面的cdfname换成"hgu133plus2hsensgcdf"即可,最后得到以下结果:

> length(genenames)    ## 重定义后的探针组数目
[]
> genenames[:] ## 重定义后的探针组名称的前100个
[] "AFFX-BioB-3_at" "AFFX-BioB-5_at"
[] "AFFX-BioB-M_at" "AFFX-BioC-3_at"
[] "AFFX-BioC-5_at" "AFFX-BioDn-3_at"
[] "AFFX-BioDn-5_at" "AFFX-CreX-3_at"
[] "AFFX-CreX-5_at" "AFFX-DapX-3_at"
[] "AFFX-DapX-5_at" "AFFX-DapX-M_at"
[] "AFFX-HSAC07/X00351_3_at" "AFFX-HSAC07/X00351_5_at"
[] "AFFX-HSAC07/X00351_M_at" "AFFX-hum_alu_at"
[] "AFFX-HUMGAPDH/M33197_3_at" "AFFX-HUMGAPDH/M33197_5_at"
[] "AFFX-HUMGAPDH/M33197_M_at" "AFFX-HUMISGF3A/M97935_3_at"
[] "AFFX-HUMISGF3A/M97935_5_at" "AFFX-HUMISGF3A/M97935_MA_at"
[] "AFFX-HUMISGF3A/M97935_MB_at" "AFFX-HUMRGE/M10098_3_at"
[] "AFFX-HUMRGE/M10098_5_at" "AFFX-HUMRGE/M10098_M_at"
[] "AFFX-LysX-3_at" "AFFX-LysX-5_at"
[] "AFFX-LysX-M_at" "AFFX-M27830_3_at"
[] "AFFX-M27830_5_at" "AFFX-M27830_M_at"
[] "AFFX-PheX-3_at" "AFFX-PheX-5_at"
[] "AFFX-PheX-M_at" "AFFX-r2-Bs-dap-3_at"
[] "AFFX-r2-Bs-dap-5_at" "AFFX-r2-Bs-dap-M_at"
[] "AFFX-r2-Bs-lys-3_at" "AFFX-r2-Bs-lys-5_at"
[] "AFFX-r2-Bs-lys-M_at" "AFFX-r2-Bs-phe-3_at"
[] "AFFX-r2-Bs-phe-5_at" "AFFX-r2-Bs-phe-M_at"
[] "AFFX-r2-Bs-thr-3_s_at" "AFFX-r2-Bs-thr-5_s_at"
[] "AFFX-r2-Bs-thr-M_s_at" "AFFX-r2-Ec-bioB-3_at"
[] "AFFX-r2-Ec-bioB-5_at" "AFFX-r2-Ec-bioB-M_at"
[] "AFFX-r2-Ec-bioC-3_at" "AFFX-r2-Ec-bioC-5_at"
[] "AFFX-r2-Ec-bioD-3_at" "AFFX-r2-Ec-bioD-5_at"
[] "AFFX-r2-P1-cre-3_at" "AFFX-r2-P1-cre-5_at"
[] "AFFX-ThrX-3_at" "AFFX-ThrX-5_at"
[] "AFFX-ThrX-M_at" "AFFX-TrpnX-3_at"
[] "AFFX-TrpnX-5_at" "AFFX-TrpnX-M_at"
[] "ENSG00000000003_at" "ENSG00000000005_at"
[] "ENSG00000000419_at" "ENSG00000000457_at"
[] "ENSG00000000460_at" "ENSG00000000938_at"
[] "ENSG00000000971_at" "ENSG00000001036_at"
[] "ENSG00000001084_at" "ENSG00000001167_at"
[] "ENSG00000001460_at" "ENSG00000001461_at"
[] "ENSG00000001497_at" "ENSG00000001561_at"
[] "ENSG00000001617_at" "ENSG00000001626_at"
[] "ENSG00000001629_at" "ENSG00000001631_at"
[] "ENSG00000002016_at" "ENSG00000002079_at"
[] "ENSG00000002330_at" "ENSG00000002549_at"
[] "ENSG00000002586_at" "ENSG00000002587_at"
[] "ENSG00000002726_at" "ENSG00000002745_at"
[] "ENSG00000002746_at" "ENSG00000002822_at"
[] "ENSG00000002834_at" "ENSG00000002919_at"
[] "ENSG00000002933_at" "ENSG00000003056_at"
[] "ENSG00000003096_at" "ENSG00000003137_at"
[] "ENSG00000003147_at" "ENSG00000003249_at"
[] "ENSG00000003393_at" "ENSG00000003400_at"

从结果可以看出,hgu133plus2有54675个探针组,而hgu133plus2hsensgcdf只有20009个探针组,这是因为有些探针组被合并起来了,可能还有一些被舍弃掉。

03、重定义CDF的更多相关文章

  1. 通过DBMS_REDEFINITION包对表在线重定义

    基础介绍 Oracle Online Redefinition可以保证在数据表进行DDL类型操作,如插入.删除数据列,分区处理的时候,还能够支持DML操作,特别是insert/update/delet ...

  2. C++中重定义的问题——问题的实质是声明和定义的关系以及分离式编译的原理

    这里的问题实质是我们在头文件中直接定义全局变量或者函数,却分别在主函数和对应的cpp文件中包含了两次,于是在编译的时候这个变量或者函数被定义了两次,问题就出现了,因此,我们应该形成一种编码风格,即: ...

  3. Oracle 在线重定义表分区

    ==================原始表================原始表=====================原始表 create table BUILDING_temp(building ...

  4. oracle普通表转分区表(在线重定义方式)

    1.1.TAB_TAOBAO_BILL 1.1.1检查下这张表是否可以在线重定义,无报错表示可以,报错会给出错误信息: exec dbms_redefinition.can_redef_table(' ...

  5. Oracle在线重定义DBMS_REDEFINITION 普通表—>分区表

    实验环境:RHEL 6.4 + Oracle 11.2.0.3实验:在线重定义 普通表 为 分区表,包括主键对应的索引都改造为分区索引. 1,构造普通表t_objects conn test1/tes ...

  6. C++ 重载、重写、重定义

    出自:http://blog.163.com/clevertanglei900@126/blog/ 1 成员函数重载特征: a 相同的范围(在同一个类中) b 函数名字相同 c 参数不同 d virt ...

  7. C++学习笔记 封装 继承 多态 重写 重载 重定义

    C++ 三大特性 封装,继承,多态 封装 定义:封装就是将抽象得到的数据和行为相结合,形成一个有机的整体,也就是将数据与操作数据的源代码进行有机的结合,形成类,其中数据和函数都是类的成员,目的在于将对 ...

  8. warning C4005: “AF_IPX”: 宏重定义的解决办法

    warning C4005: “AF_IPX”: 宏重定义warning C4005: “AF_IPX”: 宏重定义 解决方法: 由以上代码可以看出如果在没有定义WIN32_LEAN_AND_MEAN ...

  9. struct 类型重定义

    类型定义的那个头文件只需要在功能源文件里#include 开始在主函数源文件里也#include,所以出现了重定义

随机推荐

  1. vue-cli中route和router的区别

    在使用vue-router的时候经常分不清router和route的区别: 在函数式编程中: this.$router.push('/login') 或者Router.push() 在动态获取路由参数 ...

  2. Mybatis笔记总结

    第一.Mybatis介绍 MyBatis 本是apache的一个开源项目iBatis, 2010年这个项目由apache software foundation 迁移到了google code,并且改 ...

  3. Linux如何永久打开端口

    由于防火墙导致同局域网无法通过IP访问,Linux有多种防火墙,需要查看当前使用的防火墙(开机自启),再进行配置  以下是 iptables 和 firewall 防火墙的相关配置,切忌将自己配置的防 ...

  4. 调用百度API写了一个js翻译小工具

    目前还未完成的功能有:textarea高度自适应,移动端与pc端都写了.效果如图: html: <!DOCTYPE html> <html lang="en"&g ...

  5. vue router 如何使用params query传参,以及有什么区别

    写在前面: 传参是前端经常需要用的一个操作,很多场景都会需要用到上个页面的参数,本文将会详细介绍vue router 是如何进行传参的,以及一些小细节问题.有需要的朋友可以做一下参考,喜欢的可以点波赞 ...

  6. html_javascript 基础操作

    <!DOCTYPE html> <html> <body> <h1>My Web Page</h1> <p id="demo ...

  7. directshow播放摄像头卡死问题

    最近遇到一个坑,directshow显示摄像头的时候,使用无窗口模式结果在浏览器插件里面界面卡死,但是控制台下面的句柄传过去却能正常播放 刚开始以为是调用的参数问题,琢磨了几天硬是搞不定,最后想到插件 ...

  8. android 播放音乐媒体文件(三)

    看段小代码: mMediaPlayer.setAudioStreamType(AudioManager.STREAM_MUSIC);mMediaPlayer.setDataSource(url);mM ...

  9. java 设计模式 单例模式之饿汉模式/懒汉模式 singleton pattern

    https://v.qq.com/x/page/e0364ung5zp.html 讲的不错, 关于 饿汉式单例模式 code Student 类: package com.test;//单例模式之   ...

  10. IDEA全局配置

    进入全局设置界面: 取消每次启动IDEA就默认打开上一次最后关闭的项目 编译器代码字体设置: 控制台字体大小和颜色设置 同一个文件代码里面的各个不同方法之间显示分割线 代码自动提示不区分大小写 格式化 ...