About Blip
Blip is a collection of logic programming modules intended primarily for bioinformatics and biomedical applications, although it contains some modules which may be of more general interest. Blip is intended to be both an application library, and a deductive database/query system. Blip is written in SWI-Prolog, a fast, robust and scalable implementation of ISO Prolog.
Blip is Free Software, available, licensed under the LGPL.
Blip, aka blipkit can be cited as...
Features
Here are some distinguishing characteristics of Blip
- Lightweight. Bloat-free: Blip only has as many modules as it needs to do its job.
- Fast.
- Declarative. Say what you want to do, not how you want to do it
- Blip can be Query-oriented: specify your data sources and ask your query
- Blip can be Application-oriented: it is designed to be used as an application library used by other bioinformatics tools
- Mature and fully functional ontology module for handling both OBO-style ontologies and OWL ontologies.
- Modules for handling biological sequences and sequence features. [currently limited functionality, added as needed]
- A systems biology module for querying pathway and interaction data. [currently limited functionality, added as needed]
- Relational database integration. SQL can be viewed as a highly restricted dialect of Prolog. Although the SWI-Prolog in-memory database is fast and scalable, sometimes it is nice to be able to fetch data from an external database. Blip contains a generic SQL utility module and predicate mappings for the GO database, Ensembl and Chado
- Integration with a variety of bioinformatics file formats. SWI-Prolog has a variety of fast libraries for dealing with XML, RDF and tabular data files. Blip provides bridges from bio file formats encoded using these syntaxes into its native models. For other syntaxes, Blip seamlessly integrates other packages such as BioPerl and go-perl. Although these dependencies require extra installation, there is no point reinventing the wheel
- Rapid development of web applications. Blip extends SWI-Prolog's excellent http support with a simple and powerful logical-functional-programming style application server, serval. This has been used to prototype a fully-featured next-generation replacement for the GO project amigo browser.
- Scalable. Blip is not intended to be a toy system on toy data (although it is happy to be used as a toy if you like!). It is intended to be used as an application component and a tool operating on real-world biological and biomedical data
- It's free!
- It's fun!