[Bioperl-l] RE: [Open-bio-l] seq namespace method
Michael L. Heuer
heuermh@acm.org
Thu, 18 Jul 2002 13:08:41 -0400 (EDT)
Having spent too much time in meetings lately, I felt the need to
actually code something, and whipped up a java implementation of LSIDs
based on the discussion here. Being that this has been a moving target, I
may not have nailed it exactly right -- I went with containment and the
idea of a "preferred identifier", eg.
interface LifeScienceIdentifier extends Immutable {
public String getAuthority();
public String getNamespace();
public Object getObjectId();
public Object getVersion();
public String asIdentifier(); // authority:namespace:object_id
public String asCommonName(); // namespace:object_id.version
}
interface Identifiable {
// delegate to preferred
public String getAuthority();
public String getNamespace();
public Object getObjectId();
public Object getVersion();
public LifeScienceIdentifier getPreferredIdentifier();
public boolean hasMultipleIdentifiers();
public List getIdentifiers();
}
A tarball with implementations, factories, junit tests, etc. is available
> http://shore.net/~heuermh/lsid-PROPOSAL.tar.gz
michael
On Thu, 18 Jul 2002, Ewan Birney wrote:
>
>
> On Wed, 17 Jul 2002, Hilmar Lapp wrote:
>
> > I think I like that best too.
>
> ok, I will implement.
>
>
> >
> > -hilmar
> >
> > > -----Original Message-----
> > > From: Lincoln Stein [mailto:lstein@cshl.org]
> > > Sent: Wednesday, July 17, 2002 1:56 PM
> > > To: Ewan Birney
> > > Cc: sac@bioperl.org; Hilmar Lapp; OBDA BioSQL (E-mail);
> > > BioPerl (E-mail)
> > > Subject: Re: [Open-bio-l] Re: [Bioperl-l] seq namespace method
> > >
> > >
> > > I liked the compromise you published earlier yesterday:
> > >
> > > - Bio::PrimarySeqI inherits/implements IdentifiableI.
> > > This is its "one true" name.
> > > - The cloud of other identifiers is attached to Bio::Seq via
> > > its AnnotationCollectionI.
> > >
> > > I will work on IdentifierCollectionI as a separate interface.
> > >
> > > Lincoln
> > >
> > > On Tuesday 16 July 2002 04:04 am, Ewan Birney wrote:
> > > > Ok. Both Lincoln and Steve prefer I think the pattern
> > > >
> > > >
> > > > Bio::IdentifierCollectionI
> > > >
> > > >
> > > > which Bio::PrimarySeqI inheriets from
> > > >
> > > >
> > > > gives out something like ->identifiers() - # a set of
> > > Bio::Identifier
> > > > ->identifier('sp'); #
> > > identifier(s?) for this
> > > > namespace
> > > >
> > > >
> > > > Lincoln is suggesting this handles cardinality/split/merges
> > > >
> > > >
> > > >
> > > > I am wary of this because of two things:
> > > >
> > > >
> > > > (a) Most objects come from one authority/namespace - how
> > > do we indicate
> > > > the "main" authority/namespace of this object. There are *very few*
> > > > objects which honestly have two equally valid Identifiers -
> > > >
> > > >
> > > > --- my view is that we are giving ourselves too much
> > > rope to hang
> > > > ourselves with and we will endlessly have things about "assummed
> > > > namespace" or - even worse - assumming that the first
> > > identifier in the
> > > > list of identifiers pulled out of the colleciton is the "main" one.
> > > >
> > > >
> > > > (b) We are making life harder for non-standard
> > > implementations who have
> > > > to implement this - certainly putting in split/merge
> > > capibility as part of
> > > > the *interface* is a bad idea - split/merge is nasty to implement.
> > > >
> > > >
> > > >
> > > > Does anyone else want to weigh in. Steve/Lincoln - can you
> > > show me that my
> > > > fears are unfounded?
> > > >
> > > >
> > > >
> > > >
> > > >
> > > >
> > > > -----------------------------------------------------------------
> > > > Ewan Birney. Mobile: +44 (0)7970 151230, Work: +44 1223 494420
> > > > <birney@ebi.ac.uk>.
> > > > -----------------------------------------------------------------
> > >
> > > --
> > > ==============================================================
> > > ==========
> > > Lincoln D. Stein Cold Spring Harbor
> > > Laboratory
> > > lstein@cshl.org Cold
> > > Spring Harbor, NY
> > > ==============================================================
> > > ==========
> > >
> >
>
> _______________________________________________
> Open-Bio-l mailing list
> Open-Bio-l@open-bio.org
> http://open-bio.org/mailman/listinfo/open-bio-l
>