1.bioMart包的介紹
bioMart包是一個連接bioMart數據庫的R語言接口,能通過這個軟件包自由連接到bioMart數據庫,這個包可以做以下幾個工作:
1.查找某個基因在染色體上的位置。反之,給定染色體每一區間,返回該區間的基因;
2.通過EntrezGene的ID查找到相關序列的GO注釋。反之,給定相關的GO注釋,獲取相關的EntrezGene的ID;
3.通過EntrezGene的ID查找到相關序列的上游100bp序列(可能包含啟動子等調控元件);
4.查找人類染色體上每一段區域中已知的SNPs;
5.給定一組的序列ID,獲得其中具體的序列;
2.bioMart的安裝以及基本功能
1.biomart的安裝biomaRt需要通過biomanager來安裝,首先安裝biomanager,然后安裝biomaRt
> install.packages("BiocManager") > BiocManager::install("biomaRt")
2.載入biomaRt並顯示一下能連接的數據庫
>library("biomaRt") >listMarts()
這里我們選擇ensembl數據庫
3..用useMart函數選定數據庫
>mart<-useMart("emsembl")
這里我們要獲取的基因注釋的基因是人類基因,所以選擇hsapiens_gene_ensembl,通過以下代碼來選擇emsembl庫的人類參考基因組來分析
mart <- useMart("ensembl","hsapiens_gene_ensembl")##小鼠選擇mmusculus_gene_ensembl
4.用listFilters()函數選定輸入的ID類型
然后,你需要知道輸入的是什么類型的ID,即轉換前的ID類型,如:
ENSG00000000003或ENMUSG000000003,屬於類型為ensembl_gene_id;
ENST00000000233或ENMUST00000000233,屬於類型為ensembl_transcript_id;
102178245,屬於類型為entrezgene;
Hoxc13,屬於類型為external_gene_name;
NM_000014,屬於類型為refseq_mrna;
hsa-let-7a-1,屬於類型為mirbase_id;
用listFilters()函數查看可選擇的輸入類型,listFilters(mart)一共顯示了446行,一共包括name和description兩列,這里只截取一部分
>listFilters(mart)
5.用listAttributes()函數選定輸出的ID類型
要想知道biomaRt支持哪些ID類型的輸出,可以通過以下命令查看,共支持3607種ID輸出,這里只截取了一部分輸出,一共有name和description兩列
listAttributes(mart)
6.用getBM()函數獲取注釋
hg_symbols<- getBM(attributes=c('ensembl_gene_id','hgnc_symbol',"chromosome_name", "start_position","end_position", "band"), filters= 'ensembl_gene_id', gene = my_ensembl_gene_id, mart = mart)
這個函數有4個參數
filters()里面的值為我們輸入的ID類型
gene= 這個值就是我們要輸入的數據
mart= 這個值是我們所選定的數據庫的基因組
3.biomaRt實例操作
setwd("C:/Users/Desktop/circRNA分析結果/find_circ_result自己分析結果")#設置working directory gene_symbol<-read.csv("SFTSV_24vscontrol_circBase_anno.csv",header=F,stringsAsFactors = F)[,11]#讀取數據並提取含有gene_symbol的列 library(biomaRt) mart <- useMart("ensembl","hsapiens_gene_ensembl")##小鼠選擇mmusculus_gene_ensembl gene_id<-getBM(attributes=c("external_gene_name","ensembl_gene_id"),filters = "external_gene_name",values = gene_symbol, mart = mart)#將輸入的filters設置未external_gene_name(也就是gene_symbol),將輸出的attributes設置為external_gene_name和emsembl_gene_id write.table(gene_id,"SFTSV_24vscontrol_circBase_anno_gene_id.txt",row.names = F,col.names=F,quote=F)