[Bioperl-l] Feature/Annotation rollback finished

Chris Fields cjfields at uiuc.edu
Tue Aug 28 21:05:10 UTC 2007

I'm now wrapping up the Feature/Annotation rollback.  I will probably  
start merging back to the main branch in the next day or two., as  
soon as interested parties (*cough*devs*cough*) look over the last  
batch of changes.


I have also added a small benchmark test which indicates a decrease  
in parsing time in SeqIO::genbank with all tests passing.  I expect  
this will translate over to any Bio::SeqFeature::Generic-using class  
(open mouth, prepare to insert foot....).

It is also possible there are still some instances where overloading  
is expected lurking about in the ~1000 or so modules, so I'll leave  
the exceptions I added to all Bio::AnnotationI; we can remove them  
down the line, maybe prior to rel1.6, after more tests are added or  
if they get particularly annoying.  My guess is I caught 99.99% of  
them (prepare to insert other foot....).

The key change in this last round is the addition of several class  
*dbxref* methods to Bio::Ontology::Term and  
Bio::Annotation::OntologyTerm, all of which are capable of working  
with either DBLink instances or simple scalars.  This was primarily  
done in order to clear up inconsistencies in the older *dblink*  
methods, which were ambiguous (some indicates simple scalar  
arguments, others DBLink objects); operator overloading was used  
extensively in these cases, which led to several issues.  I have  
added deprecation warnings to the older methods which now map to  
using the newer methods.  All tests pass with the exception of a few  
already failing on the MAIN branch; the single test which needs to be  
fixed is a round-tripping error in swiss.t (now a TODO), which can be  
fixed after merging back.

Please respond to this if there are any questions or if I need to  
clarify the changes I made a bit more.


More information about the Bioperl-l mailing list