[Biophp-dev] I'm not dead...

S Clark biophp-dev@bioinformatics.org
Mon, 26 May 2003 21:01:41 -0600


Been a lot of distractions here lately.  The BLAST interface has been a bit 
delayed not because it's difficult but just because I need to get a "chunk"
of continuous time to work on it.  Hopefully this week.

Meanwhile - something that I could do quickly is to add interface methods to 
the classes that don't yet have them, if that's okay with everyone else.

We should settle on a standard "style" for the interface methods.  I tend
to like using "getWhatever()" and "setWhatever()" style names for the 
interfaces, just because it makes them more flexible, or so I believe.
On the other hand, the "single interface" function (as Nico used in the
Parse object) has certain benefits (in this case, the interface function
would "set" the value if one is passed, or just "return" the value without
changing the variable if no value is passed), not the least of which is
that it automatically cuts in half the number of interface methods you
have to worry about.  The drawback to this (the only drawback I can think of)
is that it makes it very cumbersome to impossible to "control" retrieval of
variables (e.g. one might set the "get" interface for the Sequence so that
if numbers are passed, it only returns a portion of the sequence).

I suspect this won't commonly be a serious limitation, though.  For what
it's worth, the "single interface" method seems to be what BioPerl uses
(and in my example, they have a separate "subseq()" function to deal with
it.)

'course, as Serge pointed out, this won't STOP people from messing with the
variables directly, but it will enable "object orientation-ally correct" 
use of our code.

If we can agree on an interface method style and if nobody minds, I can
go ahead and start adding them to classes in CVS for any classes nobody
else gets to first...