This is a test version of Biostars. For the public version, visit https://www.biostars.org.
KEGGREST -- gene list
library(KEGGREST)

> names(keggGet("map07049")[[1]])
[1] "ENTRY"       "NAME"        "PATHWAY_MAP" "COMPOUND"    "REFERENCE"

I need to get gene list (hugo-symbol) in each pathway. How can I get this from KEGGREST?

> sessionInfo()
R version 3.3.3 (2017-03-06)
Platform: x86_64-pc-linux-gnu (64-bit)
Running under: openSUSE 13.1 (Bottle) (x86_64)

locale:
 [1] LC_CTYPE=en_GB.UTF-8       LC_NUMERIC=C
 [3] LC_TIME=en_GB.UTF-8        LC_COLLATE=en_GB.UTF-8
 [5] LC_MONETARY=en_GB.UTF-8    LC_MESSAGES=en_GB.UTF-8
 [7] LC_PAPER=en_GB.UTF-8       LC_NAME=C
 [9] LC_ADDRESS=C               LC_TELEPHONE=C
[11] LC_MEASUREMENT=en_GB.UTF-8 LC_IDENTIFICATION=C

attached base packages:
[1] stats     graphics  grDevices utils     datasets  methods   base

other attached packages:
[1] KEGGREST_1.14.1

loaded via a namespace (and not attached):
 [1] zlibbioc_1.20.0     httr_1.3.1          R6_2.2.2
 [4] IRanges_2.8.2       XVector_0.14.1      parallel_3.3.3
 [7] tools_3.3.3         curl_3.1            Biostrings_2.42.1
[10] S4Vectors_0.12.2    BiocGenerics_0.20.0 stats4_3.3.3
[13] png_0.1-7
r keggrest bioconductor

This is a drug pathway, why don't you try the same with another pathway?

Hi haiying.kong, this is a drug 'pathway' at which you're looking (not a real pathway of genes/proteins); thus, this explains why there are no genes in the KEGGREST object that you've managed to download.

In the traditional KEGG pathways, genes can be easily obtained. Here is the infamous Pathways in Cancer:

head(keggGet("hsa05200")[[1]]$GENE)
[1] "1630"                                       
[2] "DCC; DCC netrin 1 receptor [KO:K06765]"     
[3] "836"                                        
[4] "CASP3; caspase 3 [KO:K02187] [EC:3.4.22.56]"
[5] "842"                                        
[6] "CASP9; caspase 9 [KO:K04399] [EC:3.4.22.62]"

There are some genes and gene families shown in the figure for your drug 'pathway' on KEGG: http://www.genome.jp/kegg-bin/show_pathway?map07049 Perhaps just taking those (manually) from the figure would be sufficient.

Best,

Kevin

1 answer

The pathway in your example is a drug pathway, so there are no HUGO gene names associated.

I am not very familiar with KEGGREST, but you could do this with the official kegg REST API. It is described in great detail with nice examples here: http://www.kegg.jp/kegg/rest/keggapi.html

The 3 main urls you'll need are:

  1. Map/Pathway to KO. This will give you a list of genes (in kegg ids, KO) corresponding to the map. Example:

http://rest.kegg.jp/link/ko/map00010

  1. KO to gene. This will give you a list of genes by organism code corresponding to the KO. Example:

http://rest.kegg.jp/link/genes/K00010

  1. gene id to metadata. This will give you detailed kegg entries for the gene id, including HUGO names. For example:

http://rest.kegg.jp/get/hsa:10458

There may be easier REST endpoints you can use to get to the HUGO names. I recommend reading the API documentation.

You will probably need to write a script to parse/download all this info.

Log in to answer this question.