SABIO-RK RESTful Web Services Manual

API methods

  1. more API methods providing TSV export format
  1. check API status
  2. get a single kinetic law entry by ID
  3. get kinetic law entries by IDs
  4. get fields available for use in query strings for searching
  5. search for kinetic law entries (sbml)
  6. search for kinetic law entries and return a list of the entry IDs
  7. search for kinetic law entries (SBBioPAX and other export formats)
  8. search for kinetic law entries and return the only the number of entries found
  9. search for SabioReactionIDs
  10. search for SabioReactionIDs (sbml)
  11. get fields available for suggestion lists
  12. get suggestion list for the supplied field and term
  13. get number of suggestions for the supplied field and term

Error codes and their meaning

HTTP Response CodeDescription
200OK. The request to the web service completed successfully.
400Bad request. The parameters passed to the API endpoint were invalid.
404Not found. The resource corresponding to the supplied parameters does not exist.
500 Service unavailable. An internal problem prevented us from fulfilling your request.

SABIO REST api methods

Query syntax

It is highly recommended to encapsulate the query term within quotes. Any space character that is not inside quotes causes an error and subsequently no data will be returned (wrong: eg Organism:Homo sapiens; correct: Organism:"Homo sapiens"). This is especially important for queries that include organism, tissue, compound, pathway or enzyme name.

Only queries using Sabio-ID's should be performed without quoting (eg EntryID:123; SabioCompoundID:34; SabioReactionID:14).
The same applies for boolean values (eg HasKineticData:true).

Sabio-RK RESTful web services support both GET and POST requests.

Queries should be URL-encoded. A simple test can be performed using cURL or wget, eg for:

q=Substrate:"P1,P4-Bis(5'-guanosyl) tetraphosphate" AND CellularLocation:"cytosol" AND Tissue:"egg" AND Organism:"Artemia salina" AND temperature:[-10.0 TO 115.0]

curl --request POST http://sabiork.h-its.org/sabioRestWebServices/searchKineticLaws/sbml?q=Substrate%3A%22P1%2CP4-Bis%285%27-guanosyl%29+tetraphosphate%22+AND+CellularLocation%3A%22cytosol%22+AND+Tissue%3A%22egg%22+AND+Organism%3A%22Artemia+salina%22+AND%20temperature%3A%5B-10.0%20TO%20115.0%5D

Methods returning models of entries

Description: Get a single kinetic law entry by SABIO entry ID
Example URLs:
http://sabiork.h-its.org/sabioRestWebServices/kineticLaws/123
http://sabiork.h-its.org/sabioRestWebServices/kineticLaws/123?level=2&version=3&annotation=miriam
Input: N.A.
Output: SBML model
Optional Parameters:

  1. level - SBML level, default value:3
  2. version - SBML version, default value:1
  3. normalized - Export parameters with normalized units, default:true
  4. annotation - The schema for the annotation, default:identifier


Description: Get kinetic law entries by SABIO entry IDs
Example URLs:
http://sabiork.h-its.org/sabioRestWebServices/kineticLaws?kinlawids=123,234
http://sabiork.h-its.org/sabioRestWebServices/kineticLaws?kinlawids=123,234&level=2&version=3&annotation=miriam
Input: list of SABIO entry IDs
Output: SBML model
Optional Parameters:

  1. level - SBML level, default value:3
  2. version - SBML version, default value:1
  3. normalized - Export parameters with normalized units, default:true
  4. annotation - The schema for the annotation, default:identifier


Description: Search for SABIO kinetic law entries by a query string
Example URLs:
http://sabiork.h-its.org/sabioRestWebServices/searchKineticLaws/sbml?q=Tissue:"spleen" AND Organism:"Homo sapiens"
http://sabiork.h-its.org/sabioRestWebServices/searchKineticLaws/sbml?q=Tissue:"spleen" AND Organism:"Homo sapiens"&level=2&version=3&annotation=miriam
Input: Query string, please quota your search term if there is a space between. e.g. "Homo sapiens". see Search Keyword Vocabulary for more about how to form a query
Output: SBML model
Optional Parameters:

  1. level - SBML level, default:3
  2. version - SBML version, default:1
  3. normalized - Export parameters with normalized units, default:true
  4. annotation - The schema for the annotation, default:identifier


Description: Search for SABIO kinetic law entries by a query string - different output formats
Example URL:
http://sabiork.h-its.org/sabioRestWebServices/searchKineticLaws/biopax?q=Tissue:"spleen" AND Organism:"Homo sapiens"
Input: query string, see Search Keyword Vocabulary for how to form a query
Output: SBBioPAX model (xml)

Description: Search for SABIO kinetic law entries by a query string
Example URL:
http://sabiork.h-its.org/sabioRestWebServices/searchKineticLaws/matlab?q=Tissue:"spleen" AND Organism:"Homo sapiens"
Input: query string, see Search Keyword Vocabulary for how to form a query
Output: Matlab model (text)

Description: Search for SABIO kinetic law entries by a query string
Example URL:
http://sabiork.h-its.org/sabioRestWebServices/searchKineticLaws/octave?q=Tissue:"spleen" AND Organism:"Homo sapiens"
Input: query string, see Search Keyword Vocabulary for how to form a query
Output: Octave model (text)

Description: Search for SABIO kinetic law entries by a query string
Example URL:
http://sabiork.h-its.org/sabioRestWebServices/searchKineticLaws/dot?q=Tissue:"spleen" AND Organism:"Homo sapiens"
Input: query string, see Search Keyword Vocabulary for how to form a query
Output: Dot model (text)

Description: Search for SABIO kinetic law entries by a query string
Example URL:
http://sabiork.h-its.org/sabioRestWebServices/searchKineticLaws/apm?q=Tissue:"spleen" AND Organism:"Homo sapiens"
Input: query string, see Search Keyword Vocabulary for how to form a query
Output: APM model (text)

Description: Search for SABIO kinetic law entries by a query string
Example URL:
http://sabiork.h-its.org/sabioRestWebServices/searchKineticLaws/xpp?q=Tissue:"spleen" AND Organism:"Homo sapiens"
Input: query string, see Search Keyword Vocabulary for how to form a query
Output: XPP model (text)

Description: Search for SABIO kinetic law entries by a query string
Example URL:
http://sabiork.h-its.org/sabioRestWebServices/searchKineticLaws/sbgnml?q=Tissue:"spleen" AND Organism:"Homo sapiens"
Input: query string, see Search Keyword Vocabulary for how to form a query
Output: SBGNML model (xml)

Description: Search for SABIO kinetic law entries by a query string
Example URL:
http://sabiork.h-its.org/sabioRestWebServices/searchKineticLaws/biopaxl2?q=Tissue:"spleen" AND Organism:"Homo sapiens"
Input: query string, see Search Keyword Vocabulary for how to form a query
Output: BioPAX level 2 model (xml)

Description: Search for SABIO kinetic law entries by a query string
Example URL:
http://sabiork.h-its.org/sabioRestWebServices/searchKineticLaws/biopaxl3?q=Tissue:"spleen" AND Organism:"Homo sapiens"
Input: query string, see Search Keyword Vocabulary for how to form a query
Output: BioPAX level 3 model (xml)


Description: Search for SABIO kinetic law entries by a query string, return only the number of the matching entries
Example URLs:
http://sabiork.h-its.org/sabioRestWebServices/searchKineticLaws/count?q=Tissue:"spleen" AND Organism:"Homo sapiens"
http://sabiork.h-its.org/sabioRestWebServices/searchKineticLaws/count?q=Tissue:"spleen" AND Organism:"Homo sapiens"&format=xml
Input: query string, see Search Keyword Vocabulary for how to form a query
Output: XML or plain text
Optional Parameters:

  1. format - format for export "xml" or "txt", default:xml


Description: Get the list of SABIO kinetic law entries by a query string
Example URLs:
http://sabiork.h-its.org/sabioRestWebServices/searchKineticLaws/entryIDs?q=Tissue:"spleen" AND Organism:"Homo sapiens"
Or
http://sabiork.h-its.org/sabioRestWebServices/searchKineticLaws/kinlaws?q=Tissue:"spleen" AND Organism:"Homo sapiens"
Input: Query string, please quota your search term if there is a space between. e.g. "Homo sapiens". see Search Keyword Vocabulary for more about how to form a query
Output: XML or plain text
Optional Parameters:

  1. format - format for export "xml" or "txt", default:xml


Description: Search for SabioReactionIDs
Example URL (New style query): http://sabiork.h-its.org/sabioRestWebServices/reactions/reactionIDs?q=KeggReactionID:"R00278"
Input: query string, options the same as for kinetic law entry search
Output: XML or plain text list of all SabioReactionIDs which have entries matching search criteria
Optional Parameters:

  1. format - format for export "xml" or "txt", default:xml
  2. equation - if true export also reaction equations, default:false


Description: Search for SabioReactionIDs(sbml)
Example URL (New style query): http://sabiork.h-its.org/sabioRestWebServices/reactions/sbml?q=KeggReactionID:"R00278"
Input: query string, options the same as for kinetic law entry search
Output: SBML model
Optional Parameters:

  1. level - SBML level, default:3
  2. version - SBML version, default:1
  3. normalized - Export parameters with normalized units, default:true
  4. annotation - The schema for the annotation, default:identifier





Methods returning other information

for all examples below which associate with option parameters, please refer the example pattern which written in the last section

Description: Check status of API
Example URL: http://sabiork.h-its.org/sabioRestWebServices/status
Input: N/A
Output: "UP" if REST web services are available


Description: Get current database version
Example URL: http://sabiork.h-its.org/sabioRestWebServices/currentDatabaseVersion
Input: N/A
Output e.g.: "2.5"
Last database version as documented here in detail


Description: Get last database release date
Example URL: http://sabiork.h-its.org/sabioRestWebServices/lastDatabaseRelease
Input: N/A
Output e.g.: "2017-10-13"
Last database release as documented here in detail


Description: Get current software version
Example URL: http://sabiork.h-its.org/sabioRestWebServices/currentSoftwareVersion
Input: N/A
Output e.g.: "2.3"
Last software version as documented here in detail


Description: Get last software release date
Example URL: http://sabiork.h-its.org/sabioRestWebServices/lastSoftwareRelease
Input: N/A
Output e.g.: "2017-10-13"
Last software release as documented here in detail


Description: get list of available fields for querying
Example URL: http://sabiork.h-its.org/sabioRestWebServices/searchKineticLaws
Input: N/A
Output: XML list of available fields


Description: get suggestions fields
Example URL: http://sabiork.h-its.org/sabioRestWebServices/suggestions
Input: N.A.
Output: XML containing the list of all valid field names available for getting suggestions


Description: get suggestions
Example URL (uniProtKB_ACs, all results): http://sabiork.h-its.org/sabioRestWebServices/suggestions/uniProtKB_ACs
Example URL (pathways, search with partial string): http://sabiork.h-its.org/sabioRestWebServices/suggestions/pathways?searchPathways=glyc
Input: field name and term to search for. No query string supplied results in results for the field being returned (eg, all uniProtKB_ACs used in SABIO entries)
Output: XML or plain text
Optional Parameters:

  1. format - format for export "xml" or "txt", default:xml

Notes
The following fields return always the complete list of all entities stored in Sabio-RK, irrespective of any provided parameter:
UniProtKB_ACs, KEGGCompoundIDs, KEGGReactionIDs, SABIOCompoundIDs, SABIOReactionIDs, CHEBICompoundIDs, PUBCHEMCompoundIDs, PubmedIDs

Querying the fields Compounds, Enzymes, Organisms, Pathways, Tissues without parameter results in the return of all entities.
By providing a parameter like http://sabiork.h-its.org/testSabio/sabioRestWebServices/suggestions/organisms?searchOrganisms=rattus only the entities related to 'rattus' are returned (eg 'rattus norvegicus').
Currently the search is restricted in a way that only the matching of the starting characters is evaluated, eg searchOrganisms=norvegicus will return an empty result set. Querying for wildcards eg searchOrganisms=%norvegicus will again return all organism names stored in Sabio-RK.


Description: get the number of matching suggestions
Example URL (uniProtKB_ACs, all results): http://sabiork.h-its.org/sabioRestWebServices/suggestions/uniProtKB_ACs/count
Example URL (pathways, search with partial string): http://sabiork.h-its.org/sabioRestWebServices/suggestions/pathways/count?searchPathways=glyc
Input: field name and term to search for. No query string supplied results in results for the field being returned (eg, all uniProtKB_ACs used in SABIO entries)
Output: XML or plain text
Optional Parameters:

  1. format - format for export "xml" or "txt", default:xml


  1. more API methods providing TSV export format