Questions for the KEGG team.

** No apparent replacement found for old APIs

Is there a new programmatic way to call the old SOAP api "get_motifs_by_gene"?
I know I can do it manually with a request like this:

But then I have to scrape the page.

I have a similar question about "get_genes_by_motifs", which I can also do
manually from Also, the SOAP API had
"start" and "max_results" arguments; is there an equivalent?

About the SOAP APIs "get_best_neighbors_by_gene" and 
"get_best_best_neighbors_by_gene"; it looks like similar 
functionality is provided by but again,
is there a more programmatic way to do it?

I’d also like to replace the old API "get_paralogs_by_gene"
which it seems like I can also do from the page.
With all of these SSDB functions, is there support for the 
"start" and "max_results" arguments?

Although I can search compounds by mass,
I can’t seem to search glycans by mass as I could with the SOAP API
"search_glycans_by_mass". Is there an equivalent function in the REST API?

There does not seem to be an equivalent to the SOAP API
"search_compounds_by_subcomp". Is there a replacement?

What about "search_glycans_by_kcam" and the more general-purpose 
"bget"? Is there a way in the REST api to return flat-file records,
similar to what "bget" did?

Two other "missing" functions seem to be "get_ko_by_ko_class"
and "get_genes_by_ko_class". Are there replacements for these?

Is the SOAP function get_html_of_colored_pathway_by_elements
any different from e.g.,%2300ff00/c00263%09%23ffff00,yellow

Is there a REST implementation of the SOAP functions
get_element_relations_by_pathway and get_elements_by_pathway?

** Results of new APIs differ from old

Calling the SOAP api "get_enzymes_by_pathway" with 
"pathway_id" equal to "path:eco00020" yields a result of 14 
enzymes; what seems to be the equivalent in REST, returns nothing.
Is this expected? Have the data changed?

Similarly, calling "get_compounds_by_pathway" with a 
"pathway_id" argument of "path:eco00020" returns 20 compounds 
in SOAP, but the REST equivalent (?), returns nothing.

Calling this REST api with a different argument:
does return some results.

Calling the SOAP api "get_kos_by_pathway" with a "pathway_id" 
argument of "path:hsa00010" returns 36 results, but the seeming REST 
equivalent, returns nothing.

** Missing Arguments

The SOAP API "get_genes_by_organism" has "start" and "max_results
arguments. The REST equivalent, which seems to be, for example does not appear to have such arguments.
Is there a way to paginate results that come back from the REST server?

It looks like I can call an equivalent of the old 
"get_genes_by_ko" API, as follows:
But in the old API, I could filter by organism (e.g. "eco"). 
Also, the SOAP api would return annotations, for example, for 
eco:b0002 it would return 
"thrA; fused aspartokinase I and homoserine dehydrogenase I 
(EC:; K12524 bifunctional aspartokinase / homoserine 
dehydrogenase 1 [EC:] ". 

Is there a way I can get these annotations back in a REST query?
It seems I only get two columns back, the ko ID and gene ID.

Similarly, the SOAP API "get_pathways_by_kos" had an "org" 
argument to filter by "organism". The REST equivalent, for 
oes not seem to have this option, and the results do not allow
me to do my own filtering (that is, they do not have three-letter
organism codes).

Also, the results differ between SOAP and REST.
In SOAP, calling "get_pathways_by_kos" with a "ko_id_list"
argument of ko:K00016 and ko:K00382, and an "org" argument 
of "hsa", returns path:hsa00010 and path:hsa00620, but the results of do not
include these items.