biomaRt包
TCGA | GEO | 文献阅读 | 数据库** **| 理论知识 R语言 | Bioconductor | 服务器与Linux
在之前,我介绍过生物学中常听见的各种ID名称【参考文章:常用生物信息 ID的介绍】,然后介绍了这些ID名称之间的转换。【参考文章:生信中各种ID转换】,这些转换通常都是基于同一物种而言,但在基础医学研究中,很多实验模型都是在动物上完成的,比如小鼠。假如我们研究某药物的抗肿瘤效果,涉及到机制,最终都会往人上靠的,一般几个基因,数据库直接查一下就可以啦。但如果基因很多,人工查就不太现实,一般也是测序后的数据。所以在这里我给大家介绍一下,不同物种之间的同源基因名称转换,这种转换是基于物种间基因的同源性的。同源基因是由一个共同祖先在不同物种中遗传的基因。虽然同源基因在序列上是相似的,但相似的序列不一定是同源的。 可能常见的转换是小鼠和人之间的转换,因为小鼠的基因和人的基因的同源性 ,约80%的小鼠蛋白质在人类基因组中具有严格的1:1种间同源体,其序列同一性通常介于70%~100%。当然跟人类亲缘关系最近的物种是黑猩猩。 好了,我们正式介绍如何把小鼠的gene ID进行同源性映射到人的基因上去? 我们用到的R包是biomaRt包。bioMart包是一个连接bioMart数据库的R语言接口,能通过这个软件包自由连接到bioMart数据库。可以进行各种基因转换。 没有安装过的需要先安装包。
if (!requireNamespace("BiocManager", quietly = TRUE))
install.packages("BiocManager")
BiocManager::install("biomaRt")
library(biomaRt)
> listMarts()
biomart version
1 ENSEMBL_MART_ENSEMBL Ensembl Genes 101
2 ENSEMBL_MART_MOUSE Mouse strains 101
3 ENSEMBL_MART_SNP Ensembl Variation 101
4 ENSEMBL_MART_FUNCGEN Ensembl Regulation 101
> listDatasets(human)
dataset
1 acalliptera_gene_ensembl
2 acarolinensis_gene_ensembl
3 acchrysaetos_gene_ensembl
4 acitrinellus_gene_ensembl
..........
79 hhucho_gene_ensembl
80 hsapiens_gene_ensembl
...........
> listDatasets(mouse)
dataset
1 acalliptera_gene_ensembl
2 acarolinensis_gene_ensembl
3 acchrysaetos_gene_ensembl
4 acitrinellus_gene_ensembl
...........
105 mmurinus_gene_ensembl
106 mmusculus_gene_ensembl
...........
useDataset(dataset,mart, verbose = FALSE)
mart <- useDataset("hsapiens_gene_ensembl", useMart("ensembl"))
> listFilters(mart)
name
1 chromosome_name
2 start
3 end
4 band_start
5 band_end
6 marker_start
human <- useMart('ensembl',dataset = "hsapiens_gene_ensembl")
mouse <- useMart('ensembl',dataset = "mmusculus_gene_ensembl")
m2h.g <- getLDS(attributes = c("mgi_symbol"),filters = "mgi_symbol",
values = mouse.gene,mart = mouse,
attributesL = c("hgnc_symbol","chromosome_name","start_position"),
martL = human,uniqueRows = T)
> head(listAttributes(mouse))
name description page
1 ensembl_gene_id Gene stable ID feature_page
2 ensembl_gene_id_version Gene stable ID version feature_page
3 ensembl_transcript_id Transcript stable ID feature_page
4 ensembl_transcript_id_version Transcript stable ID version feature_page
5 ensembl_peptide_id Protein stable ID feature_page
6 ensembl_peptide_id_version Protein stable ID version feature_page
我们查看一下结果:
> head(m2h.g)
MGI.symbol HGNC.symbol Chromosome.scaffold.name Gene.start..bp.
1 mt-Nd1 MT-ND1 MT 3307
2 Ube2j2 UBE2J2 1 1253909
3 Aurkaip1 AURKAIP1 1 1373730
4 mt-Nd5 MT-ND5 MT 12337
5 Agrn AGRN 1 1020120
6 mt-Co3 MT-CO3 MT 9207
ensg <- c("ENSG00000242268","ENSG00000270112",
"ENSG00000167578","ENSG00000273842",
"ENSG00000078237","ENSG00000146083",
"ENSG00000225275","ENSG00000158486",
"ENSG00000198242","ENSG00000259883",
"ENSG00000231981","ENSG00000269475")
hg_symbols<- getBM(attributes=c('ensembl_gene_id','hgnc_symbol',"chromosome_name", "start_position","end_position", "band"), filters= 'ensembl_gene_id', values = ensg, mart = mart)
参考: http://www.bioconductor.org/packages/release/bioc/html/biomaRt.html 本公众号文章目录:https://www.yuque.com/doublehelix/mbictitles/dmiy4u