[Open-bio-l] Re: [Bioperl-l] seq namespace method

Ewan Birney birney@ebi.ac.uk
Mon, 15 Jul 2002 16:08:17 -0400 (EDT)


On Mon, 15 Jul 2002, Steve Chervitz wrote:

> Glad we're all thinking alike here. However, why not use containment instead of
> inheritance, to allow a Bio::IdentifiableI to contain one or more
> Bio::Identifiers?


Hmmm. Doable.

Is this ideal - this is saying that one object is usually represented by a
"cloud" of identifiers?


I would claim that the opposite pattern is more true - on object usually
has one "main" identifier and then points to a cloud of related
identifers, the DBxREFs

Certainly merging the idea of DBxREFs - or DBLinks in Bioperl which should
also be Identifiable would be a good idea.


I can see your arguement, but I would marginally favour the strict
one-object-one-identifier and not factor out the identifier objects as a
separate thing - claiming that in those cases most people want an
Identifiable object that is an AnnotationCollectionI and has a cloud of
Identifiable DBxREFs


But... not a clear cut decision. Any other views


(PS - I liked Lincoln's simple "yes")



>
> If an IdentifiableI also has a preferred identifier slot, then it could have
> methods such as namespace(), id(), version() that would delegate to their
> preferred identifier. This would allow us to maintain the current interface yet
> still be I3C-compliant.
>
> For those that don't know about it, the I3C thingy that Ewan mentions is called
> the LSID (Life Science Identifier), a draft specification of which can be found
> at http://www.i3c.org/workgroups/technical_architecture/index.html. It's
> generated a bunch of interesting discussion.
>
> The LSID concept is still evolving, but current thinking is to have at least
> these fields: authority, namespace, id. A version field will probably be added
> and security info may be dropped.
>
> Steve
>
> --- Lincoln Stein <lstein@cshl.org> wrote:
> > Yes.
> >
> > Lincoln
> >
> > On Monday 15 July 2002 04:48 am, Ewan Birney wrote:
> > > I would claim the right pattern here is to have
> > >
> > >
> > >   Bio::IdentifiableI
> > >
> > > which Bio::PrimarySeqI inheriets from and Bio::PrimarySeq implements.
> > >
> > >
> > >   Bio::IdentifiableI would have slots for namespace, version, id (NB
> > > **no** type) and would be compatiable with the 13C naming convention
> > > thingy to produce I3C style names (so it might also have "authority" as a
> > > slot).
> > >
> > >
> > >
> > >
> > >
> > >
> > > -----------------------------------------------------------------
> > > Ewan Birney. Mobile: +44 (0)7970 151230, Work: +44 1223 494420
> > > <birney@ebi.ac.uk>.
> > > -----------------------------------------------------------------
> > >
> > >
> > > _______________________________________________
> > > Bioperl-l mailing list
> > > Bioperl-l@bioperl.org
> > > http://bioperl.org/mailman/listinfo/bioperl-l
> >
> > --
> > ========================================================================
> > Lincoln D. Stein                           Cold Spring Harbor Laboratory
> > lstein@cshl.org			                  Cold Spring Harbor, NY
> > ========================================================================
> > _______________________________________________
> > Bioperl-l mailing list
> > Bioperl-l@bioperl.org
> > http://bioperl.org/mailman/listinfo/bioperl-l
>
>
>
> =====
> Steve Chervitz
> sac@bioperl.org
>
> __________________________________________________
> Do You Yahoo!?
> Yahoo! Autos - Get free new car price quotes
> http://autos.yahoo.com
> _______________________________________________
> Open-Bio-l mailing list
> Open-Bio-l@open-bio.org
> http://open-bio.org/mailman/listinfo/open-bio-l
>