一把钥匙配一把锁,专属GPL16686芯片的ID转换
小果今天遇到了一个特别的事情,就是找数据的时候,发现GPL16686的探针号不能直接转换为基因symbol,小果去搜了一下,发现原来这个芯片需要专门的转换方式
下面就让我们一起来看一下这个代码吧
代码如下
rm(list = ls())
options(stringsAsFactors = F)
#读入soft文件
library(GEOquery)
gse83452 <- getGEO(filename = "GSE83452_family.soft.gz",destdir = ".") #这个文件需要自己去手动下载,一般会比较大,小云的这个是75.9M,这是压缩后的体积呦。
dim(gse83452) #这里小云在做的时候,得到的其实是NULL,但是不影响后面的结果
y <- gse83452@gpls$GPL16686@dataTable@table #这一步就是把需要的部分提取出来。
dim(y)
head(y)
y[1:4,1:8]
#### id conversion
library(org.Hs.eg.db) #启动程序包,ID转换的信息就是从这里来的。
library(clusterProfiler)
ENTREZID<- bitr(y[,6], fromType = "ACCNUM",
toType=c("SYMBOL","ENSEMBL","ENTREZID"),
OrgDb = org.Hs.eg.db) #这一步就是在进行ID转换了。
ls(package:clusterProfiler)
dim(ENTREZID)
ENTREZID[1:5,1:4]
save(y,ENTREZID,file = "ids.Rdata") #保存一下我们的结果
#ids过滤探针
table(y$GB_ACC %in% ENTREZID$ACCNUM)
y1 <- y[y$GB_ACC %in% ENTREZID$ACCNUM,]
y1[1:5,1:8]
y2 <- y1[,c(1,6)]
names(y2) <- c("probe_id","ACCNUM")
#合并y2与ENTREZID
ids <- merge(y2,ENTREZID,by ="ACCNUM",all=F) #继续合成新文件
ids[1:5,1:5]
dim(ids)
这里小果把ENTREZID 和ids保存了一下
这个是ENTREZID,它们长下面这样,这一步是把原文件里的注释转换成了symbol这种大家都能看得懂的通用ID
这个是ids,这一步加上的是表达矩阵里的ID号,这样就可以直接进行ID的转换了。
这就是今天的主要内容了,虽然比较有局限性,但是也能反应我问处理ID转换时的一些规则,虽然不一定用得到,但也可以先了解一下,毕竟技多不压身嘛。小伙伴们有什们问题欢迎来和小果交流讨论啊。
扫码关注我们
shengxinguoer
生信果
生信硬核知识解答
和小果一起学生信