bioMart进行基因id的转换

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")
用listDatasets()函数显示当前数据库所含的基因组注释,这里listDatasets(mart)一共显示212行,这里只截取一部分

这里我们要获取的基因注释的基因是人类基因,所以选择hsapiens_gene_ensembl,通过以下代码来选择emsembl库的人类参考基因组来分析

mart <- useMart("ensembl","hsapiens_gene_ensembl")##小鼠选择mmusculus_gene_ensembl

4.用listFilters()函数选定我们需要获得的注释类型

用listFilters()函数查看可选择的类型,选定要获取的注释类型,以及已知注释的类型,listFilters(mart)一共显示了446行,一共包括name和description两列,这里只截取一部分

>listFilters(mart)

这里我们选择这些要获得数值的类型ensembl_gene_id ,hgnc_symbol chromosome_name start_position end_position band,我们已知的类型是ensembl_gene_id

选择好数据库,基因组,要获得的注释类型,和已知的注释类型,就可以开始获取注释了。
 
 
 
 

5.用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个参数

attributers()里面的值为我们要获取的注释类型
filters()里面的值为我们已知的注释类型
gene= 这个值就是我们已知的注释类型的数据,把上面我们通过数据处理得到的ensembl基因序号作为ensembl_gene_id 的值
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)



 

 
 

猜你喜欢

转载自www.cnblogs.com/yanjiamin/p/12054879.html