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.

Post a comment or leave a trackback: Trackback URL.


  • Tiago Antao  On July 22, 2009 at 11:35 am

    Great presentation!

    I see a few problems in making Prolog a viable alternative for Bioinformatics:

    1. Lack of almost everything bio related. This could be solvable with a bridge to Python/Perl (which would allow attaching to biopython or bioperl). Note that biojava has a somewhat different scope and objective than bioperl/python. While bioperl/python are mainly targeting direct users for data analysis, biojava mainly provides the algorithmic building blocks so that other infrastructure developers can build on (something one might not want, unless one wants to import the whole java semantics and culture). A bridge to biopython/bioperl would allow for a temporary solution for people wanting to tackle realistic problems in prolog (like, say retrieving a sequence from genbank, or calculating inbreeding statistics). There are also a plethora of non-bio libs that are absolutely fundamental (e.g., I could not live with the wonderful python chart library matplotlib) and there is no viable/productive replacement in prolog

    2. A big disdain from the general prolog people in tackling “real” problems (SWI-Prolog being the exception). If you have a (biologically) interesting problem that is not smart or elegant from a conceptual point of view, you are mostly not interesting for most of the community.

    Disclaimer: I am a member of the biopython developement team and also a Prolog fanatic.

    • blipkit  On July 22, 2009 at 2:13 pm

      Thanks for your comments!

      I largely agree.


      A language-level bridge is not always required. For example blip includes a few perl/bioperl scripts for generating certain formats to tabular form, which is then easily manipulated in prolog. For your example about retrieving sequences from GenBank – using REST services is rather easy using the SWI http library. Parsing of the XML results is also simple with the sgml lib. But I certainly wouldn’t want to rewrite the genbank parser in any language, so I would just convert this by executing a script via shell/1. But I’m seeing this sort of hack required less as more is available from XML/JSON over REST.

      There is also a bridge to R from SWI-Prolog which helps with a lot of statistics and plotting. But if you’re doing a lot of this you probably want to be living in R and doing a lot of the processing upstream.

      This sort of thing goes for all the Bio* projects of course. I’m fairly wedded to BioPerl when it comes to genomics because of the support for a plethora of formats. If I could use these easily from BioPython then I might think about making the switch…


      Absolutely! I’m not sure if it’s disdain as such but there is a lack of interest in or perhaps even confusion about problems that are “solved”. However, I think there is a recognition that the LP community will continue to dwindle if they don’t focus more on applications, so I’m hoping we’ll see a change in focus.

      SWI-Prolog is very practical-problem oriented. I think we’ll soon be able to include Yap here too.

      One issue is that many of the “real” problems are in the commercial domain and are either not publicly known or use proprietary systems.


  • blipkit  On September 17, 2009 at 8:08 pm

    Paper also available from

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )


Connecting to %s

%d bloggers like this: