Bioperl: article for Dr. Dobb's Journal

Andrew Dalke dalke@bioreason.com
Fri, 09 Oct 1998 13:47:23 -0700


Lincoln Stein <lstein@cshl.org> said:
> Alternatively, I could focus on the alignment algorithm
> entirely, and this is what the editor has suggested.  I hate leaving
> out all the OO stuff, however.

I'm a bit surprised that they want to keep the alignment
algorithm.  I suppose I've been reading Dr. Dobb's too
long as I recall the April 1992 issue has a full article on
dynamic programming in the article "Finding String Distances"
(p56 if you still have it :)

It has a sub topic (two paragraphs) on "Comparing Genetic
Sequences", a description of how dynamic programming works,
a C implementation of the basic Levenshtein method, and
some discussion of speedups, including the statement "Molecular
biologists have taken these general-case algorithms and modified
them for specific circumstances, such as the FASTA family of
algorithms by Kipman and Pearson.  In these special cases,
complexity has been lowered to roughly O(m)."

For comparison, the source code is on-line at

http://www.ddj.com/ftp/cgi/zipextract.cgi/ftp/
1992/1992.04/1992-apr.zip/STRING.ASC

which appears to be a somewhat different implementation than
yours.


Ewan Birney <birney@sanger.ac.uk> said
> To be honest I think the OOP stuff is more important than the
> algorithm and the fact that perl is the *ideal* language to glue
> and provide a development 'framework' is v. important.

*Ahem*.  You might want to stay away from religious issues like
that  :)  (I know, this is the bioperl list, but I'm here
because I want to keep up on computational chemistry and biology
development environments, even though I currently do most of my
programming in Python.)

> I'd go OOP-Perl to say that it is more than a web/systems
> glue language.

  But doesn't implementing alignment code in Perl shows that
just as well as showing it's use for OO development?  Still,
I would tend to agree that my interest is in how you set
up a large system using data encapsulation and all those other
CS buzzwords, which corresponds to the part:

> Programmers who prefer the object paradigm can use Perl to
> create object-oriented classes and methods.

Which to me is a more important thing than the details of an
standard algorithm which are found in an earlier DDJ and in
Knuth.

						Andrew Dalke
						dalke@bioreason.com
=========== Bioperl Project Mailing List Message Footer =======
Project URL: http://bio.perl.org/
For info about how to (un)subscribe, where messages are archived, etc:
http://www.techfak.uni-bielefeld.de/bcd/Perl/Bio/vsns-bcd-perl.html
====================================================================