biomart如何调用特定版本的数据库进行注释及ID转换

调用特定版本的BioMart database

在R中安装biomart

if (!requireNamespace("BiocManager", quietly = TRUE))
install.packages("BiocManager")
BiocManager::install("biomaRt")
library(biomaRt)

大家一般用biomart对id进行转换,或者加上其他注释信息,比如gene type等等
但是一直存在的问题是biomart的版本更新很快,比如之前分析数据是下载的ensembl 99版本的GTF文件,但是现在已经是ensembl 104 版本了,不同版本之间的注释信息之间略有不同。所以在ID转换的时候常常会发现有一小部分ID转换不了,这对强迫症患者来说无异于是无法接受的。
这里只针对从ensembl官网下的注释文件,如果是从encode下载的话,那可能需要找到其对应的ensembl版本。
废话不多说,直接上代码,是从http://web.mit.edu/~r/current/arch/i386_linux26/lib/R/library/biomaRt/doc/biomaRt.html#using-archived-versions-of-ensembl
找到的,找了好久。

>library(biomaRt)
>listEnsemblArchives()
             name     date                                url version current_release
1  Ensembl GRCh37 Feb 2014          http://grch37.ensembl.org  GRCh37                
2     Ensembl 104 May 2021 http://may2021.archive.ensembl.org     104               *
3     Ensembl 103 Feb 2021 http://feb2021.archive.ensembl.org     103                
4     Ensembl 102 Nov 2020 http://nov2020.archive.ensembl.org     102                
5     Ensembl 101 Aug 2020 http://aug2020.archive.ensembl.org     101                
6     Ensembl 100 Apr 2020 http://apr2020.archive.ensembl.org     100                
7      Ensembl 99 Jan 2020 http://jan2020.archive.ensembl.org      99                
8      Ensembl 98 Sep 2019 http://sep2019.archive.ensembl.org      98                
9      Ensembl 97 Jul 2019 http://jul2019.archive.ensembl.org      97                
10     Ensembl 96 Apr 2019 http://apr2019.archive.ensembl.org      96                
11     Ensembl 95 Jan 2019 http://jan2019.archive.ensembl.org      95                
12     Ensembl 94 Oct 2018 http://oct2018.archive.ensembl.org      94                
13     Ensembl 93 Jul 2018 http://jul2018.archive.ensembl.org      93                
14     Ensembl 92 Apr 2018 http://apr2018.archive.ensembl.org      92                
15     Ensembl 91 Dec 2017 http://dec2017.archive.ensembl.org      91                
16     Ensembl 90 Aug 2017 http://aug2017.archive.ensembl.org      90                
17     Ensembl 89 May 2017 http://may2017.archive.ensembl.org      89                
18     Ensembl 88 Mar 2017 http://mar2017.archive.ensembl.org      88                
19     Ensembl 87 Dec 2016 http://dec2016.archive.ensembl.org      87                
20     Ensembl 86 Oct 2016 http://oct2016.archive.ensembl.org      86                
21     Ensembl 85 Jul 2016 http://jul2016.archive.ensembl.org      85                
22     Ensembl 80 May 2015 http://may2015.archive.ensembl.org      80                
23     Ensembl 77 Oct 2014 http://oct2014.archive.ensembl.org      77                
24     Ensembl 75 Feb 2014 http://feb2014.archive.ensembl.org      75                
25     Ensembl 67 May 2012 http://may2012.archive.ensembl.org      67                
26     Ensembl 54 May 2009 http://may2009.archive.ensembl.org      54 
##可以看到不同的版本下有一个网址
其中,ensembl 88(可能记错了)之前的是hg19版本,后面的是hg38版本,

如果我们分析数据时下载的时ensembl 99 版本的gtf注释文件,但现在biomart默认的是ensembl 104 版本,那我们可以换成ensembl 99 的版本。

> listMarts(host = 'jan2020.archive.ensembl.org')
               biomart               version
1 ENSEMBL_MART_ENSEMBL      Ensembl Genes 99
2   ENSEMBL_MART_MOUSE      Mouse strains 99
3     ENSEMBL_MART_SNP  Ensembl Variation 99
4 ENSEMBL_MART_FUNCGEN Ensembl Regulation 99

>  ensembl99 <- useMart(host='jan2020.archive.ensembl.org', 
  +                      biomart='ENSEMBL_MART_ENSEMBL', 
  +                      dataset='hsapiens_gene_ensembl')

至此,ensembl 99 版本的human biomart就导入完成了,如果是mouse,则把dataset='hsapiens_gene_ensembl'该成mouse对应的就好了。

结语

最新的ensembl已经不是mm10(GRCm38)版本了,改成了最新的GRCm39,所以可能有些问题,但对于ensembl 101 以及以前的版本,用以上的方法足以切换到对应版本的biomart,同时人类和小鼠的ensembl 版本号是相同的(hg38 ensembl 99 和mm10 ensembl 99 是同一时间更新的,因此host='jan2020.archive.ensembl.org' 这一参数是相同的)

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容