[Bioperl-l] SWISS-PROT writing

Ewan Birney birney@ebi.ac.uk
Thu, 4 Jan 2001 09:26:59 +0000 (GMT)


On Thu, 4 Jan 2001, Kris Boulez wrote:

> 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 ?

yes.

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

No. They will be created though from

      my $swiss_seq_io = Bio::SeqIO->new( -format => 'swiss' ) ;
      $swiss_seq = $swiss_seq_io->next_seq;

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

This will be achievable.

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

yes....

> 
> 
> Kris,
> 

-----------------------------------------------------------------
Ewan Birney. Mobile: +44 (0)7970 151230, Work: +44 1223 494420
<birney@ebi.ac.uk>. 
-----------------------------------------------------------------