Bioperl: translating genes with >1 exon
Ewan Birney
birney@ebi.ac.uk
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
settled.
>
> 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 -- kdj@sanger.ac.uk -- http://www.sanger.ac.uk/Users/kdj
> The Sanger Centre, Wellcome Trust Genome Campus, Hinxton, Cambs CB10 1SA
>
-----------------------------------------------------------------
Ewan Birney. Mobile: +44 (0)7970 151230, Work: +44 1223 494420
<birney@ebi.ac.uk>.
-----------------------------------------------------------------
=========== Bioperl Project Mailing List Message Footer =======
Project URL: http://bio.perl.org/
For info about how to (un)subscribe, where messages are archived, etc:
http://www.techfak.uni-bielefeld.de/bcd/Perl/Bio/vsns-bcd-perl.html
====================================================================