biomaRt转换基因ID

biomaRt包的安装就不细说了,说说怎么转换ID,假设我们拿到的是一个转录本ENST00000370368,想看看它的基因是啥,这里面使用的主要功能是getBM()。

加载包

library(biomaRt)

Biomart目前提供了四种数据库,可以使用listMarts()函数查看:

listMarts()
               biomart                version
1 ENSEMBL_MART_ENSEMBL      Ensembl Genes 104
2   ENSEMBL_MART_MOUSE      Mouse strains 104
3     ENSEMBL_MART_SNP  Ensembl Variation 104
4 ENSEMBL_MART_FUNCGEN Ensembl Regulation 104

我们使用ensembl

mart<-useMart("ensembl")

在ensembl数据库中包含了212个数据集,我们选择"hsapiens_gene_ensembl"

dataset=listDatasets(mart)
View(dataset)
mydataset=useDataset("hsapiens_gene_ensembl",mart=mart)

也就是说获得mydataset,需要上面2个步骤,1,指定数据库;2,指定数据集。

接下来就是转换ID了

attributers()里面的值为我们输出的ID类型,这里需要知道自己能够使用的转换数据属于啥类型,比如ENST开头是ensemble转录本,NM开头是refseq_mrna,rs开头的是refsnp_id,例如rs776746。ensembl_gene_id指的是ENSG开头。

要说明的是snpmart <- useEnsembl(biomart="SNP",dataset = "hsapiens_snp")这里选择SNP,另外还可以选择gene,后面属性是不同的,可以用listAttributes(snpmart)查看。
Attributes you want to retrieve. A possible list of attributes can be retrieved using the function listAttributes.
filters()里面的值为我们输入的ID类型
values= 我们要查询的数据
mart= 我们上面所选定的数据库的基因组

hg_symbols<- getBM(attributes=c('ensembl_gene_id','hgnc_symbol',"refseq_mrna"), filters= 'ensembl_transcript_id', values=ensembl_id, mart = mydataset)

我们还可以查看该基因在那个go富集通路

go<- getBM(attributes=c('ensembl_gene_id','hgnc_symbol',"refseq_mrna","go_id"), filters= 'ensembl_transcript_id', values=ensembl_id, mart = mydataset)

反过来,我们还可以查看go富集通路包含哪些基因

go<- getBM(attributes=c('ensembl_gene_id','hgnc_symbol',"refseq_mrna"), filters= 'go', values='GO:0097190', mart = mydataset)
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容