| Literature DB >> 28383659 |
Andrew Nightingale1, Ricardo Antunes1, Emanuele Alpi1, Borisas Bursteinas1, Leonardo Gonzales1, Wudong Liu1, Jie Luo1, Guoying Qi1, Edd Turner1, Maria Martin1.
Abstract
The Proteins API provides searching and programmatic access to protein and associated genomics data such as curated protein sequence positional annotations from UniProtKB, as well as mapped variation and proteomics data from large scale data sources (LSS). Using the coordinates service, researchers are able to retrieve the genomic sequence coordinates for proteins in UniProtKB. This, the LSS genomics and proteomics data for UniProt proteins is programmatically only available through this service. A Swagger UI has been implemented to provide documentation, an interface for users, with little or no programming experience, to 'talk' to the services to quickly and easily formulate queries with the services and obtain dynamically generated source code for popular programming languages, such as Java, Perl, Python and Ruby. Search results are returned as standard JSON, XML or GFF data objects. The Proteins API is a scalable, reliable, fast, easy to use RESTful services that provides a broad protein information resource for users to ask questions based upon their field of expertise and allowing them to gain an integrated overview of protein annotations available to aid their knowledge gain on proteins in biological processes. The Proteins API is available at (http://www.ebi.ac.uk/proteins/api/doc).Entities:
Mesh:
Substances:
Year: 2017 PMID: 28383659 PMCID: PMC5570157 DOI: 10.1093/nar/gkx237
Source DB: PubMed Journal: Nucleic Acids Res ISSN: 0305-1048 Impact factor: 16.971
Figure 1.The Proteins API services and their data exchange relationship. Starting from any service a user can retrieve information from another service using inter-relationships between the services. To illustrate, Proteomes defines the set of expressed Proteins in an organism. Proteins are composed of peptide sequences available from Proteomics. Proteins have functional sequence positional annotations called Features. Proteins sequences can contain variants that can be found using the Variation service. Antigen defines regions of a protein that antibodies have been produced against. Taxonomy is a service that can be used to 1. find the relationship between different organisms and 2. The taxonomical identifier for an organism that can be used to retrieve data from all the other services except Antigen as the Antigen service currently only covers human.
Currently supported Proteins API Get endpoints
| API end points | URLs (after: | Description summary |
|---|---|---|
| Proteins (including isoforms) | /proteins | Get list of UniProt entries |
| /accession | Get UniProt entry by accession | |
| /accession/isoform | Get UniProt isoform entries from parent normal entry accession | |
| /db/{dbtype}:{dbid} | Get UniProt entries by UniProt cross reference and its id | |
| /proteomes | Search Proteomes | |
| /proteomes/genecentric/{upid} | Fetch proteome gene centric proteins by proteome upid | |
| /proteomes/proteins/{upid} | Fetch proteome proteins by proteome upid | |
| /proteomes/{upid} | Fetch proteome by proteome upid | |
| /features | Get features of list of UniProt entries | |
| /features/type/{type} | Search for features of given type and search terms. | |
| /features/{accession} | Get UniProt features by accession | |
| /proteomics | Get proteomics peptides of list of UniProt accessions. | |
| /proteomics/{accession} | Get proteomics peptides mapped to UniProt by accession | |
| /variation | Get variation by search | |
| /variation/{accession} | Get UniProt variation features by accession | |
| /antigen | Get antigen of list of UniProt accessions. | |
| /antigen/{accession} | Get proteomics peptides mapped to UniProt by accession | |
| Coordinates | /coordinates | Query for entries with genomic location |
| /coordinates/{accession} | Get genome coordinates by accession | |
| /coordinates/{taxonomy}/location/{gstart}-{gend} | Get genome coordinate by location | |
| Taxonomy | /taxonomy (followed by:) | |
| /ancestor/{ids} | Returns the lowest common ancestor (LCA) of two taxa | |
| /id/{id} | Returns details about a taxonomy, its parent, siblings and children taxa | |
| /id/{id}/children | Returns a list of children taxa that belongs to a taxonomy | |
| /id/{id}/node | Returns details about a taxonomy | |
| /id/{id}/parent | Returns details about the parent | |
| /id/{id}/siblings | Returns a list of sibling taxa | |
| /ids/{ids} | Returns details on taxa parents, siblings and children taxa | |
| /ids/{ids}/node | Returns taxa details such as the rank, mnemonic, scientific name and common name | |
| /lineage/{id} | Returns the taxonomic lineage | |
| /name/{name} | Returns a list of taxonomy with the specific queried name | |
| /name/{name}/node | Returns a list of taxa with a specific name | |
| /path | Returns all taxonomic nodes that have a relationship with the queried taxonomy ID in a specific direction (TOP or BOTTOM) and depth level | |
| /relationship | Returns the path between two taxa |
Figure 2.Proteins API documentation for the proteins accession search end point. The Swagger™ API generates an interactive webpage where users can ‘try out’ the service with real queries. Results are returned in the ‘Response Body’ in the user selected response format (XML illustrated). The Proteins API webpages provide users with dynamically generated source code for common scripting and programming languages with their query options and filters fully integrated into the source code that can be used as standalone scripts or programs or integrated into users’ large projects (Perl source code illustrated).