第一个万能芯片探针ID注释平台R包
昨天发布了 GEO数据库中国区镜像横空出世,粉丝们都很happy,因为确实解决了他们的一个拦路虎,以后下载GEO数据再也不用去网吧了。然后开始接近粉丝们的第二个需求,就是探针的ID注释问题。这是一个系列推文,我会推出3个R包,
第一个是整合全部的bioconductor里面的芯片探针注释包。
第二个是整合全部GPL的soft文件里面的芯片探针注释包。
第三个是下载全部的GPL的soft文件里面的探针碱基序列比对后注释包。
一般有三种方法可以得到芯片探针与gene的对应关系:
金标准当然是去基因芯片的厂商的官网直接去下载啦 一种是直接用bioconductor的包。 一种是从NCBI里面下载文件来解析好!
首先,我们说官网,肯定可以找到,不然这种芯片出来就没有意义了!然后,我们看看NCBI下载的,会比较大
http://www.ncbi.nlm.nih.gov/geo/query/acc.cgi?acc=GPL6947
不过,这两种方法都比较麻烦,需要自行摸索很多才能获得比较高质量的芯片注释关系。但是R的bioconductor包其实是有芯片探针与gene的对应关系的,一般重要的芯片在R的bioconductor里面都是有包的。
但是用户需要每个R包独立下载安装后获取芯片探针注释信息
比如下面的这些芯片:
gpl bioc_package title
GPL201 hgfocus [HG-Focus] Affymetrix Human HG-Focus Target Array
GPL96 hgu133a [HG-U133A] Affymetrix Human Genome U133A Array
GPL571 hgu133a2 [HG-U133A_2] Affymetrix Human Genome U133A 2.0 Array
GPL97 hgu133b [HG-U133B] Affymetrix Human Genome U133B Array
GPL570 hgu133plus2 [HG-U133_Plus_2] Affymetrix Human Genome U133 Plus 2.0 Array
GPL13667 hgu219 [HG-U219] Affymetrix Human Genome U219 Array
GPL8300 hgu95av2 [HG_U95Av2] Affymetrix Human Genome U95 Version 2 Array
GPL91 hgu95av2 [HG_U95A] Affymetrix Human Genome U95A Array
GPL92 hgu95b [HG_U95B] Affymetrix Human Genome U95B Array
GPL93 hgu95c [HG_U95C] Affymetrix Human Genome U95C Array
GPL94 hgu95d [HG_U95D] Affymetrix Human Genome U95D Array
GPL95 hgu95e [HG_U95E] Affymetrix Human Genome U95E Array
GPL887 hgug4110b Agilent-012097 Human 1A Microarray (V2) G4110B (Feature Number version)
GPL886 hgug4111a Agilent-011871 Human 1B Microarray G4111A (Feature Number version)
GPL1708 hgug4112a Agilent-012391 Whole Human Genome Oligo Microarray G4112A (Feature Number version)
GPL13497 HsAgilentDesign026652 Agilent-026652 Whole Human Genome Microarray 4x44K v2 (Probe Name version)
GPL6244 hugene10sttranscriptcluster [HuGene-1_0-st] Affymetrix Human Gene 1.0 ST Array [transcript (gene) version]
GPL11532 hugene11sttranscriptcluster [HuGene-1_1-st] Affymetrix Human Gene 1.1 ST Array [transcript (gene) version]
GPL6097 illuminaHumanv1 Illumina human-6 v1.0 expression beadchip
GPL6102 illuminaHumanv2 Illumina human-6 v2.0 expression beadchip
GPL6947 illuminaHumanv3 Illumina HumanHT-12 V3.0 expression beadchip
GPL10558 illuminaHumanv4 Illumina HumanHT-12 V4.0 expression beadchip
GPL6885 illuminaMousev2 Illumina MouseRef-8 v2.0 expression beadchip
GPL81 mgu74av2 [MG_U74Av2] Affymetrix Murine Genome U74A Version 2 Array
GPL82 mgu74bv2 [MG_U74Bv2] Affymetrix Murine Genome U74B Version 2 Array
GPL83 mgu74cv2 [MG_U74Cv2] Affymetrix Murine Genome U74 Version 2 Array
GPL339 moe430a [MOE430A] Affymetrix Mouse Expression 430A Array
GPL6246 mogene10sttranscriptcluster [MoGene-1_0-st] Affymetrix Mouse Gene 1.0 ST Array [transcript (gene) version]
GPL340 mouse4302 [MOE430B] Affymetrix Mouse Expression 430B Array
GPL1261 mouse430a2 [Mouse430_2] Affymetrix Mouse Genome 430 2.0 Array
GPL8321 mouse430a2 [Mouse430A_2] Affymetrix Mouse Genome 430A 2.0 Array
如果用户需要对GPL570 hgu133plus2 [HG-U133_Plus_2] Affymetrix Human Genome U133 Plus 2.0 Array进行注释,就需要:
library(hgu133plus2.db)
ids=toTable(hgu133plus2SYMBOL)
head(ids)
得到的信息如下:
> head(ids)
probe_id symbol
1 1053_at RFC2
2 117_at HSPA6
3 121_at PAX8
4 1255_g_at GUCA1A
5 1316_at THRA
6 1320_at PTPN21
>
很多时候,用户是找不到这些GPL平台对应的R包,或者下载安装困难,其实仅仅是需要探针与基因对应关系,没有必要去下载安装这几十个M的包。
安装我的idmap1包
library(devtools)
install_github("jmzeng1314/idmap1")
library(idmap1)
获取同样的GPL570 hgu133plus2 [HG-U133_Plus_2] Affymetrix Human Genome U133 Plus 2.0 Array注释信息,一行代码就搞定!
ids=getIDs('gpl570')
head(ids)
是不是很方便啦!
一个芯片数据挖掘实战
结合我们昨天的发布的 GEO数据库中国区镜像横空出世,随时随地方便下载GEO数据集,并且进行ID转换!
library(GEOmirror)
library(idmap1)
geoChina('gse6222')
load('GSE6222_eSet.Rdata')
gset
a=exprs(gset[[1]])
a[1:4,1:4]
gset[[1]]@annotation
b=getIDs("GPL570")
head(b)
还有一个小功能
就是对基因名字进行注释
IDs <- c("DDX11L1", "MIR6859-1", "OR4G4P", "OR4F5")
ID_type = "SYMBOL"
annoGene(IDs, ID_type)
简单注释结果如下:
IDs <- c("DDX11L1", "MIR6859-1", "OR4G4P", "OR4F5")
ID_type = "SYMBOL"
annoGene(IDs, ID_type)
SYMBOL biotypes ENSEMBL chr start end
1 DDX11L1 transcribed_unprocessed_pseudogene ENSG00000223972 chr1 11869 14409
5 OR4G4P unprocessed_pseudogene ENSG00000268020 chr1 52473 53312
7 OR4F5 protein_coding ENSG00000186092 chr1 65419 71585
Warning message:
In annoGene(IDs, ID_type) : 25% of input IDs are fail to annotate...
同样的,我们前面注释好的探针基因对应关系,也可以进行进一步注释:
ids=getIDs('gpl570')
head(ids)
annoGene(ids$symbol,'SYMBOL')
得到如下的注释结果:
更多表达芯片的公共数据库挖掘系列更多教程,见推文 ;