Skip to content

RESTful web services

Nacho edited this page Jul 29, 2015 · 22 revisions

Understanding the URL

The general structure of a CellBase RESTful call is:

http://HOST_URL/{version}/{species}/{category}/{subcategory}/{id}/{resource}?{filters}

Where HOST_URL is http://bioinfo.hpc.cam.ac.uk/cellbase/webservices/rest

Sections in braces are parameters, so they can be treated as variables.

Example:
bioinfo.hpc.cam.ac.uk/cellbase/webservices/rest/latest/hsapiens/feature/gene/BRCA2/info

As is explained later in this documentation, this RESTfull WS will get all the information available for the gene BRCA2 in human using the latest version.

The available parameters are:

  • version: indicate the CellBase version to retrieve information from. More information here.
  • species: species to get information from. More information about the available species and assemblies here.
  • category and subcategory: these parameters must be specified depending on the nature of your input data. For example, if we want to query CellBase by a genomic region (e.g. 13:32889575-32889763) we should use the genomic category and region subcategory. More information here.
  • id: the user query. More information here.
    *resource: what the user want to retrieve from the id. More information here.
Version

Versions are numbered as v1, v2, v3, etc. At this moment the latest stable version is v3. However, the latest stable version will be always coded as latest.

Species

A list of the species available for version v3 can be found here Use the abbreviated code to indicate the species. For example, hsapiens for Homo sapiens or mmusculus for Mus musculus.

Category and subcategory

There are 4 main categories:

Category Description Subcategories
Genomic Genomic category makes reference to genomic coordinates Position, Variant, Region
Feature Feature category involve all elements which have a defined location on the genome and provides an easy way to retrieve cross references for an ID Gene, SNP, Transcript, Protein, Xref, ...
Regulatory Regulatory category refers to all regulatory interactions involving transcription factors and microRNAs TFBSs, miRNAs
Network Network category makes reference to all types of networks and pathways, including the protein interactome, the regulatory network and Reactome Pathway
Id

This is the query parameter, it is the feature or term about we want to retrieve the information (resource). Its type must correspond with the subcategory.

NOTE: In order to improve performance, ID lists can be passed together in only one REST call separated by commas. Only 200 IDs are allowed. For larger queries user the CellBase client.

Examples:

Resources

Each Category and Subcategory can have different resources and actions allowed. They specify the type of result we want to obtain from the ID.

Examples:

NOTE: Resources must always be written in singular.

Filters and extra options

Filters and extra options can be added at the end of the REST query followed by ?. They are optional and can be combined using the & sign. E.g:
bioinfo.hpc.cam.ac.uk/cellbase/webservices/rest/latest/hsapiens/feature/gene/BRCA2/info?of=json&include=id,name,biotype

These are the available filters and options:

Help and metadata

The available main categories are listed at:
bioinfo.hpc.cam.ac.uk/cellbase/webservices/rest/latest/hsapiens

And the available subcategories for a main category are listed at:

Subcategories should specify the type of the id. Subcategories can be different for each category and are described within each of the categories mentioned above.

Each subcategory usage is shown by writing the subcategory name followed by /help, for example:

bioinfo.hpc.cam.ac.uk/cellbase/webservices/rest/latest/hsapiens/feature/gene/help

Swagger

Swagger project has been set up and is available at:

https://bioinfo.hpc.cam.ac.uk/cellbase/webservices/