Dan Fornika <dforn...@gmail.com> writes:

> I've been working on a mitochondrial genetics project, and I'd like to
> see a human mitochondrial-specific translation function integrated
> into BioHaskell.

Hm, yes, support for the non-canonical translations would be nice.

> I see that Bio.Sequence.Phd has a standard translation table, 

Bio.Sequence.SeqData, actually, but it's reexported in a lot of places.

> so I've
> made a version called trans_tbl_mito with the appropriate changes
> integrated.  

Currently, there's just a 'translate' that hardwires this table.  I
concede this is poor design, the table ought to be a parameter, but it
was what I needed at the time.

> I know that there is a lot of re-factoring going on, and
> I'm not sure what is the most efficient/elegant way to introduce this
> feature.

How about a module Bio.Sequence.Translation containing:

  import Bio.Core.Sequence

  data Triple = ... -- e.g. String, or perhaps just SeqData
  data Amino  = ...  
  data TransTable = [(Triple,Amino)]

  transtable_std, transtbl_mito, ... :: TransTable

  translate :: TransTable -> SeqData -> SeqData

  -- and perhaps versions for all frames, or some specific frame?

What does everybody think?

Dan: would you like to write this?  Feel free to rip what you want from
the old SeqData module.

-k
-- 
If I haven't seen further, it is by standing in the footprints of giants
_______________________________________________
Biohaskell mailing list
Biohaskell@biohaskell.org
http://malde.org/cgi-bin/mailman/listinfo/biohaskell

Reply via email to