Lisp, the second-oldest programming language in common use and a staple of the artificial intelligence programming community, could become the primary language for bioinformatics as the discipline moves into knowledge-based computing, said Jeff Shrager, webmaster for www.biolisp.org. The website was launched recently by Lisp advocates in an effort to promote wider use of the language in bioinformatics.
Shrager, of the Carnegie Institution of Washington, said that Perl, C, and other current bioinformatics programming languages are fine for the low-level number-crunching demands that the field has been faced with until now, but as the industry moves to the next level — systems modeling, knowledge-based annotation, functional ontologies, and automated reasoning — Lisp will become the language of choice. While
Lisp is robust and powerful enough to handle the complexities of higher-level reasoning, Shrager said that the language is so easy to learn that he was able to teach an eighth-grade class how to write a knowledge-based reasoning program in one day.
One reason that Lisp has not yet gained popularity as a bioinformatics language, according to Shrager, is that it is not a Unix offshoot like Perl and Python, and therefore hasn’t appealed to the majority of bioinformaticists, who tend to favor open source.
Initially the website will act as a resource for the community to share methods and information on the use of Lisp for bioinformatics applications. While pieces of code can be downloaded from the site and a demo version is available for free, the entire code is not yet open source, Shrager said, although the project hasn’t ruled out that possibility.
“We’re hoping that when we get to the point where people in the biolisp community want to have that kind of access that someone will step forward and say, ‘I’m willing to do the open source piece of this,’” said Shrager.
“It’s a community resource and the people in the community will choose where it goes,” Shrager said. “We’re trying to enable the community.”
Shrager envisions eventual integration between Lisp-like languages and Perl and C as has happened in fields such as chemistry or physics, which often use high-level and low-level reasoning together in a hybrid approach. He said it is likely that the Perl community will start implementing Lisp-like functions in Perl.
But the coordinator of the bioperl effort, Ewan Birney, a team leader at the European Bioinformatics Institute, doesn’t agree with this scenario.
“Perl and Lisp are very different languages doing very different things,” he commented via e-mail. “You would not want to be writing the sorts of systems-glue people have in Perl with Lisp, nor would you want to write a self-modifying AI system in Perl.”
Birney said that biolisp would probably be very useful for some areas “if it learns how to play nicely” with bioperl, biojava, and biopython.
Regardless of its current level of acceptance in the bioinformatics community, Shrager predicted that within a decade, Lisp-like languages will become the norm as the focus shifts to higher-level knowledge-based programming.
SRI International’s Peter Karp, who is also a member of the biolisp.org steering committee, collaborated on EcoCyc, a database of E. coli genes and metabolic pathway data, which was written entirely in Lisp. “ Lisp gives us a powerful software development environment that lets our group efficiently maintain a large code base so we can focus our main efforts on our research,” Karp said.
Besides Shrager and Karp, other steering committee members include Larry Hunter and Imran Shah of the University of Colorado School of Medicine and Russ Altman of Stanford Biomedical Informatics, Stanford University.
The site is hosted by Lisp development tool vendor Franz in exchange for a link on the biolisp.org website.