[Dynamite] Is this working now then?
Ewan Birney
birney@ebi.ac.uk
Mon, 6 Mar 2000 03:47:19 +0000 (GMT)
> * a Sequence interface with virtual 'name' & 'data' attributes
> * a Sequence_memo datastructure mirroring the Sequence interface
> * a Database_sequence interface that inherits from Sequence and also has
> accession_number & implementation_id attributes (your Foreign_seq)
> -- possibly a get_subseq method as well (I like this.)
> * a Database_sequence_factory
>
I think now you are mixing the database "identification" problem with
the memo/non memo stuff. I would argue for:
Sequence Interface with 'name','data'. Sequence interface has
get_subseq and momento datastructure
Database_Sequence with 'accession' and 'primary_id'
> This keeps the object model clean, decouples the DP from the database
> layer. There is no uniqueness guarantee provided on the Sequence::name
> method; uniqueness is a quality that is only relevant where there are
> multiple sequences, i.e. the database layer.
I am fine with this. The very same change was forced on me in BioCorba:
we went for names:
AnonymousSeq -> sequence with no names
PrimarySeq -> sequence with names (3 of them)
Seq -> sequence with names and features.
I will put money on the fact that even things declared as
AnonymousSequences never get used as pure anonymous seq, but I am
fine on this.
>
> Also, since Database_sequence is an extension of Sequence, we can put the
> code to take a snapshot of a Sequence in the Sequence_memo constructor
> (where it belongs) instead of creating a new object.
Again, I think you are missing the point of my previous idl definition
a little but I am not going to bitch about this.
I think we have something (introducing another name here, "LightSeq").
module Seq {
struct LightSeq_str {
string name;
string seq;
};
interface LightSeq {
attribute string name;
attribute string seq;
string get_subseq(in long start, in long end);
LightSeq_str get_LightSeq_str();
};
interface DatabaseSeq : LightSeq {
attribute string primary_id; // implementation unique id
attribute string accession_number; // biological unique id
};
}
Please - take it apart again. Also I do think we should try to use
IDL when possible otherwise it doesn't clear in my own head what you
mean...
>
> Ian
>