背景

geng
包括基因注释(转换成kegg或者go ID),下面使用两个包进行ID转换。

步骤

方法一

使用 biomaRt 包。Ensembl维护着最著名的BioMart数据库,biomaRt 包对此数据库进行检索和查询。http://www.bioconductor.org/packages/release/bioc/vignettes/biomaRt/inst/doc/biomaRt.html

  1. # install
  2. if (!requireNamespace("BiocManager", quietly = TRUE))
  3. install.packages("BiocManager")
  4. BiocManager::install("biomaRt")
  5. #
  6. listMarts()
  7. # biomart version
  8. # 1 ENSEMBL_MART_ENSEMBL Ensembl Genes 98
  9. # 2 ENSEMBL_MART_MOUSE Mouse strains 98
  10. # 3 ENSEMBL_MART_SNP Ensembl Variation 98
  11. # 4 ENSEMBL_MART_FUNCGEN Ensembl Regulation 98
  12. mart <- useMart('ENSEMBL_MART_ENSEMBL')
  13. dataset <- listDatasets(mart)
  14. ensembl <- useMart("ENSEMBL_MART_ENSEMBL",dataset="hsapiens_gene_ensembl")
  15. attributes <- listAttributes(ensembl)
  16. filters <- listFilters(ensembl)
  17. # 对象"filters" 对应getBM参数里的"filters",表明可以输入的类型
  18. # 对象"attributes" 对应getBM参数里的"attributes",表明可以转换的类型(非常多)
  19. res <- getBM(attributes = c("ensembl_gene_id","hgnc_symbol"),
  20. filters="ensembl_gene_id",
  21. values=gene,
  22. mart=ensembl,
  23. uniqueRows = F)
  24. # 参数"values"为输入的向量

方法二

使用R包clusterProfiler,此包主要利用的是org.Hs.eg.db(人类)数据库,并还可以进行多种注释分析和结果可视化。单单ID转化类似的包还有 AnnotationDbi的mapIds函数,或者直接使用select函数对数据库org.Hs.eg.db 操作,原理都一样。

  1. library(clusterProfiler)
  2. library(org.Hs.eg.db)
  3. keytypes(org.Hs.eg.db) # 可以转化的类型
  4. x=bitr(gene, fromType = "UNIPROT",
  5. toType = c("ENTREZID", "SYMBOL"),
  6. OrgDb = org.Hs.eg.db)