一把钥匙配一把锁,专属GPL16686芯片的ID转换






一把钥匙配一把锁,专属GPL16686芯片的ID转换

小果  生信果  2022-11-27 19:00:31

收录于话题

#R#代码#生信实操

小果今天遇到了一个特别的事情,就是找数据的时候,发现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 conversionlibrary(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与ENTREZIDids <- merge(y2,ENTREZID,by ="ACCNUM",all=F) #继续合成新文件ids[1:5,1:5]dim(ids)


这里小果把ENTREZID 和ids保存了一下


这个是ENTREZID,它们长下面这样,这一步是把原文件里的注释转换成了symbol这种大家都能看得懂的通用ID

这个是ids,这一步加上的是表达矩阵里的ID号,这样就可以直接进行ID的转换了。


这就是今天的主要内容了,虽然比较有局限性,但是也能反应我问处理ID转换时的一些规则,虽然不一定用得到,但也可以先了解一下,毕竟技多不压身嘛。小伙伴们有什们问题欢迎来和小果交流讨论啊。

扫码关注我们

shengxinguoer

生信果


生信硬核知识解答

和小果一起学生信