背景
geng
包括基因注释(转换成kegg或者go ID),下面使用两个包进行ID转换。
步骤
方法一
使用 biomaRt 包。Ensembl维护着最著名的BioMart数据库,biomaRt 包对此数据库进行检索和查询。http://www.bioconductor.org/packages/release/bioc/vignettes/biomaRt/inst/doc/biomaRt.html
# install
if (!requireNamespace("BiocManager", quietly = TRUE))
install.packages("BiocManager")
BiocManager::install("biomaRt")
#
listMarts()
# biomart version
# 1 ENSEMBL_MART_ENSEMBL Ensembl Genes 98
# 2 ENSEMBL_MART_MOUSE Mouse strains 98
# 3 ENSEMBL_MART_SNP Ensembl Variation 98
# 4 ENSEMBL_MART_FUNCGEN Ensembl Regulation 98
mart <- useMart('ENSEMBL_MART_ENSEMBL')
dataset <- listDatasets(mart)
ensembl <- useMart("ENSEMBL_MART_ENSEMBL",dataset="hsapiens_gene_ensembl")
attributes <- listAttributes(ensembl)
filters <- listFilters(ensembl)
# 对象"filters" 对应getBM参数里的"filters",表明可以输入的类型
# 对象"attributes" 对应getBM参数里的"attributes",表明可以转换的类型(非常多)
res <- getBM(attributes = c("ensembl_gene_id","hgnc_symbol"),
filters="ensembl_gene_id",
values=gene,
mart=ensembl,
uniqueRows = F)
# 参数"values"为输入的向量
方法二
使用R包clusterProfiler,此包主要利用的是org.Hs.eg.db(人类)数据库,并还可以进行多种注释分析和结果可视化。单单ID转化类似的包还有 AnnotationDbi的mapIds
函数,或者直接使用select
函数对数据库org.Hs.eg.db 操作,原理都一样。
library(clusterProfiler)
library(org.Hs.eg.db)
keytypes(org.Hs.eg.db) # 可以转化的类型
x=bitr(gene, fromType = "UNIPROT",
toType = c("ENTREZID", "SYMBOL"),
OrgDb = org.Hs.eg.db)