[Biococoa-dev] more ramblings
Koen van der Drift
kvddrift at earthlink.net
Fri Dec 3 17:17:25 EST 2004
>> No, I meant the general wrappers that do something with a sequence
>> (translate, pI, search, etc).
> Ok, I get it, in general you want those classes be able to handle a
> general BCSequence object as well, and not only a specific subclass
> per se.
No. What I proposed was that a wrapper class (eg BCTranslate) first
checks the sequence type. If it can handle it, it will continue, if
not, it will return nil (or an empty NSArray or whatever). Again, this
was part of my idea not to subclass BCSequence, but to make the
sequencetype a member of BCSequence. Which we actually already do. But
we can also make a symbolset member for the same purpose. If we do it
this way, then we only have to put the convenience methods in
BCSequence.
The alternative as proposed by John is to put convenience methods only
in those subclasses on which the wrappers actually work. I guess that
solution is also fine with me.
BTW, anyone oppose if I cleanup BCSequence and it's subclasses, and add
convenience methods? This would mainly involve the rangeOfSubstring
methods (which will be replaced my convenience methods to
BCFindSequence), and a few other smaller parts. Would you prefer to
keep the rangeOfSubstring naming, or should I use the find prefix?
> Exactly, what we have to emulate is an attributed string, that handles
> exactly the same problem(s). I think in general we don't need a
> location object, we need a range object and I don't see why NSRange
> wouldn't be good enough (even if our system is 1-bases).
Yes, NSRange sounds good to me. And the emulation of an attributed
string indeed seems a way to go. I will read some of the bioperl docs
tonight.
>>> I copy that, definitely not, but the general BCSequence class could
>>> have a simple strict boolean that can be set.
>>
>> For what?
> For preserving the knowledge that a sequence uses a strict symbolset
I think it's better to then extend the sequenceType enum. Otherwise we
need to check for the sequencetype, and then for strict.
> (the other option would be to have a symbolset property inside the
> BCSequence object.
I would really like that too. Can be helpfull in all sorts of cases.
>> BTW, what's the difference between 'strict', 'skippingnonbases' and
>> 'unambiguous' ?
> Basically they're the same thing, and yes, we should rename them to be
> similar I think...
>
That's what I also thought. My vote would go to unambiguous (a PITA to
spell, though), it sounds like that's what's used the most, eg in the
symbol plists. I guess you and John have a better view on this.
- Koen.
More information about the Biococoa-dev
mailing list