blipkit directory reorganization

previously the layout was


This has been simplified to:


Some URLs in some of the previous posts should be modified accordingly

In addition, each sub-library now has a standard organization:

    conf/ -- configuration modules
    t/ -- plunit tests (.plt files)
        data/ -- data for tests
    examples/ -- example code
    doc/ -- documentation


It is done.

See previous post.

blip goes git

The anon svn server is down and likely to stay down, which is the final impetus for moving the repo to github, following in the footsteps of BioPerl. Thea is already on github.

I will most likely create a fresh project rather than attempting to migrate history with svn2git. Once the transition is done, I’d like to make a few organizational changes:

  • Rename all .pro files to .pl
  • simplify directory structure, package/blip/X/ –> X/
  • move from svn to github
  • merge phylo/ and homol/
  • merge curation/ and ontol/
  • separate project for each package? use git submodules
  • move sql/sql_schema/X to appropriate package; e.g. schema_enscompara to phylo/
  • test directory for each package
  • move test files to individual packages
  • separate distros/projects for non-bio stuff

Exploring pathway data

I’ve added a document on
exploring pathway data to blipdoc. I’ll highlight some of the salient points on this blog at a later date.

blip and swi-prolog 5.8.x

The SWI stable release series has now reached 5.8.x ( Blipkit installation was previously broken for the 5.8.x series (and the later 5.7.x releases) due to changes in how SWI handles the user and system modules, but this has now been fixed. You should be able to grab the latest from svn and just type

sudo make install

Thea paper accepted for OWLED2009

Provisional version of the paper up on:

(new) Thea website

(pending reivisions)

ICLP 2009

My invited talk from ICLP-2009 is available from slideshare:


Unfortunately I didn’t get to go into detail in some sections, particularly Thea.

Overall I had an excellent time, good to meet many LP luminaries and users.

Towards portability with Thea2

The Thea OWL package is currently SWI-specific. It would be nice to use this with other prologs, particularly to take advantage of tabling in combination with DLP programs generated from OWL.

I’m impressed by the prolog-commons effort, particularly the convergence we are seeing between Yap and Prolog. Currently the core parts of Thea work with Yap, although there are some annoyances (Yap is unfamiliar with the useful debug/3). Unfortunately the excellent semweb package is still SWI-specific, so you will need to convert your ontology to axioms in prolog syntax first. OWL-XML should in principle be possible, as Yap-6 includes the SWI sgml package, although this appears not be working yet.

For other prologs the lack of a standard module system is the main hindrance. I have added a simple translator to the Thea2 makefile that will strip module declarations generating mostly ISO conformant prolog that can be used with GNU Prolog and XSB. Again, this is just for the core parts. XSB does include the sgml package so parsing OWL-XML is possible with some difficutly, although there are some annoyances such as incompatibilities in the load_structure/3 predicate.

I’m encouraged to hear that these 4 open source prologs are converging on a standard module system, so we should have better compatbility in the future. Converging on a FLI may be too much to ask, so it would be useful to have prolog implementations of xml and rdf parsing to use as fallbacks if the C libs are not present or usable.

readline in XSB

The lack of readline support in XSB used to drive me mad. This deficit has been noted by others.

There is in fact a simple solution. Perhaps this is obvious, but I only just discovered it, and I couldn’t find it on a google for xsb readline so I’ve included it here:

* Install rlwrap
* Add something like the following to your .profile: alias xsb="rlwrap -C $HOME/XSB/bin/xsb"

Suddenly interactive programming with XSB becomes ten times easier..

Blip at ICLP2009

I will be at ICLP delivering a talk on blipkit and my experiences – positive and negative – applying logical programming to biological applications. Looking forward to meeting many of the key LP players!