[Biococoa-dev] Demo App

John Timmer jtimmer at bellatlantic.net
Fri Aug 27 10:45:32 EDT 2004

Thanks - I found the mistakes in the .plist, and things should work fine
now.  Incidentally, a 2.4 Mb BAC took about 46 seconds to reverse
complement.  I should probably do some typical use profiling to figure out
at what point someone using this should notify the user that it's busy.

You're right on the nomenclature - the "of" implies that you're handing the
sequence to it.  I'll change the names and add the "reverse" as well.
Internally, there is no case to the sequence since it's all objects, so the
remaining two methods should return NSStrings.  The first one already exists
(as "description"), but I could add the second if it's useful.

Switching gears, has anyone given any thought to a translation machinery?
BioJava does it by having a translator object that you send the sequence and
a translation dictionary to, which seems to make some sense.  It will be a
bit tricky to code, though, as different things will take different numbers
of tokens to translate (ie - DNA -> RNA vs. RNA -> protein).  I've got an
idea on this, but I thought I'd ask if anyone had one before poisoning your
mind with my thoughts.



> Hi John,
> Wow, the conversion is really fast, this is really promising! I tested
> it with 67kb, no problem, conversion within half a second on my 1Ghz
> G4.... I got one exception now. If you try to convert the string (easy
> to use in debugging): ACGTNWMYRKHVDB-?
> You get two exceptions:
> 2004-08-27 09:07:20.075 demo_app[1121] *** +[BCNucleotideDNA Y]:
> selector not recognized
> 2004-08-27 09:07:43.000 demo_app[1121] *** +[BCNucleotideDNA R]:
> selector not recognized
> Guess, you will know immediately where something is lacking (plist?).
> Finally, I guess it's easy to add the following methods in addition to
> complement and reverse complement:
> - (BCSequenceDNA *) reverseOfSequence;
> - (BCSequenceDNA *) uppercaseSequence;
> - (BCSequenceDNA *) lowercaseSequence;
> I'm not sure if the "Of" in the method name is necessary here, because
> it doesn't take a parameter right?
> [theSequence reverseSequence] sounds more logical than [theSequence
> reverseOfSequence], in the latter case I question myself: wchich
> sequence? It would even be fine to call [theSequence reverse] but that
> would suggest that you change the current sequence, while
> reverseSequence describes the method better as we return a new sequence
> object.
> Cheers,
> Alex

This mind intentionally left blank

More information about the Biococoa-dev mailing list