Modules
The list below is incomplete. For a full list of modules, see the dynamic module documentation in blipdoc.
Introduction
Blip consists of different prolog modules covering different areas of knowledge withins the life sciences - sequences, analysis, ontologies, phylogenetics, pathways, etc. These modules are largely independent - you may only need to use one of the modules below for your research.
The modules are in two sections: MAIN and EXT. The MAIN modules are all in pure prolog and should run without problems. The EXT modules use the SWI-Prolog foreign language interface to use other libraries (currently C, but java and C++ may be on the cards for the future).
Of the Main modules, some are bio modules (containing code specific to some subdomain of biology), and some are generic modules (which may be of interest to other SWI-Prolog users regardless of their interest in bioinformatics). The latter may eventually be split off from blip and go into independent packages.
It may also be an idea to become familiar with some of the standard SWI-Prolog packages
Package List
Main Bio Modules
These modules contain specific biological semantics. There are three kinds of modules:
- data or domain model modules, which define a set of data predicates (facts) and view predicates over these facts, which can be imported from some external file (see the io module). Data modules should be named with the suffix _db. Data modules can also be thought of as relational database schemas (albeit with added behaviour).
- utility modules, which do not depend on any data module, and do not require any data to be stored in the database.
- bridge modules, which map one data model to another. Blip does not insist on everything conforming to one uber-model. For example, sometimes it is convenient to model genomic features using the seqfeature_db model, and other times it is more convenient to model them as instances of SequenceOntology classes using the ontol_db module or SemWeb
This data module can use the following inter-model bridges
This data module can use the following inter-model bridges
This data module can use the following inter-model bridges
This data module can use the following inter-model bridges
This data module can use the following inter-model bridges
This module makes use of:
Parsers
File format parsers - these convert from flat files conforming to some grammar into a list of prolog terms. These prolog terms may then later be converted to datalog facts in one of the db modules above; or the prolog terms may be an end in themselves
Most parsers will be prolog DCGs. This means they may be reversible - from prolog terms to flat file syntax
Generic Modules
General purpose modules, not specifically tied to ontologies, bioinformatics or biomedical applications
(These modules may also be of interest to non-bio programmers)
Bio Ext Modules
These modules live in the "ext/" directory, and are not installed by default. To install, descend into this directory and follow the instructions there.
The idea is that this directory will contain modules that use the SWI foreign language interface to call C libraries for tasks that may be slow in Prolog. So far this just has one proof of concept module