[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 mailing list