| Literature DB >> 26702340 |
Rajeswari Swaminathan1, Yungui Huang1, Soheil Moosavinasab1, Ronald Buckley1, Christopher W Bartlett2, Simon M Lin1.
Abstract
The constant improvement and falling prices of whole human genome Next Generation Sequencing (NGS) has resulted in rapid adoption of genomic information at both clinics and research institutions. Considered together, the complexity of genomics data, due to its large volume and diversity along with the need for genomic data sharing, has resulted in the creation of Application Programming Interface (API) for secure, modular, interoperable access to genomic data from different applications, platforms, and even organizations. The Genomics APIs are a set of special protocols that assist software developers in dealing with multiple genomic data sources for building seamless, interoperable applications leading to the advancement of both genomic and clinical research. These APIs help define a standard for retrieval of genomic data from multiple sources as well as to better package genomic information for integration with Electronic Health Records. This review covers three currently available Genomics APIs: a) Google Genomics, b) SMART Genomics, and c) 23andMe. The functionalities, reference implementations (if available) and authentication protocols of each API are reviewed. A comparative analysis of the different features across the three APIs is provided in the Discussion section. Though Genomics APIs are still under active development and have yet to reach widespread adoption, they hold the promise to make building of complicated genomics applications easier with downstream constructive effects on healthcare.Entities:
Keywords: Application Programming Interface (API); Clinical; Data sharing; Genomics; Sequencing
Year: 2015 PMID: 26702340 PMCID: PMC4669666 DOI: 10.1016/j.csbj.2015.10.004
Source DB: PubMed Journal: Comput Struct Biotechnol J ISSN: 2001-0370 Impact factor: 7.271
Fig. 1The figure depicts the basic working function of an API. Application A is a third-party application, and Applications B and C are other applications with data-rich backend. A user connects to the third-party application, which then sends in requests, on behalf of the user, to Applications B and/or C and depending on the authentication being successful, receives data back. The figure also shows how a single API can promote interoperability across different data sources, such as B and C.
Fig. 2A workflow showing the flow of information through the Google Genomics API. Since there is no real application using the API currently, developers at Google have created a web interface through the Google Developer's Console that allows users to send requests for data access through Google Genomics API. Users log in through the Developer Console and send API request calls to the cloud to fetch information. For example, the figure above depicts an API call for extracting all variants within a given variantSet and chromosomal location. With a successful authentication, Google Cloud will respond back to the user with a JSON dictionary, as shown in the figure.
Fig. 3An overview of the Google Genomics Data Model showcasing the key resources and their relationship to one another.
Fig. 4Schematic representation of the SMART containers and how both the SMART Genomics API as well as the SMART Clinical API can communicate through the common EMR App (Electronic Medical Record) by accessing data from different sources.
Fig. 5Workflow for the 23andMe API. A 23andMe customer, through a third-party application, sends API calls requesting for their genotypes within a given chromosomal location. This information is present within the 23andMe database as the customer's genetic test analysis report. Once the third-party application is successfully authenticated, the appropriate response is sent back to the customer. This response can then be combined with other sources of information for a more detailed downstream analysis and visualization.
A comparative view across the three Genomics APIs for a list of features.
| Features | Google Genomics | SMART Genomics | 23andMe |
|---|---|---|---|
| Currently, limited to only sequencing information in the form of reads, variants, and annotation | Some of the Genomics resources are extensions of previously existing Clinical resources | Has capability to use both genomics and clinical resources | |
| Data need to reside within Google Cloud Storage | Data available within EHR's and other genomics data sources | Data from 23andMe database | |
| Returns only JSON formatted response | Returns either JSON or XML formatted response | Returns JSON formatted response | |
| Can import both reads and variant data from BAM and VCF files | Create call available for certain resources | API only used for data retrieval through GET calls | |
| Available | Available | Not available | |
| Not available | Available | Available | |
| Client libraries and interactive API Explorer through Google Console | Some applications like Genomics Advisor, Variant Mapper currently use the API | Not available | |
| Uses OAuth2.0 | Uses OAuth2.0 | Uses OAuth2.0 |