Hi Jan,
  After coming from Ruby and previous OO languages I think many of us
have the same questions.  For starters, I'd recommend reading a couple
other libraries to get a sense for how people organize libraries.
That will probably give you the most concrete sense for how to really
get started.  Beyond that, I think it is best to just start out light
weight and see how far you can go.  Represent anything you currently
think of as an object, a.k.a. a bag of properties, as a regular
clojure map.  Don't use records or protocols or structs or metadata or
anything fancy, just regular old maps.  For modeling sequential data,
like DNA base pairs, use vectors.  Then create a series of functions
to read these things in, write them out, and perform some different
transformations.  Don't worry so much about where or how in memory you
are going to "store" stuff.  Just write a library of functions that
can read, write and manipulate your objects of interest.  That's
pretty much a functional library, and you'll surprise yourself how
much can be done in this way.

I'm also interested in learning more about bio-informatics so I'd be
willing to help out.  What is your first target application of the
library?  What specific kind of research do you want to support?

-Jeff

On Jun 28, 12:15 am, jandot <jan.ae...@gmail.com> wrote:
> Hi all,
>
> I have been a ruby user for several years and have contributed to the
> bioruby toolkit for bioinformatics. Lately however I got interested in
> clojure as it's a functional language and should be very good for
> working with the huge datasets we have to handle.
>
> Although there are bioinformatics toolkits for many OO languages
> (biojava, bioperl, biopython and bioruby), nothing similar exists for
> clojure yet. And I'd be interested to start building such toolkit
> while I learn the language. At first for my own use, but maybe
> later... who knows.
>
> Being new to functional languages, I wonder how such a toolkit would
> be best approached. In an OO language you create classes with
> properties and methods that describe one particular entitiy in the
> field. For example: you define a DNASequence class with a "name" and
> "sequence" property, and a method to print it out in an international
> standard text format, and another method for translating the DNA
> sequence in that of the resulting protein. Much of the functionality
> of these toolkits is about retrieving a bit of information,
> manipulating it and ultimately writing it to screen/file.
>
> As functional languages are more about verbs than nouns: how could a
> bioinformatics toolkit be idiomatically set up? Would it still be the
> Right Way (TM) to create some type of classes, a-la OO?
>
> For more information on the OO toolkits, seewww.bioperl.org,www.biojava.org,
> bioruby.org and biopython.org.
>
> As clojure (especially combined with incanter) seems to be a very good
> candidate for future work in bioinformatics, I would very much welcome
> a little discussion on this.
>
> Many thanks,
> jan.

-- 
You received this message because you are subscribed to the Google
Groups "Clojure" group.
To post to this group, send email to clojure@googlegroups.com
Note that posts from new members are moderated - please be patient with your 
first post.
To unsubscribe from this group, send email to
clojure+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/clojure?hl=en

Reply via email to