BioGRID REST Service
Interaction data in BioGRID can be accessed via the BioGRID REST service. Interactions in various formats can be fetched from the BioGRID REST Service over HTTP, programmatically or in a browser, at http://webservice.thebiogrid.org/interactions/. You can access interactions using both POST and GET operations depending on your application requirements.
To access the BioGRID REST webservice, you will need a unique access key for your application. You can get one by filling out the simple form located here. This key must be included in all queries to the webservice in the form of accesskey=[ACCESSKEY].
The URL http://webservice.thebiogrid.org/interactions/?accesskey=[ACCESSKEY] will retrieve the first 10,000 interactions in BioGRID, ordered by the BioGRID Interaction Id as found in .tab2 files. Single interactions can be retrieved by appending this URL with a Biogrid Interaction ID (e.g. http://webservice.thebiogrid.org/interactions/103?accesskey=[ACCESSKEY]).
The URL http://webservice.thebiogrid.org/organisms/?accesskey=[ACCESSKEY] will retrieve the list of organism IDs and names supported by the REST taxId option. This call only supports the accessKey and format parameters (can be tab2 or json)(e.g. http://webservice.thebiogrid.org/organisms/?accesskey=[ACCESSKEY]&format=json).
The results list returned can be filtered by appending ?parameter1=value1¶meter2=value2 etc. to the URL. A full description of possible parameters is given in the table below.
A formal description of the REST service, in Web Application Description Language (WADL), can be found at http://webservice.thebiogrid.org/application.wadl.
The BioGRID REST service is updated to the latest release of BioGRID on the 4th of each month and the BioGRID database version being accessed can be determined with the URL: http://webservice.thebiogrid.org/version?accesskey=[ACCESSKEY].
Interactions between genes with GENBANK_DNA_GI 82502895 (TP53) or 158261704 (MDM2), in jsonExtended format
|accessKey||string||NONE||Only 32 character Alphanumeric strings||All rest access must supply a valid accessKey to prevent spamming of the service. Access Keys are free and openly available here.|
|start||int||0||0-2147483647||Query results are numbered from 0. Results fetched will start at this value e.g. start = 50 will skip the the first 50 results. Ignored if using “count” in the format parameter.|
|max||int||10000||1-10000||Number of results to fetch; this will be ignored if greater than 10,000, i.e. pagination using several requests is required to retrieve more than 10,000 interactions. Ignored if using “count” in the format parameter.|
|interSpeciesExcluded||boolean||FALSE||true, false||If ‘true’, interactions with interactors from different species will be excluded.|
|selfInteractionsExcluded||boolean||FALSE||true, false||If ‘true’, interactions with one interactor will be excluded.|
|evidenceList||string||empty||Pipe-separated list of evidence codes from here||Any interaction evidence with its Experimental System in the list will be excluded from the results unless includeEvidence is set to true.|
|includeEvidence||boolean||FALSE||true, false||If set to true, any interaction evidence with its Experimental System in the evidenceList will be included in the result|
|geneList||string||empty||Pipe-separated list of gene names or identifiers.||Interactions between genes in this list will be fetched. This parameter is ignored if one of searchIds, searchNames, searchSynonyms is not ‘true’ and additionalIdentifierTypes is empty.|
|searchIds||boolean||FALSE||true, false||If ‘true’, the interactor ENTREZ_GENE and SYSTEMATIC_NAME (orf) will be examined for a match with the geneList .|
|searchNames||boolean||FALSE||true, false||If ‘true’, the interactor OFFICIAL_SYMBOL will be examined for a match with the geneList.|
|searchSynonyms||boolean||FALSE||true, false||If ‘true’, the interactor SYNONYM will be examined for a match with the geneList.|
|searchBiogridIds||boolean||FALSE||true, false||If ‘true’, the entries in 'GENELIST' will be compared to BIOGRID internal IDS which are provided in all Tab2 formatted files.|
|additionalIdentifierTypes||string||empty||Pipe-separated list of identifier types from here||Identifier types on this list are examined for a match with the geneList.|
|excludeGenes||boolean||FALSE||true, false||If ‘true’, interactions containing genes in the geneList will be excluded from the results. Ignored if one of searchIds, searchNames, searchSynonyms is not ‘true’ and additionalIdentifierTypes is empty.|
|includeInteractors||boolean||TRUE||true, false||If ‘true’, in addition to interactions between genes on the geneList, interactions will also be fetched which have only one interactor on the geneList i.e. the geneList’s first order interactors will be included|
|includeInteractorInteractions||boolean||FALSE||true, false||If ‘true’ interactions between the geneList’s first order interactors will be included. Ignored if includeInteractors is ‘false’ or if excludeGenes is set to ‘true’.|
|pubmedList||string||empty string||Pipe-separated list of pubmed IDs||Interactions will be fetched whose Pubmed Id is/ is not in this list, depending on the value of excludePubmeds.|
|excludePubmeds||boolean||FALSE||true, false||If ‘false’, interactions with Pubmed ID in pubmedList will be included in the results; if ‘true’ they will be excluded.|
|htpThreshold||int||2147483647 (maximum 32-bit integer)||0-2147483647||Interactions whose Pubmed ID has more than this number of interactions will be excluded from the results. Ignored if excludePubmeds is ‘false’.|
|throughputTag||string||“any”||“any”,”low”,”high”||If set to 'low or 'high', only interactions with 'Low throughput' or 'High throughput' in the 'throughput' field will be returned. Interactions with both 'Low throughput' and 'High throughput' will be returned by either value.|
|taxId||string||“All”||Any NCBI taxonomy identifier or “All”||Only genes from this organism will be searched with reference to gene identifiers or names.|
|includeHeader||boolean||FALSE||true, false||If ‘true’, the first line of the result will be a BioGRID column header, appropriate for the format parameter (‘count’ format has no header).|
|format||string||“tab2”||“tab1”,”tab2,”extendedTab2”,”count”, “json”, “jsonExtended”||‘tab1’ and ‘tab2’ will return data in .tab or .tab2 format respectively. 'json' will return data in json a json formatted object. ‘extendedTab2’ and 'jsonExtended' will return data in .tab2 and json file formats respectively with extra fields for “Source Database Identifiers”, “Number of Interactions per Publication” and “Additional Identifiers”. For more information on file formats, visit our file format listing.|
|translate||boolean||FALSE||true,false||If 'true', the rest service will show a small snippet above your results detailing how your input parameters were translated for use in returning your data. This is helpful in troubleshooting why you may or may not be getting back the results expected. For example, if you enter a typo for a field such as “searchNamez”, no result will be translated, and thus this parameter will be ignored.|
If you make a mistake in accessing the REST service, you will be redirected to a standardized HTML error page such as a 401 or 400 page, depending on the problem. In addition, all errors from the BioGRID REST service are accompanied by output in JSON format with the following structure.
- STATUS - This will be either Error or Warning depending on the severity of the problem.
- MESSAGES - A list of one or more messages detailing the error and possible corrective measures.
- TYPE - A simple reiteration of the HTML error type in the header for the overall page.