SABIO-RK RESTful Web Services Manual
API methods
- check API status
- get a single kinetic law entry by ID
- get kinetic law entries by IDs
- get a single kinetic law entry by SABIO entry ID in Bioschemas JSON output format
- get fields available for use in query strings for searching
- search for kinetic law entries (sbml)
- search for kinetic law entries and return a list of the entry IDs
- search for kinetic law entries (SBBioPAX and other export formats)
- search for kinetic law entries and return the only the number of entries found
- search for SabioReactionIDs
- search for SabioReactionIDs (sbml)
- get fields available for suggestion lists
- get suggestion list for the supplied field and term
- get number of suggestions for the supplied field and term
Wrong SMILES, InChI and InChI keys
A substantial fraction (about 10 percent) of SMILES, InChI and InChI keys are wrong in SABIO-RK database.This should be taken into consideration for mapping of compounds and using those identifiers.
Error codes and their meaning
HTTP Response Code | Description |
200 | OK. The request to the web service completed successfully. |
400 | Bad request. The parameters passed to the API endpoint were invalid. |
404 | Not 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 https://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:
https://sabiork.h-its.org/sabioRestWebServices/kineticLaws/123
https://sabiork.h-its.org/sabioRestWebServices/kineticLaws/123?level=2&version=3&annotation=miriam
Input: N.A.
Output: SBML model
Optional Parameters:
- level - SBML level, default value:3
- version - SBML version, default value:1>
- normalized - Export parameters with normalized units, default:true
- annotation - The schema for the annotation, default:identifier
Description: Get kinetic law entries by SABIO entry IDs
Example URLs:
https://sabiork.h-its.org/sabioRestWebServices/kineticLaws?kinlawids=123,234
https://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:
- level - SBML level, default value:3
- version - SBML version, default value:1>
- normalized - Export parameters with normalized units, default:true
- annotation - The schema for the annotation, default:identifier
Description: Get a single kinetic law entry by SABIO entry ID in Bioschemas JSON output format
Example URL:
https://sabiork.h-its.org/sabioRestWebServices/searchKineticLaws/bioschemas?entryID=123
Input: N.A.
Output: Bioschemas JSON format
Please note that currently this format encodes only part of the complete entry information, eg the kinetic parameter values are not included.
Description: Search for SABIO kinetic law entries by a query string
Example URLs:
https://sabiork.h-its.org/sabioRestWebServices/searchKineticLaws/sbml?q=Tissue:"spleen" AND Organism:"Homo sapiens"
https://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:
- level - SBML level, default:3
- version - SBML version, default:1>
- normalized - Export parameters with normalized units, default:true
- annotation - The schema for the annotation, default:identifier
Description: Search for SABIO kinetic law entries by a query string - different output formats
Example URL:
https://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:
https://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:
https://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:
https://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:
https://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:
https://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:
https://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:
https://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:
https://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:
https://sabiork.h-its.org/sabioRestWebServices/searchKineticLaws/count?q=Tissue:"spleen" AND Organism:"Homo sapiens"
https://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:
- format - format for export "xml" or "txt", default:xml
Description: Get the list of SABIO kinetic law entries by a query string
Example URLs:
https://sabiork.h-its.org/sabioRestWebServices/searchKineticLaws/entryIDs?q=Tissue:"spleen" AND Organism:"Homo sapiens"
Or
https://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:
- format - format for export "xml" or "txt", default:xml
Description: Search for SabioReactionIDs
Example URL (New style query): https://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:
- format - format for export "xml" or "txt", default:xml
- equation - if true export also reaction equations, default:false
Description: Search for SabioReactionIDs(sbml)
Example URL (New style query): https://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:
- level - SBML level, default:3
- version - SBML version, default:1>
- normalized - Export parameters with normalized units, default:true
- 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: https://sabiork.h-its.org/sabioRestWebServices/status
Input: N/A
Output: "UP" if REST web services are available
Description: Get current database version
Example URL: https://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: https://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: https://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: https://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: https://sabiork.h-its.org/sabioRestWebServices/searchKineticLaws
Input: N/A
Output: XML list of available fields
Description: get suggestions fields
Example URL: https://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): https://sabiork.h-its.org/sabioRestWebServices/suggestions/uniProtKB_ACs
Example URL (pathways, search with partial string): https://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:
- 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
https://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): https://sabiork.h-its.org/sabioRestWebServices/suggestions/uniProtKB_ACs/count
Example URL (pathways, search with partial string): https://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:
- format - format for export "xml" or "txt", default:xml