[Bioperl-l] PrimarySeqI and IdentifiableI

Hilmar Lapp hlapp@gnf.org
Fri, 6 Sep 2002 12:14:44 -0700


Done.

As an aside, I also fixed PrimarySeq::is_circular() which would not 
allow you to reset the property to non-circular (why was this?).

All tests pass except RepeatMasker.t, the reason of which seems to 
be unrelated to these changes:

------------- EXCEPTION  -------------
MSG: Could not open t/data/repeatmasker.fa.out for reading: No such 
file or directory
STACK Bio::Root::IO::_initialize_io blib/lib/Bio/Root/IO.pm:259
STACK Bio::Tools::RepeatMasker::new Bio/Tools/RepeatMasker.pm:93
STACK toplevel t/RepeatMasker.t:27

--------------------------------------

	-hilmar

On Friday, September 6, 2002, at 09:51  AM, Ewan Birney wrote:

> On Fri, 6 Sep 2002, Hilmar Lapp wrote:
>
>>
>>
>>> -----Original Message-----
>>> From: Ewan Birney [mailto:birney@ebi.ac.uk]
>>> Sent: Friday, September 06, 2002 12:32 AM
>>> To: Hilmar Lapp
>>> Cc: Bioperl
>>> Subject: Re: [Bioperl-l] PrimarySeqI and IdentifiableI
>>>
>>>
>>> On Thu, 5 Sep 2002, Hilmar Lapp wrote:
>>>
>> [...]
>>>>
>>>> I'll have to fix Bio::Seq anyway (I guess there's little doubt it
>>>> should be Identifiable), but if we decide to separate IdentifiableI
>>>> (and DescribableI) from PrimarySeqI, I'll fix that right away, too.
>>>
>>> It is a good question - I would say that they should
>>> implement the methods
>>> but could easily pass back "" strings. What is the other solution - A
>>> composition solution? Then clients have to test whether
>>>
>>> $seq->identifier() is undef?
>>>
>>
>> No, not composition (although that's an option too). By separation I
>> rather meant that then you can't assume that if 
>> obj->isa("Bio::PrimarySeqI")
>> is true $obj->isa("Bio::IdentifiableI") will be true, too.
>> You'd have to test for this separately before safely calling the
>> IdentifiableI methods. So, a PrimarySeqI implementation could opt
>> not to implement IdentifiableI.
>>
>> Right now having tested for isa("Bio::PrimarySeqI") implies having
>> tested for isa("Bio::IdentifiableI").
>
>
> Aha. I am ok with this. Go for it.
>
>
>>
>> 	-hilmar
>>
>
> -----------------------------------------------------------------
> Ewan Birney. Mobile: +44 (0)7970 151230, Work: +44 1223 494420
> <birney@ebi.ac.uk>.
> -----------------------------------------------------------------
>
>
--
-------------------------------------------------------------
Hilmar Lapp                            email: lapp at gnf.org
GNF, San Diego, Ca. 92121              phone: +1-858-812-1757
-------------------------------------------------------------