[Bioperl-l] new GFF3 support methods added
Hilmar Lapp
hlapp at gmx.net
Sat Mar 6 00:33:15 EST 2004
Nice work Chris. I don't have very many comments.
On Friday, March 5, 2004, at 05:52 PM, Chris Mungall wrote:
> FeatureHolderI->set_ParentIDs_from_hierarchy
>
> sets both ID and ParentID from FeatureHolder hierarchy
>
> FeatureHolderI->create_hierarchy_from_ParentIDs
>
> the inverse of set_ParentIDs_from_hierarchy
>
Hmm - is this unique to feature graphs or to GFF3?
> SeqFeatureI->generate_unique_persistent_id
>
> this is required by the above method
>
> Lincoln wanted this to be private, but I think it has
> to be called from outside
I wouldn't want it to be private, but I'd rather make this a property
representing a generator (with a single required method
$generator->generate_id($feature)), or alternatively - and also simpler
- a closure, than a method. The reason is that if you wanted to change
the way the ID is generated you'd have to subclass an entire
SeqFeatureI implementation instead of just setting the property to some
anonymous method you whip up.
>
> Unique IDs in bioperl:
>
> In the discussion that preceeded this, it seemed that people liked the
> idea of persistent unique IDs, but there was no suggestions as to how
> to
> go about it. This is inherently difficult with objects, but I borrowed
> a
> solution from relational modeling.
>
> A persistent unique ID is generated using
>
> seq_id
> primary_tag
> start
> end
>
> It is assumed that these are all set and comprise a "unique key" over
> features.
Hmm. Wouldn't you need to include source_tag()? (Source_tag is part of
the unique key in biosql.) Without the source_tag being part of this,
wouldn't that mean you cannot have the exact (start+end) same segment
predicted as exon by different methods and have those different
predictions co-exist as separate features in the graph? (Presumably
those would only differ in source_tag)
>
> Another assumption is that seq_id is unique and persistent.
>
I don't think that's going to be a very safe assumption.
>
> * A GeneModel factory
>
> This would take the output of the unflattener (a set of feature graphs
> typed to SO) and make SeqFeature::Gene objects
>
Yeah, that'd be cool ...
-hilmar
--
-------------------------------------------------------------
Hilmar Lapp email: lapp at gnf.org
GNF, San Diego, Ca. 92121 phone: +1-858-812-1757
-------------------------------------------------------------
More information about the Bioperl-l
mailing list