Bioperl: translating genes with >1 exon

Ewan Birney
Mon, 10 Apr 2000 14:16:18 +0100 (GMT)

On 10 Apr 2000, Keith James wrote:

>     Ewan> Allowing there to be an arbitery number of sequence features
>     Ewan> nested is probably a big mistake in bioperl. I thought it
>     Ewan> was clever about 6 months ago. Now - I am not so sure.
> Yes, if arbitrary nesting is condoned I think we would live to regret
> it. Someone would take it to its inevitable conclusion.

Right. Lets say up front this is a bad idea.

> I was being Devil's Advocate there, really. Trying to maintain an
> arbitrary tree would be quite nasty - lots of potential variation,
> special cases and breeding grounds for bugs. I prefer (a) too.
> If there is an $fset->spliced_seq (the name implying that the
> subsequences represent exons), there should perhaps be an
> $fset->itrons to return a list of intron $seqobjs.

Hmmm. Or are we now walking into full-blown gene objects? In ensembl we
have gene, transcript and exon objects that represent really quite well
most biological genes. Is it better/useful to define these fset models
*and* gene objects, or just go for one of them. 

A goal I have for 0.7 is to move the Ensembl gene objects from Ensembl to
bioperl, allowing them to be used by a broader set of people and not
require the whole of ensembl around.

The gene object will have the ->intron call or other magic which was
more semantically bound to genes.

Again - to go to concrete ideas, we have two options here (minimally)

   a) SeqFeatureI interface with

      GeneI/TranscriptI and ExonI 

   b) SeqFeatureI interface 
        SeqFeature::FsetI interface which inheriets from SeqFeatureI

      GeneI/TranscriptI inheriets from SeqFeature::FsetI

      ExonI inheriets from SeqFeatureI

As always, I'd like to hear other views on this before anything is

> I think that there should be a good correlation between the $fset and
> a biological entity it's supposed to represent. That way, if you know
> the biology, you know what methods to expect (in theory!).
>     >> Incidentally, I found having two methods with the same name,
>     >> but doing different things a bit confusing:
>     >> 
>     >> my $nt = $feature->seq()->seq();
>     >> 
>     Ewan> Hmmm. I have seen this as well. It makes me wince as well.
>     Ewan> What about going $feature->seqobj() in the future?
> I think that would help.
> -- 
> Keith James  --  --
> The Sanger Centre, Wellcome Trust Genome Campus, Hinxton, Cambs CB10 1SA

Ewan Birney. Mobile: +44 (0)7970 151230, Work: +44 1223 494420

=========== Bioperl Project Mailing List Message Footer =======
Project URL:
For info about how to (un)subscribe, where messages are archived, etc: