BioGRID ORCS REST Service
This is an old revision of the document!
Table of Contents
BioGRID ORCS REST Service
CRISPR Screen Data in BioGRID ORCS can be accessed via the BioGRID ORCS REST service. Data in various formats can be fetched from the BioGRID ORCS REST Service over HTTPS, programmatically or in a browser, at https://orcsws.thebiogrid.org/. You can access interactions using both POST and GET operations depending on your application requirements.
Get Your Access Key
To access the BioGRID ORCS 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].
End Points
A formal description of the REST service, in Web Application Description Language (WADL), can be found at https://orcsws.thebiogrid.org/application.wadl.
/organisms/ - Fetching Supported Organisms List
The URL https://orcsws.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 tab or json)(e.g. https://orcsws.thebiogrid.org/organisms/?accesskey=[ACCESSKEY]&format=json).
Valid Params
| Parameter | Type | Default | Valid Values | Description |
|---|---|---|---|---|
| accessKey | string | NONE | Only 32 character Alphanumeric strings | All webservice access must supply a valid accessKey to prevent spamming of the service. Access Keys are free and openly available here. |
| format | string | “tab” | “tab”,“json” | ‘tab’ will return data in tab delimited text format. 'json' will return data in a javascript object notation formatted string. |
| header | string | “no” | “yes”,“no” | ‘yes’ will return data with a header attached (only applies to tab format). |
/vocabs/ - Fetching a List of Controlled Vocabulary Categories
The URL https://orcsws.thebiogrid.org/vocab/?accesskey=[ACCESSKEY] will retrieve all the controlled vocabulary categories used by BioGRID ORCS. This call only supports the accessKey and format parameters (can be tab or json)(e.g. https://orcsws.thebiogrid.org/vocab/?accesskey=[ACCESSKEY]&format=json).
Valid Params
| Parameter | Type | Default | Valid Values | Description |
|---|---|---|---|---|
| accessKey | string | NONE | Only 32 character Alphanumeric strings | All webservice access must supply a valid accessKey to prevent spamming of the service. Access Keys are free and openly available here. |
| format | string | “tab” | “tab”,“json” | ‘tab’ will return data in tab delimited text format. 'json' will return data in a javascript object notation formatted string. |
| header | string | “no” | “yes”,“no” | ‘yes’ will return data with a header attached (only applies to tab format). |
/vocab/<VOCAB CATEGORY ID> - Fetch all terms in a single controlled vocabulary category
Single sets of controlled vocabulary terms can be retrieved by appending this URL with a controlled vocabulary term category id (provided by the endpoint listed above. (e.g. https://orcsws.thebiogrid.org/vocab/5?accesskey=[ACCESSKEY]).
Valid Params
| Parameter | Type | Default | Valid Values | Description |
|---|---|---|---|---|
| accessKey | string | NONE | Only 32 character Alphanumeric strings | All webservice access must supply a valid accessKey to prevent spamming of the service. Access Keys are free and openly available here. |
| format | string | “tab” | “tab”,“json” | ‘tab’ will return data in tab delimited text format. 'json' will return data in a javascript object notation formatted string. |
| header | string | “no” | “yes”,“no” | ‘yes’ will return data with a header attached (only applies to tab format). |
/screens/ - Fetch a list of screens
The URL https://orcsws.thebiogrid.org/screens/?accesskey=[ACCESSKEY] will retrieve the list of screens filtered by applied parameters. This call supports a wide number of parameters (listed below). (e.g https://orcsws.thebiogrid.org/evidence/?accesskey=[ACCESSKEY]&format=json).
Valid Params
| Parameter | Type | Default | Valid Values | Description |
|---|---|---|---|---|
| accessKey | string | NONE | Only 32 character Alphanumeric strings | All webservice access must supply a valid accessKey to prevent spamming of the service. Access Keys are free and openly available here. |
| format | string | “tab” | “tab”,“json” | ‘tab’ will return data in tab delimited text format. 'json' will return data in a javascript object notation formatted string. |
| header | string | “no” | “yes”,“no” | ‘yes’ will return data with a header attached (only applies to tab format). |
| 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 first 50 results |
| 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 results. |
| screenType | string | empty | Pipe-separated list of screen type vocab terms (https://orcsws.thebiogrid.org/vocab/2?accesskey=[ACCESSKEY]) (only if required). | Enter screen types you want to search for, invalid screen types will be ignored. (eg. screenType=negative selection) |
| throughput | string | empty | Pipe-separated list of throughput vocab terms from (https://orcsws.thebiogrid.org/vocab/1?accesskey=[ACCESSKEY]) (only if required) | Enter throughput terms you want to search for, invalid throughput terms will be ignored. (eg. throughput=high throughput|low throughput ) |
| experimentalSetup | string | empty | Pipe-separated list of experimental setup vocabulary terms from https://orcsws.thebiogrid.org/vocab/3?accesskey=[ACCESSKEY] | Enter experimental setup terms you want to search for, invalid terms will be ignored. (eg. experimentalSetup=toxin exposure ) |
| drugName | string | empty | Pipe-separated list of drug name vocabulary terms from https://orcsws.thebiogrid.org/vocab/4?accesskey=[ACCESSKEY] | Enter drug name terms you want to search for, invalid terms will be ignored. (eg. drugName=ricin|insulin ) |
| crisprLibrary | string | empty | Pipe-separated list of CRISPR Library vocabulary terms from https://orcsws.thebiogrid.org/vocab/5?accesskey=[ACCESSKEY] | Enter CRISPR Library terms you want to search for, invalid terms will be ignored. (eg. crisprLibrary=gecko|gecko v2 ) |
| crisprLibraryType | string | empty | Pipe-separated list of CRISPR Library Type vocabulary terms from https://orcsws.thebiogrid.org/vocab/6?accesskey=[ACCESSKEY] | Enter CRISPR Library Type terms you want to search for, invalid terms will be ignored. (eg. crisprLibraryType=crispra ) |
| crisprMethodology | string | empty | Pipe-separated list of CRISPR Methodology vocabulary terms from https://orcsws.thebiogrid.org/vocab/7?accesskey=[ACCESSKEY] | Enter CRISPR Methodology terms you want to search for, invalid terms will be ignored. (eg. crisprMethodology=knockout|inhibition ) |
| screenFormat | string | empty | Pipe-separated list of screen format vocabulary terms from https://orcsws.thebiogrid.org/vocab/8?accesskey=[ACCESSKEY] | Enter screen format terms you want to search for, invalid terms will be ignored. (eg. screenFormat=array ) |
| enzyme | string | empty | Pipe-separated list of enzyme vocabulary terms from https://orcsws.thebiogrid.org/vocab/9?accesskey=[ACCESSKEY] | Enter enzyme terms you want to search for, invalid terms will be ignored. (eg. enzyme=cas9|suncas9 ) |
| cellLine | string | empty | Pipe-separated list of cell line vocabulary terms from https://orcsws.thebiogrid.org/vocab/10?accesskey=[ACCESSKEY] | Enter cell line terms you want to search for, invalid terms will be ignored. (eg. cellLine=hela|ramos cell ) |
| cellType | string | empty | Pipe-separated list of cell line vocabulary terms from https://orcsws.thebiogrid.org/vocab/11?accesskey=[ACCESSKEY] | Enter cell type terms you want to search for, invalid terms will be ignored. (eg. cellType=lymphoma cell line ) |
| phenotype | string | empty | Pipe-separated list of phenotype vocabulary terms from https://orcsws.thebiogrid.org/vocab/12?accesskey=[ACCESSKEY] | Enter phenotype terms you want to search for, invalid terms will be ignored. (eg. phenotype=viability|toxin resistance ) |
| statisticalAnalysis | string | empty | Pipe-separated list of statistical analysis vocabulary terms from https://orcsws.thebiogrid.org/vocab/15?accesskey=[ACCESSKEY] | Enter statistical analysis terms you want to search for, invalid terms will be ignored. (eg. statisticalAnalysis=bagel|castle|ranks ) |
| organismsID | string | empty | Pipe-separated list of organism IDs from https://orcsws.thebiogrid.org/organisms/?accesskey=[ACCESSKEY] | Enter organisms ids you want to search for, invalid organism ids will be ignored. (eg. organismID=9606|10090 ) |
| pubmedID | string | empty | Pipe-separated list of pubmed IDs | Enter pubmed ids to search for, if they exist in our database. (eg. pubmedID=27869803|26627737 ) |
| screenID | string | empty | Pipe-separated list of screen IDs | Enter screen ids to search retrieve, if they exist in our database. (eg. screenID=172|12 ) |
/screen/<SCREEN ID> - Fetch all score results in a single screen
Fetches a set of proteins and associated score values for a single screen as specified by the <SCREEN ID>. (e.g. https://orcsws.thebiogrid.org/screens/1?accesskey=[ACCESSKEY]).
Valid Params
| Parameter | Type | Default | Valid Values | Description |
|---|---|---|---|---|
| accessKey | string | NONE | Only 32 character Alphanumeric strings | All webservice access must supply a valid accessKey to prevent spamming of the service. Access Keys are free and openly available here. |
| format | string | “tab” | “tab”,“json” | ‘tab’ will return data in tab delimited text format. 'json' will return data in a javascript object notation formatted string. |
| header | string | “no” | “yes”,“no” | ‘yes’ will return data with a header attached (only applies to tab format). |
| hit | string | “all” | “yes”,“no”,“all” | ‘yes’ will return only scores considered significant, 'no' will return only scores considered insignificant, 'all' will return both significant and insignificant results. If no significance is determined for the screen, this option will be ignored. |
| score[X]Min | string | empty | float | This will set the lower bound for scores in the score.X column where X is an integer between 1 and 5. If no value is specified for a particular column, all results are returned. If there is no score.X value, this option is ignored. (eg. score1Min=-0.995 will limit results to those with score.1 value greater than or equal to -0.995) (eg. score2Min=0.23&score4Min=-5.6) |
| score[X]Max | string | empty | float | This will set the upper bound for scores in the score.X column where X is an integer between 1 and 5. If no value is specified, all results are returned. If there is no score.X value, this option is ignored. (eg. score3Max=2.75 will limit results to those with score.3 value less than or equal to 2.75) (eg. score2Max=0.56&score5Max=2.881) |
| idType | string | empty | Pipe-separated list of the terms 'gene','unknown','ambiguous' for different identifier types. | Enter which types of identifiers you want to see, or do not include this parameter to see all identifier types. (eg. idType=ambiguous|gene) |
| geneID | string | empty | Pipe-separated list of gene ids to search for. | Enter gene ids you want to search for, these are the identifiers in the IDENTIFIER_ID column. Note: This does not search ambiguous or unknown types. (eg. geneid=66050|66056|66044) |
| name | string | empty | Pipe-separated list of official symbols to search for. | Enter official symbol you want to search for, these are the identifiers in the OFFICIAL_SYMBOL column. Note: This does not search ambiguous or unknown types. (eg. name=dtd1|sult1e1) |
/version/ - Fetching REST Version Number
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: https://webservice.thebiogrid.org/version?accesskey=[ACCESSKEY].
List of Parameters
Filtering Results
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. You can also utilize our full list of example queries to give you an idea of how to get started.
| Parameter | Type | Default | Valid Values | Description |
|---|---|---|---|---|
| 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, ORDERED LOCUS 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. Some identifier types search multiple types simultaneously. UNIPROT or UNIPROTKB will search SWISS-PROT/TREMBL/UNIPROT-ACCESSION/UNIPROT-ISOFORM. REFSEQ will search REFSEQ-RNA-GI, REFSEQ-RNA-ACCESSION, REFSEQ-PROTEIN-GI, REFSEQ-PROTEIN-ACCESSION-VERSIONED, REFSEQ-PROTEIN-ACCESSION, REFSEQ-LEGACY. WORMBASE will search WORMBASE and WORMBASE-OLD. ENSEMBL will search ENSEMBL, ENSEMBL GENE, ENSEMBL PROTEIN, ENSEMBL RNA. |
| 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” | Pipe-separated list of NCBI taxonomy identifiers or “All”. Get full list of supported ids here | Only genes from these organisms 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. |
Error Handling
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.
