Get metadata and ontological information about all biomedical entities.
Project description
Biolookup
Get metadata and ontological information about biomedical entities.
🔍 Querying the Biolookup Service
The Biolookup Service has an endpoint /api/lookup/<curie>
for retrieving metadata and ontological
information about a biomedical entity via its compact identifier (CURIE).
import requests
res = requests.get("http://localhost:5000/api/lookup/doid:14330").json()
assert res["name"] == "Parkinson's disease"
assert res["identifier"] == "14330"
assert res["prefix"] == "doid"
assert res["definition"] is not None # not shown for brevity
The INDRA Lab hosts an instance of the Biolookup Service at
http://biolookup.io, so you can alternatively use http://biolookup.io/api/lookup/doid:14330
.
The same can be accomplished using the biolookup
package:
import biolookup
res = biolookup.lookup("doid:14330")
assert res["name"] == "Parkinson's disease"
# ... same as before
If you've configured the BIOLOOKUP_SQLALCHEMY_URI
environment variable (or any other valid way
with pystow
to point directly at the database for an instance
of the Biolookup Service, it will make a direct connection to the database instead of using the
web-based API.
🕸️ Running the Lookup App
You can run the lookup app in local mode with:
$ biolookup web --lazy
This means that the in-memory data from pyobo
are used. If you have a large external database, you
can run in remote mode with the --sql
flag:
$ biolookup web --sql --uri postgresql+psycopg2://postgres:biolookup@localhost:5434/biolookup
If --uri
is not given for the web
subcommand, it
uses pystow.get_config("biolookup", "sqlalchemy_uri)
to look up from BIOLOOKUP_SQLALCHEMY_URI
or
in ~/.config/biolookup.ini
. If none is given, it defaults to a SQLite database
in ~/.data/biolookup/biolookup.db
.
🗂️ Load the Database
$ biolookup load --uri postgresql+psycopg2://postgres:biolookup@localhost:5434/biolookup
If --uri
is not given for the load
subcommand, it
uses pystow.get_config("biolookup", "sqlalchemy_uri)
to look up from BIOLOOKUP_SQLALCHEMY_URI
or
in ~/.config/biolookup.ini
. If none is given, it creates a defaults a SQLite database
at ~/.data/biolookup/biolookup.db
.
🚀 Installation
The most recent release can be installed from PyPI with:
$ pip install biolookup
The most recent code and data can be installed directly from GitHub with:
$ pip install git+https://github.com/biopragmatics/biolookup.git
To install in development mode, use the following:
$ git clone git+https://github.com/biopragmatics/biolookup.git
$ cd biolookup
$ pip install -e .
👐 Contributing
Contributions, whether filing an issue, making a pull request, or forking, are appreciated. See CONTRIBUTING.rst for more information on getting involved.
👀 Attribution
⚖️ License
The code in this package is licensed under the MIT License.
🎁 Support
The Biolookup Service was developed by the INDRA Lab, a part of the Laboratory of Systems Pharmacology and the Harvard Program in Therapeutic Science (HiTS) at Harvard Medical School.
💰 Funding
This project has been supported by the following grants:
Funding Body | Program | Grant |
---|---|---|
DARPA | Automating Scientific Knowledge Extraction (ASKE) | HR00111990009 |
🍪 Cookiecutter
This package was created with @audreyfeldroy's cookiecutter package using @cthoyt's cookiecutter-snekpack template.
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for biolookup-0.2.0-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | b5e60f8237b58c40c7000e86dfd1b0f38373ba201b31ea9e7daf789ec692a329 |
|
MD5 | 9c54dd9e56b0cd5dfd0d8c48931a6e3a |
|
BLAKE2b-256 | c73c8053f2669163174b574869c2f0abf40d1592baabb7ca283eff70fe2a55f7 |