[Bioperl-l] Bio::Seq::GenEMBLI proposal

Hilmar Lapp hlapp@gmx.net
Sun, 17 Dec 2000 23:57:49 -0800


Ewan Birney wrote:
> 
> The proposal is an interface called
> 
> Bio::Seq::GenEMBLI
> 
> and an implementation Bio::Seq::GenEMBL. (interface allows other people to
> comply with the interface without using the same implementation. A "good
> thing" tm, in particular for database implementors).
> 

Just a remark: why can't I comply with a module's API by just
subclassing it and overriding all its methods? Why do I need an
implementation-less interface for this? (I thought the interface-hype
was initiated to justify Java's disability of multiple inheritance.)

> At the moment I have just taken what is in the Bio::Seq object and moved
> it into its own interface, written below.
> 
> Decisions:
> 
>   (a) should we keep with the each_ syntax, or would people prefer
> "something returing an array of things" to have a different naming
> convention?
> 

If you ask, I say let's change it to something more commonly used and
more intuitive for newcomers. I'm not sure, however, that either
changing all such names to a new naming style, or introducing
inconsistencies is good. What do people feel about this?

> 
>   (b) should date's be formatted strings or something else? (if so, what?)
> 

If something structured, it is clear that we will have to parse the date
...

>   (c) should keyword lines be split on keywords and each_keyword methods
> or not?
> 

? What do you mean?

>   (d) should the interface extend to cover swissprot, in which case
> 
>       - name change?
> 
>       - additional methods?

Hm. If they share a lot, can't we make swissprot inherit from GenEMBL?

> 
> Here is what I have so far for this interface definition, waiting to be
> committed once I get the "ok"
> 

Ok, apart from the comments above. Do we really need the interface here?

	Hilmar
-- 
-----------------------------------------------------------------
Hilmar Lapp                                email: hlapp@gmx.net
GNF, San Diego, Ca. 92122                  phone: +1 858 812 1757
-----------------------------------------------------------------