Integrated API Resources and Data Types

API Resources

The amount of publically available biomedical data is growing at a tremendous pace. Meanwhile, RESTful APIs has become a popular way for data providers as well as data curators to distribute their data for public access. However, all these APIs and the biological knowledge underneath them are fundamentally unconnected. By solving the interoperability issue across different APIs, BioThings Explorer manages to stitch together individual APIs and build them into a network of linked web services. The following table list current public API resources which has been integrated by BioThings Explorer.

API URL Description
MyGene.info http://mygene.info Gene Annotation Service
MyChem.info http://mychem.info Drug/Chemical Annotation Service
MyDisease.info http://mydisease.info Disease Annotation Service
Reactome https://reactome.org Pathway Analysis Service
DGIdb http://dgidb.org Drug Gene Interaction Database
BioLink https://api.monarchinitiative.org/api/ Linked Biological Knowledge
Disease Ontology http://disease-ontology.org/ Disease Ontology API Service
Pharos https://pharos.nih.gov/idg/index Drug Gene Disease Interaction
EBI OLS https://www.ebi.ac.uk/ols/index Ontology Lookup Service
ChEMBL https://www.ebi.ac.uk/chembl/ Database of Bioactive Drug-Like Small Molecules
PubChem https://pubchem.ncbi.nlm.nih.gov/ Open Chemistry Database
Taxonomy https://t.biothings.io Taxonomy Annotation Service
HGNC https://www.genenames.org/ Curated online Repo Gene Nomenclature

Note

If you are interested in integrating your own/interested API resource in BioThings Explorer, you could visit SmartAPI Website to create a SmartAPI specification for your API. You could also place an issue at BioThings Explorer Github Repo to let us know.

To retrieve all integrated APIs in BioThings Explorer using the pyton client:

In [1]: from biothings_explorer import MetaData

In [2]: metadata = MetaData()

In [3]: print(metadata.list_all_api_resources())

URIs and Prefixes

Uniform Resource Identifiers (URIs) is a string of characters designed for unambiguous identification of resources. URIs are used in BioThings Explorer to uniquely identify a biological entity. For example, ncbigene ids is represented by http://identifiers.org/ncbigene/ as its unique identifier. Identifiers.org provides stable, persistent and resolvable URIs for the identification of life science data, and is chosen as the default URI repository in the implementation of BioThings Explorer. Meanwhile, there are also cases where existing URIs could not be found in existing URI repos. In this case, we will create a temporary URI for it. Prefix is essentially a short form of URI. Every URI has its corresponding prefix. Users of BioThings Explorer could use prefixes to navigate through the service.

To retrieve all prefixes used in BioThings Explorer using the pyton client:

In [1]: from biothings_explorer import MetaData

In [2]: metadata = MetaData()

In [3]: print(metadata.list_all_prefixes())

Semantic Types

Every URI/prefix used within BioThings Explorer is associated with a specific semantic type, e.g. gene, variant, chemical, etc. By implementing this feature, users can easily find the right API to use based on the scenario.

To retrieve all prefixes used in BioThings Explorer using the pyton client:

In [1]: from biothings_explorer import MetaData

In [2]: metadata = MetaData()

In [3]: print(metadata.list_all_semantic_types())

Predicates

Predicate specifies the relationship between the input and the output. Users could use predicate to filter the results from BioThings Explorer. For example, the predicate between a drug and a gene/protein could be inhibit, block, agnoize, etc..

To retrieve all predicates used in BioThings Explorer using the pyton client:

In [1]: from biothings_explorer import MetaData

In [2]: metadata = MetaData()

In [3]: print(metadata.list_all_predicates())