Darwin 2.0 Available

Marcel Turcotte turcotte at fir.lif.icnet.uk
Thu May 25 12:21:34 EST 2000

Hi Bill,

I worked with Darwin for two years, 1995-97, while doing a first postdoc
and will probably use it for teaching purposes with my new job.

In your message you asked about the contrasts between Darwin and
bioperl, biojava, biopython, bioxml.

* Darwin is a great tool for exploratory studies.  If you're familiar
  Mathematica, Maple, S (Splus or R) you could appreciate working with
  Darwin.  Darwin is an interpreter built on the top of Maple's
  micro-kernel (Gaston Gonnet is co-founder of the company ;-).

  Unlike perl, Darwin provides a read-eval-loop and a typical use
  consists in starting a session (note that the names of the functions
  are according to version 1.6 while 2.0 has a new more uniform naming

  Darwin: Sequence Searching Facility
  Version 1.6, Jan 1994
    (c) E.T.H. Zurich

  Loading a sequence database,

  > Load('SwissProt');

  Fetching homologous sequences,

  > seqs := PepSearch('DEPTTDLPICEQAFGD ... AGLCFGYMKL');

  Doing sequence comparision using dynamic programming algorithm,

  > DynProgr( seqs[1], seqs[2], DM);

  Then doing pairwise and multiple sequence alignments, statitics,
  building phylogenetic trees, etc.

  So that you don't have to use a mixture of packages and more
  importantly you don't have to worry about transforming the output of
  one program into the input of another one, the variables resides in
  the interpreter, I think that for teaching purposes this is a big
  plus as one can focus on the more theoretical aspects of the

* Darwin has a good interface to foreign languages via RPC.  For
  example in one page of C code I glued the GNU regular expression to
  Darwin and this allows me to apply regex to sequences within Darwin.

  By the same token you can develop (prototype) your application in
  Darwin's language and later rewrite in C the parts which need speed.

* Darwin has build mechanisms for parallel processing which makes
  farm-like computations easy.

* You mentioned bioxml, since it's beginning, 1991 I think, Darwin has
  been using SGML for its databases.

* Darwin has builtin a variant of suffix tree data structure called
  Patricia tree.

* Darwin has an interface to DBM.

* As a language Darwin as some nice features, such functional
  constructs (zip a generalise map) and a nice type system.

* As most interpreted languages, programs implemented in Darwin are
  slow, but the primitives (sequence retrieval, dynamic programming,
  etc.) are efficiently implemented in C.

* Amongst the negative aspects, to me, is the two level scoping
  (global/local), I would prefer nested lexical scoping /a la/ Scheme.

* Previous versions had some bugs as you would expect from an
  experimental product but some persons could not cope with that.

Hope this helps,

Marcel Turcotte                          Biomolecular Modelling Laboratory
M.Turcotte at icrf.icnet.uk                 Imperial Cancer Research Fund
Phone/Fax +[44]-(020)-7269-3348/3258     PO Box 123, 44 Lincoln's Inn Fields
http://www.bmm.icnet.uk/people/turcotte  London WC2A 3PX, England

                New address effective July 1st 2000,

                School of Information Technology and Engineering
                University of Ottawa
                150 Louis Pasteur
                P.O. Box 450, Station A
                Ottawa, Ontario
                K1N 6N5 Canada

                Tel: (613) 562-5826
                Fax: (613) 562-5187
                Generic e-mail address: info at site.uottawa.ca
                Web site: http://www.site.uottawa.ca

More information about the Comp-bio mailing list