前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >第二个万能芯片探针ID注释平台R包

第二个万能芯片探针ID注释平台R包

作者头像
生信技能树
发布2019-12-05 10:34:44
5.9K0
发布2019-12-05 10:34:44
举报

整合全部表达芯片平台的soft文件并且提取基因symbol和探针对应关系

前面我们提到过表达芯片探针注释的3种方法,参见:第一个万能芯片探针ID注释平台R包, 并且帮助大家搞定了第一种bioconductor包的方法,大家无需下载几十个bioconductor包,然后自己一个个提取基因信息,我全部为大家做好啦,也就是 idmap1 这个目前host在GitHub的R包:

  • https://github.com/jmzeng1314/idmap1

现在我们来说说第二个万能芯片探针ID注释平台包。一定要跟我们的 idmap1 区分开来哦,那个idmap1仅仅是把bioconductor里面有的37个芯片平台整合了一下,而我们的这个idmap2包不得了啦,有122个GPL之多,它们的6G多的soft信息被我下载整理成为了不到40M的R包。

首先理解芯片平台的soft信息

NCBI官网可以下载所有的gpl平台的soft信息,会比较大(100多个平台全部下载需要6G以上的空间)

  • http://www.ncbi.nlm.nih.gov/geo/query/acc.cgi?acc=GPL6947

不同的gpl平台的soft信息不一样,一般来说,大家关心的其实就是探针的ID,以及基因的symbol列。

有一些平台还会提供探针序列:

我已经帮助大家下载整理好了全部的GPL平台的芯片探针列,以及其对应的基因列,整理打包成为一个R包方便大家使用,直接获取探针对应的基因symbol即可。

安装我的idmap2包

一定要跟我们的 idmap1 区分开来哦,那个idmap1是把bioconductor里面有的37个芯片平台整合了一下,而我们的这个idmap2包不得了啦,有122个GPL之多,它们的6G多的soft信息被我下载整理成为了不到40M的R包。

library(devtools)
install_github("jmzeng1314/idmap2")
library(idmap2)

因为有40M,所以下载安装会比较慢哦,喝杯咖啡吧!也欢迎赞助我一杯咖啡,我们一起喝!

关于GitHub下载困难

在中国大陆,大部分人访问GitHub还是很困难的,如果你成功下载并且安装,结果如下:

如果你确实无法下载, 就需要下载我的微云版本:https://share.weiyun.com/5ZA9n6M(注意:微云链接很有可能被封杀,所以大家如果下载失败就需要看公众号留言哈,获取最新链接)

然后参考我以前的教程:安装GitHub的R包困难解决方案

也可以迅雷下载GitHub的我的这个项目的文件夹:

https://codeload.github.com/jmzeng1314/idmap2/legacy.tar.gz/master

使用idmap2

同样的获取同样的GPL570 hgu133plus2 [HG-U133_Plus_2] Affymetrix Human Genome U133 Plus 2.0 Array注释信息,一行代码就搞定!

library(idmap1)
ids=getIDs('gpl570')
head(ids)
library(idmap2)
ids=get_soft_IDs('gpl570')
head(ids)

可以看到两个包的两个函数非常类似,只需要你提供gpl即可,是不是很方便啦!

当然了,第二个包有一百多个平台,而第一个只有37个,注意哦,比如

idmap1::getIDs('GPL13912') # 失败
idmap2::get_soft_IDs('GPL13912') # 成功

这个 GPL13912 平台,就存在于第二个包,但是不在第一个哈。

你想知道我们支持哪些平台吗,当然是可以看的:

data(gpl_list)
gpl_list[,1:4]

希望你的平台,在我们的列表,能帮助你进行芯片注释。

一个芯片数据挖掘实战

结合我们发布的 GEO数据库中国区镜像横空出世,随时随地方便下载GEO数据集,并且进行ID转换!

library(GEOmirror)
library(idmap1) 
library(idmap2) 
gset=geoChina('GSE31731') 
gset
a=exprs(gset[[1]])
a[1:4,1:4]
gpl=gset[[1]]@annotation
b=idmap2::get_soft_IDs(gpl)
head(b)

可以看到, 有一些表达矩阵,虽然是芯片做的,但是作者其实并不太懂,上传的时候把探针都漏掉了。不过,还是可以按照行对应过来。

一个R考核题-多个芯片平台的探针序列输出到fasta文件

前面我们不是提到过,这些芯片有的其实是提供fasta序列了的。那么我们就出一个题目吧:有一个数据框,第一列是探针ID,第二列是探针的碱基序列,第三列是芯片平台,模拟数据代码如下;

options(stringsAsFactors = F)
set.seed(123)
ns=sample(1:1000,10)
seqs = do.call(rbind,lapply(ns, function(n){
  # n=ns[1]
  id=paste0('id',1:n)
  seq=rep('aaacccgggtttcccggaaa',n)
  gpl=paste0('gpl',n)
  df=data.frame(id,seq,gpl)
  return(df)
}))
unique(seqs$gpl)
# 这个 seqs 数据框里面,有10个gpl平台,需要拆分成为10个单独的文件
# 把序列fasta格式化
x=as.vector(seqs[1, ])
paste0('>',x[1],'\n',x[2]) 
# 这个就是fasta序列。

复制粘贴这个代码到你的R里面,然后慢慢思考吧。

更多表达芯片的公共数据库挖掘系列更多教程,见推文 ;

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2019-12-03,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 生信技能树 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 首先理解芯片平台的soft信息
  • 安装我的idmap2包
    • 关于GitHub下载困难
    • 使用idmap2
    • 一个芯片数据挖掘实战
    • 一个R考核题-多个芯片平台的探针序列输出到fasta文件
    相关产品与服务
    数据库
    云数据库为企业提供了完善的关系型数据库、非关系型数据库、分析型数据库和数据库生态工具。您可以通过产品选择和组合搭建,轻松实现高可靠、高可用性、高性能等数据库需求。云数据库服务也可大幅减少您的运维工作量,更专注于业务发展,让企业一站式享受数据上云及分布式架构的技术红利!
    领券
    问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档