[Bioperl-l] SWISS-PROT writing

Kris Boulez krbou@pgsgent.be
Thu, 4 Jan 2001 09:04:08 +0100


Quoting Ewan Birney (birney@ebi.ac.uk):
> On Wed, 3 Jan 2001, Hilmar Lapp wrote:
> 
> > Kris Boulez wrote:
> > > 
> > > >
> > > > See above. I'm not sure what we already have in the Bio::Seq::* hierarchy.
> > > > If there's no Swiss.pm yet and GenBank/GenPept doesn't fit well, you could
> > > > give Bio::Seq::Swiss.pm a start and adopt the parser to instantiate objects
> > > > of that class.
> > > >
> > > The only thing we have now is Bio::Seq::LargeSeq en LargePrimarySeq. Do
> > > you plan on having a Bio::Seq::* class for every (complex) sequence type ?
> > > 
> > 
> > Yes, we plan to have a specialized class for every databank, for which the
> > attributes its entries carry are not sufficiently reflected in Bio::Seq.pm
> > or an already existing class under Bio::Seq::*. This enables us to free the
> > basic Seq object from definitions that only pertain to databanks and don't
> > make up the essentials of a biological sequence.
> > 
> > So, molecule(), division() etc will be eventually moved away from
> > Bio::Seq.pm. This is even in the task list for 0.7, but with a priority of
> > 2, meaning that we want it, but we may decide to skip it this time in order
> > to get the release out of the door.
> 
> For GenBank/EMBL I have prototype code to check in over here. Looks fine
> to me. Swissprot probably needs its own class. 
> 
> 
> there is a valid debate about whether swissprot and genbank/embl should
> inheriet off a common base class of "rich database sequence objects" (eg,
> division is the same) or we should just say that they are different enough
> not to stretch this. I hae not done anything on swissprot.
> 
> 
Last night I thought a bit more about this and have some questions.

- will these objects also inherit from Bio::Seq ?

- if yes, will these objects be created like
    my $swiss_seq = Bio::Seq->new( ..., -format => 'swiss');

  or 

   my $swiss_seq = Bio::Seq::swiss->new( .. );

- will it be possible to 'promote' a Bio::Seq object to one of these new
  objects ?



Kris,