biomaRt包的安裝就不細(xì)說了,說說怎么轉(zhuǎn)換ID,假設(shè)我們拿到的是一個(gè)轉(zhuǎn)錄本ENST00000370368,想看看它的基因是啥,這里面使用的主要功能是getBM()。
加載包
library(biomaRt)
Biomart目前提供了四種數(shù)據(jù)庫(kù),可以使用listMarts()函數(shù)查看:
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數(shù)據(jù)庫(kù)中包含了212個(gè)數(shù)據(jù)集,我們選擇"hsapiens_gene_ensembl"
dataset=listDatasets(mart)
View(dataset)
mydataset=useDataset("hsapiens_gene_ensembl",mart=mart)
也就是說獲得mydataset,需要上面2個(gè)步驟,1,指定數(shù)據(jù)庫(kù);2,指定數(shù)據(jù)集。
接下來就是轉(zhuǎn)換ID了
attributers()里面的值為我們輸出的ID類型,這里需要知道自己能夠使用的轉(zhuǎn)換數(shù)據(jù)屬于啥類型,比如ENST開頭是ensemble轉(zhuǎn)錄本,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= 我們要查詢的數(shù)據(jù)
mart= 我們上面所選定的數(shù)據(jù)庫(kù)的基因組
hg_symbols<- getBM(attributes=c('ensembl_gene_id','hgnc_symbol',"refseq_mrna"), filters= 'ensembl_transcript_id', values=ensembl_id, mart = mydataset)
我們還可以查看該基因在那個(gè)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)