[Bioperl-l] AnnotationCollectionI and SeqFeatureI changes
Aaron J. Mackey
amackey at pcbi.upenn.edu
Sun Nov 28 11:28:53 EST 2004
Hilmar Lapp wrote:
> So, after checking out some pieces of code, AnnotatableI in particular,
> I'm not convinced that this transparency is achieved already; some more
> thoughts will have to be spent.
> E.g., get_all_tags() will now return all annotation keys ever added,
> regardless of whether through $feat->primary_tag, $feat->source_tag,
> $feat->annotation->add_Annotation, or $feat->add_tag_value, unless any
> of these methods is overridden.
Thanks for taking a deeper look into things, Hilmar. Is this true for
all SeqFeatureI-implementing classes, or just Bio::SeqFeature::Annotated?
> This is very different from what it used to be, namely only return those
> keys added through $feat->add_tag_value. Anybody who made any assumption
> that what you didn't add through add_tag_value you'll not get back
> through get_all_tags will be hosed.
I could see an argument that "all_tag_values" should really retrieve
just that: all tags, not just any extra tags from add_tag_value. But I
agree that it's potentially a significant change.
> I.e., anybody who assumed that
> $feat->get_all_tags and $feat->annotation->get_all_annotation_keys hold
> distinct sets of values will be hosed. This includes bioperl-db, for
> those who care.
But surely bioperl-db could be fixed to no longer make this assumption?
> It is also not what SeqFeature::Generic will do now, namely not return
> the primary_tag and source_tag keys.
Ahh, so we are talking only about Bio::SeqFeature::Annotated?
More information about the Bioperl-l