Subject: Re:In sum... CCL:pythonVSperl...

From: Iraj Daizadeh <[email-masked]>
Date: Sun, 1 Aug 1999 23:54:13 -0400 (EDT)

Drs. Ehrlich and Dalke are thanked for their contributions
to addressing my query concerning the current use of python 
vs. perl in chem-bioinformatics. Dr. Hinsen is on vacation;
I am sure he'll have some input on this as well...Iam anxiously
awaiting his return to hear what he has to say...

Thanks again...iraj,

Iraj Daizadeh, Ph.D.
Harvard University
Department of Cellular and Molecular Biology
The Biological Laboratories
16 Divinity Avenue
Cambridge, MA 02138
Phone:   (617) 495-0783
         (617) 495-0560
Fax:     (617) 496-4313
Email:   [email-masked]
WebPage: http://mcb.harvard.edu/gilbert/daizadeh

xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
Original Query:

Hello. Perl seems to dominate the 
chem(bio)-informatical sciences these
days. An example of such dominance is
descibed on papers describing the BioPerl consortium
http://bio.perl.org (see, e.g., an article in 
http://www.bitsjournal.com
Bioperl:Standard perl modules for bioinformatics)...
The question is why...why has python been neglected
>from its role in the informatics fields....

Your responses would be appreciated...Iraj.

xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

Hello Iraj,

I think you'll have to note a clear separation here; in the bioinformatics 
(read sequence analysis as opposed to structure analysis) field, Perl had 
strong support from the start on. When I speak to bioinfo people here at 
EMBL, code reuse seems to be the dominant motive for choosing Perl.

In my eyes, things are different in the structure-related comp chem
field. Right now,  I see a lot of projects which use Python in favor
of Perl; for example look at Konrad Hinsen's excellent Molecular
Modelling Toolkit
(http://starship.python.net/crew/hinsen/mmtk.html). Companies like
Bioreason or Exelyxis are now looking for people with Python coding
experience.  People here in NMR at EMBL even dream about developing a
next-generation XPLOR as libraries to be used as Python modules. 

Given Python's excellent CORBA, number crunching and XML support, as
well as the Java integration and existing class libraries relevant to
the comp chem field, I think it's just a matter of time when Python
catches up. Tight integration with web application servers like
Zope (http://www.zope.org) could make a big difference in  writing web
services for the biocomputing community.

After having used Perl4 and Perl5 for years, I wonder where people see
advantages of Perl in the comp chem field? Comments anybody? 

Regards,

        Lutz
______________________________________________________________________

Lutz Ehrlich                    http://www.embl-heidelberg.de/~ehrlich
                                mailto:[email-masked]

European Molecular Biology Laboratory           phone: +49-6221-387-140
Meyerhofstr. 1                                  fax  : +49-6221-387-517
D-69012 Heidelberg, Germany                             

xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

---------- Forwarded message ----------
Date: Thu, 29 Jul 1999 17:24:27 -0600
From: Andrew Dalke <[email-masked]>
To: Iraj Daizadeh <[email-masked]>
Subject: Re: CCL:pythonVSperl...

Here are some bioinformatics/chemical inforamtics/structural
biology Python references:

http://theopenlab.uml.edu/development.html
http://starship.python.net/crew/hinsen/mmtk.html
http://starship.python.net/crew/dalke/
http://www.scripps.edu/pub/olson-web/people/sanner/html/cv.html
  (search for Python)

You'll notice most of these are structural based.  That's
probably from a combination of biases.  My background is in
protein structure modeling, so I'm prone to know more about those
types of efforts.

More relevant to your question, I've found that Perl is harder to
use for developing complicated data structures (eg, describing a
molecule in 3D) than Python.  On the other hand, most of the
traditional bioinformatics work seems heavily string based,
which is Perl's bread&butter.

I also know that Perl is still better in I/O performance than
Python.  I hear that the Perl implementation muck around with
implementation differences in the FILE* for STDIO to get about
a two-fold speed advantage over even generic C code.  Since for
many sorts of bioinformatics work, the needs are "traverse that
gigabyte file and extract this information", which is I/O
bound, perl makes sense.

Python's advantage comes with building larger or more complicated
programs, especially when several people are involved and the
code needs to be more maintainable and easier to read.  (The
Python community calls this "programming in the large").  It
is much easier to write reusable libraries -- and actually have
someone else understand them enough to reuse them -- in Python
than Perl.  That's why we've chosen Python over Perl for our
<plug>LeadFinder package for high-throughput screening analysis</plug>.

						Andrew Dalke
						[email-masked]

xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx