美文网首页R语言做生信生信必备生物知识
GEO芯片中的NM_,NR_开头的识别号如何转换成基因名称?

GEO芯片中的NM_,NR_开头的识别号如何转换成基因名称?

作者: 9d760c7ce737 | 来源:发表于2019-04-23 16:18 被阅读1次

我们以前写过一个很长的帖子,就将GEO的芯片处理,而且还给出了一个导学视频。
来完成你的生信作业,这是最有诚意的GEO数据库教程

里面有一个很重要的步骤就是,探针和ID的转换。除了使用R包注释,没有R包,我们可以自己从平台文件中获取探针和基因的对应关系。
skr!GEO芯片数据的探针ID转换
有些GEO平台的探针转换比较麻烦
正则表达式是我们认识世界的哲学

其中有一些平台是没有明显探针和基因对应关系的,比如GPL16686平台


其中唯一我们认识的可能是,GB_ACC 这一栏,其中NM,NR似曾相识,实际上他们是
RefSeq的基因识别号。

RefSeq is the NCBI database of reference sequences; a curated, non-redundant set including genomic DNA contigs, mRNAs and proteins for known genes, and entire chromosomes.

对应的关系如图所示:


那么我们先把NM开头转换试一下,使用ensemble旗下的一个包biomaRt
按照并加载

BiocManager::install("biomaRt")
library(biomaRt)

useMart函数获得要用的数据库

ensembl = useMart(biomart="ensembl",dataset="hsapiens_gene_ensembl")

还可以知道他的版本号

searchDatasets(mart = ensembl, pattern = "hsapiens")

创建要转换的名称:

refseqids = c("NM_005359","NM_000546")

使用getBM函数来转换

ipro = getBM(attributes=c("refseq_mrna","hgnc_symbol"), 
             filters="refseq_mrna",
             values=refseqids, 
             mart=ensembl)
  • 其中attributes参数输入的是要返回的列,可以是多个,通过listAttributes函数可以获取可输入的attributes,很多,有2722个,
listAttributes <- listAttributes(mart = ensembl)
  • filters参数指定要转换的基因目前是什么格式。
  • values参数输入要转换的基因。
  • mart参数指定要使用的数据库

最终的结果是这样的:


当然,我们NR_开头的还没弄呢,如何弄是个问题,因为我们不知道他名称的Attributes是什么,又比如,NM_ 开头的用refseq_mrna来表示,我是怎么知道的呢,官方示例文件里面就是这个样子的。
我猜想,NR_ 的表示方式应该差不多,一定含有refseq字样,所以,我就到Attributes中去抓取。

listAttributes <- listAttributes(mart = ensembl)
index <- grep("refseq",listAttributes$name)
listAttributes[index,]

这样我就知道NR_ 开头的用refseq_ncrna来表示。下面进行NR_ 系列的转换。

refseqids = c("NR_036215","NR_026927","NR_015434")
ipro = getBM(attributes=c("refseq_ncrna","hgnc_symbol"), 
             filters="refseq_ncrna",
             values=refseqids, 
             mart=ensembl)

输入三个,出来两个,意味着不是每一个可以转换


这时候我们就可以分别操作,再合并,最终merge一下就可以了。
也欢迎大家提供不好转换的平台号,我有时间,一一处理。在公众号同名帖子下面留言即可。

相关文章

网友评论

    本文标题:GEO芯片中的NM_,NR_开头的识别号如何转换成基因名称?

    本文链接:https://www.haomeiwen.com/subject/toncvqtx.html