[Biococoa-dev] Sequence Structure

John Timmer jtimmer at bellatlantic.net
Mon Jul 11 17:31:44 EDT 2005


>>> If I create a nucleotide sequence, I want it to act like one.
> It will, because it is made up of nucleotides, which are specified in
> the symbolset. Just naming the class BCSequenceNucleotide doesn't make
> it a nucleotide sequence. It are the individual BCSymbols that make it
> a nucleotide sequence.

Focusing on that one comment ignores the whole rest of the paragraph:
> Well, it's not just that.  Untyped sequences make the sequences stupid -
> they don't know what they are, they don't know what operations they can
> perform, and they have to have defined responses to cope with requests for
> operations they can't perform.  Essential methods get scattered in a ton of
> other classes (mostly tools, but there's going to be a lot of tools in the
> end) - you need to call through to a separate class just to figure out what
> type of sequence you have, and something as simple as complementing a
> nucleotide sequence requires the creation of a new object and may call
> through about 4 different methods there (which is what I hate about BioJava,
> as we've discussed).  And yes, I hate having to test the sequence type every
> time I think about doing anything with the sequence.
I could go on with my reasoning, but you've heard it before.  Having to
check what type of sequence it is before using it for anything, and having
to lookup what the return value for a non-sensical method call in order to
trap errors is just not a good way for me to work.  As a result, it's not
something I'm interested in maintaining or extending.

Look, everyone else is convinced that this is a good idea.  I'm very
unlikely to be convinced.  This is normal and fine - I've apparently got a
different coding style, different plans on what to do with sequences, and
different ideas about where to catch errors.  If there were any obvious way
where we could do both, that would be better, but it's looking like that
would be way too inconvenient.  Given that, as long as there's a way to let
me spin out these classes as they now stand and make future modifications,
I'm perfectly happy.   It's not worth your time trying to finding individual
statements I've made and argue them with me.


This mind intentionally left blank

More information about the Biococoa-dev mailing list