Pack Ann: bio_db 3.1 + bio_db_repo 20.3.8 + lib 2.6

New version of bio_db is now available on the pack server.

Installation

?- pack_install( pack(bio_db) ).

bio_db is a pack servicing high quality biological data. The data reside with pack(bio_db_repo).

The pack provides data from some of the best resources for biological data, including NCBI, HGNC, EBI and STRING.
If you install bio_db_repo all data is accessible, otherwise data tables will be downloaded as you need them.
bio_db_repo contains 64 tables taking 270Mb of zipped space.
Assuming Prolog-only access to data, then a maximum of 3.1 Gb of space will be used.
The first time a Prolog table is accessed, it is (a) expanded from the zip form,
and (b) a .qlf is generated automatically that will enable faster future loads.

Data tables are served as Prolog facts that are either loaded in memory via fast loading qlfs or served-from-disk from a variety of
database engines (including SQLite, Berkeley and RocksDB).

Version 3.1 depends on pack(lib) 2.6, which allows packs to be composed of a hierarchy of “cells”.

Currently bio_db serves human and mouse data.

Both
?- use_module( library(bio_db) ).
and
?- use_module( library(lib) ).
?- lib(bio_db).

load the “full” module.
In either case, only hot-swappable code is loaded at this point.

Test with:
?- map_hgnc_symb_hgnc( ‘LMTK3’, Hgnc ).
Hgnc = 19295.

?- lib( & bio_db ).
loads the skeleton of the module (prolog/bio_db) but none of the cell files that give access to data predicates.
This is usually how the cell files get access to the core predicates.

?- lib( bio_db(mouse) ).
limit access to mouse data only.

?- lib( bio_db(hs) ).
access to human data only.

?- lib( bio_db(hs(hgnc)) ).
access to the HGNC datasets for human.

As of bio_db 2.0 all the code for fetching the data
and preparing them to the bio_db formats is publicaly available (auxil/build_repo).
On a Linux-like system a single query downloads all data
from primary sources and transform them to bio_db format
(auxil/build_repo/std_repo.pl ?- std_repo([]).)

links:
(ICLP 2019 paper): https://arxiv.org/abs/1909.08254
http://stoics.org.uk/~nicos/packs/sware/bio_db
https://github.com/nicos-angelopoulos/bio_db
http://stoics.org.uk/~nicos/packs/sware/bio_db_repo
http://stoics.org.uk/~nicos/packs/sware/lib

Nicos Angelopoulos
March 9th, 2020

3 Likes