Skip to content

biopragmatics/bioversions

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

Bioversions

PyPI PyPI - Python Version PyPI - License DOI Code style: black Powered by the Bioregistry

What's the current version for each biological database?

A daily updated static listing of all current versions (that are incorporated) can be found at https://biopragmatics.github.io/bioversions.

πŸš€ Installation

$ pip install bioversions

πŸ’ͺ Usage

import bioversions

assert bioversions.get_version('biogrid') == '4.2.192', 'This was true on Dec 5th, 2020!'

# If you want more information, use the resolve() function
bioversion = bioversions.resolve('biogrid')
assert bioversion.version == '4.2.192'

By default, the results are cached and only refreshed once per day with the help of cachier. The cache is stored in ~/.data/bioversions. The cache location can be overridden by setting the BIOVERSIONS_HOME environment variable via pystow.

🌐 Web Application

While https://biopragmatics.github.io/bioversions provides a daily updated static listing of the database, you can run a dynamic version with an API from your shell with:

$ bioversions web

Options can be listed with bioversions web --help.

You can navigate to http://localhost:5000 to see all versions as HTML or programmatically resolve given databases with the http://localhost:5000/database/<name> endpoint like in the following:

import requests

res = requests.get('http://localhost:5000/database/biogrid').json()
assert res['success']
assert res['result']['name'] == 'BioGRID'
assert res['result']['version'] == '4.2.192', 'This was true on Dec 5th, 2020!'

CLI Usage

You can use bioversions get to incorporate the latest versions in your shell scripts or REPL usage like in:

$ wget "https://downloads.thebiogrid.org/Download/BioGRID/Release-Archive/BIOGRID-$(bioversions get biogrid)/BIOGRID-ALL-$(bioversions get biogrid).mitab.zip"

πŸ™ Contributing

To add more databases to the list, you can create a new submodule of bioversions.sources and extend the bioversions.utils.Getter class to identify the most recent version for your target database. See bioversions.sources.biogrid as an example.

πŸ‘‹ Attribution

βš–οΈ License

Code is licensed under the MIT License.

🎁 Support

The Bioversions 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

The development of the Bioregistry is funded by the DARPA Young Faculty Award W911NF2010255 (PI: Benjamin M. Gyori).