[Bioperl-l] GeneStructure & Promoter(s)

Hilmar Lapp hilmarl@yahoo.com
Sun, 18 Feb 2001 23:18:58 -0800


Thanks for all the comments. So there appears to be some
controversy about the promoter property of GeneStructure and
Transcript.

As of now, TranscriptI has a method promoters() returning an array
of SeqFeatureI objects. Transcript.pm has also a method
add_promoter() allowing you to add SeqFeatureI objects.

One of the key design goals was to create a set of classes that
can constitute a basis for Ensembl implementations, but are
generic enough to accomodate other use-cases, too.

As for the Bioperl 0.7 release, I want the interfaces not to be
written in stone, but to anticipate possible/necessary changes
such that actually making them in a future release doesn't break
backward compatibility.

In practice this means the following:
1) We have to decide now whether to return an array or a scalar in
promoters(). My point was that Ensembl re-implements anyway, and
can enforce in the implementation that only a single promoter
feature be added. Is this okay with everyone?
2) We need to decide now which kind of object to return from
promoters(): SeqFeatureI, or a newly introduced PromoterI, which
for the time being can just be a type without added functionality
(more functionality may be added later on, wouldn't break backward
compatibility). Or see 3).
3) We better decide now whether to add a property
regulatory_elements(), returning e.g. a GeneRegulatorI object. BTW
this could then also be the object returned by promoters(). A
related question is then also what distinguishes promoters() from
regulatory_elements().

I've got some time on Monday (tomorrow for me, today for Europe).
So, please give feedback, I'd really enjoy the GeneStructure
modules being useful and reasonably stable at the same time.

	Hilmar
-- 
-----------------------------------------------------------------
Hilmar Lapp                              email: hlapp@gmx.net
GNF, San Diego, Ca. 92122                phone: +1 858 812 1757
-----------------------------------------------------------------