个人笔记,内容转自曾健民老师
第一个万能芯片探针ID注释R包,整合全部的bioconductor里面的芯片探针注释包
library(devtools)
install_github("jmzeng1314/idmap1")
library(idmap1)
idsymbol=getIDs('gpl570')
head(idsymbol)
第二个是整合全部GPL的soft文件里面的芯片探针注释包
library(devtools)
install_github("jmzeng1314/idmap2")
library(idmap2)
idsymbol=get_soft_IDs('gpl570')
head(idsymbol)
第二个包有一百多个平台,而第一个只有37个,比如
idmap1::getIDs('GPL13912')# 失败
idmap2::get_soft_IDs('GPL13912')# 成功
而实际上仍有大量的GPL平台的soft文件并不提供基因注释,只提供探针碱基序列,例如GPL21827,这个时候就需要我们的idmap3啦!
library(devtools)
install_github("jmzeng1314/idmap3")
library(idmap3)
idsymbol=idmap3::get_pipe_IDs('GPL21827')
head(idsymbol)
idmap3支持的平台:
data(gpl_list)
gpl_list[,1:4]
比较soft文件自带的注释信息和idmap3注释
rm(list = ls())
options(stringsAsFactors = F)
library(idmap2)
library(idmap3)
# Agilent-011521 Human 1A Microarray G4110A (Feature Number version) GPL885
ids2=get_soft_IDs('GPL885')
ids3=get_pipe_IDs('GPL885')
tmp=merge(ids2,ids3,by.x='ID',by.y='probe_id')
table(tmp$symbol.x==tmp$symbol.y)
length(unique(tmp[,1]))
length(unique(tmp[tmp$symbol.x==tmp$symbol.y,1]))
length(unique(tmp[tmp$symbol.x!=tmp$symbol.y,1]))
可以看到使用平台自带的soft文件注释的跟idmap3注释的有出入,可能原因:有的lncRNA和基因本身就是有重叠的,原平台文件注释的基因未更新。