我最近发现了两种获得KEGG途径及其基因的方法(其中一种使用了之前提出的包
KEGGREST
).
第一种方式
library(limma)
library(AnnotationDbi)
library(org.Hs.eg.db)
# We get entrez ids and their pathways.
gene_pathways <- getGeneKEGGLinks(species="hsa")
# This is to get the gene symbols using entrez ids
gene_pathways$Symbol <- mapIds(org.Hs.eg.db, gene_pathways$GeneID,
column="SYMBOL", keytype="ENTREZID")
# pathway names
pathway_names <- getKEGGPathwayNames(species="hsa")
KEGG_pathways <- merge(gene_pathways, pathway_names, by="PathwayID")
输出:
head(KEGG_pathways)
PathwayID GeneID Symbol Description
1 path:hsa00010 10327 AKR1A1 Glycolysis / Gluconeogenesis - Homo sapiens (human)
2 path:hsa00010 124 ADH1A Glycolysis / Gluconeogenesis - Homo sapiens (human)
3 path:hsa00010 125 ADH1B Glycolysis / Gluconeogenesis - Homo sapiens (human)
4 path:hsa00010 126 ADH1C Glycolysis / Gluconeogenesis - Homo sapiens (human)
5 path:hsa00010 127 ADH4 Glycolysis / Gluconeogenesis - Homo sapiens (human)
第二种方式
library(KEGGREST)
library(org.Hs.eg.db)
library(tidyverse)
# get pathways and their entrez gene ids
hsa_path_entrez <- keggLink("pathway", "hsa") %>%
tibble(pathway = ., eg = sub("hsa:", "", names(.)))
# get gene symbols and ensembl ids using entrez gene ids
hsa_kegg_anno <- hsa_path_entrez %>%
mutate(
symbol = mapIds(org.Hs.eg.db, eg, "SYMBOL", "ENTREZID"),
ensembl = mapIds(org.Hs.eg.db, eg, "ENSEMBL", "ENTREZID")
)
# Pathway names
hsa_pathways <- keggList("pathway", "hsa") %>%
tibble(pathway = names(.), description = .)
KEGG_pathways <- left_join(hsa_kegg_anno, hsa_pathways)
输出:
head(KEGG_pathways)
A tibble: 6 x 5
pathway eg symbol ensembl description
<chr> <chr> <chr> <chr> <chr>
1 path:hsa00010 10327 AKR1A1 ENSG00000117448 Glycolysis / Gluconeogenesis - Homo sapiens (human)
2 path:hsa00010 124 ADH1A ENSG00000187758 Glycolysis / Gluconeogenesis - Homo sapiens (human)
3 path:hsa00010 125 ADH1B ENSG00000196616 Glycolysis / Gluconeogenesis - Homo sapiens (human)
4 path:hsa00010 126 ADH1C ENSG00000248144 Glycolysis / Gluconeogenesis - Homo sapiens (human)
5 path:hsa00010 127 ADH4 ENSG00000198099 Glycolysis / Gluconeogenesis - Homo sapiens (human)
如果出于某种原因,您需要查询其他物种,您只需替换“hsa”即可。使用这行代码
keggList("organism")
你可以得到可用物种的列表。
org <- keggList("organism")
head(org)
T.number organism species phylogeny
[1,] "T01001" "hsa" "Homo sapiens (human)" "Eukaryotes;Animals;Vertebrates;Mammals"
[2,] "T01005" "ptr" "Pan troglodytes (chimpanzee)" "Eukaryotes;Animals;Vertebrates;Mammals"
[3,] "T02283" "pps" "Pan paniscus (bonobo)" "Eukaryotes;Animals;Vertebrates;Mammals"
[4,] "T02442" "ggo" "Gorilla gorilla gorilla (western lowland gorilla)" "Eukaryotes;Animals;Vertebrates;Mammals"
[5,] "T01416" "pon" "Pongo abelii (Sumatran orangutan)" "Eukaryotes;Animals;Vertebrates;Mammals"
注:
虽然我用过
org.Hs.eg.db
要获得基因符号,还可以从
biomaRt
.
library(biomaRt)
mart <- useDataset("hsapiens_gene_ensembl", useMart("ensembl"))
attributes <- listAttributes(mart)
genes <- getBM(attributes = c("hgnc_symbol", "entrezgene_id"),
mart = mart)
有关的其他有用信息
桶架
可以在
vignette
.