Intermediate commit of ObjectBuilderI and its implementation. Not
[bioperl-live.git] / Changes
blob29e3b6ea8b103d9af2b4a961364d0029df80488c
1 $Id$
2 Revision history for Bioperl core modules
4 1.1.1 Developer release
6     o Deprecated modules are now listed in the DEPRECATED file
8     o New HowTo documents located in doc/howto describing 
9       a domain of Bioperl.
11     o Note that bugs are now stored at bugzilla.bioperl.org
12       and all old bugs are searchable through the bugzilla interface.
14     o Several reported bugs in Bio::Tools::Sigcleave and Bio::SimpleAlign 
15       have been addressed.
17     o Support for Genewise parsing in Bio::Tools::Genewise
19     o Speedup to the Bio::Root::Root object method _rearrange.
20       A global _load_module method was implemented to simplify the
21       dynamic loading of modules ala Bio::SeqIO::genbank.  This
22       method is now used by all the XXIO (AlignIO,TreeIO,SearchIO,SeqIO,
23       etc).
25     o Several performance improvements to sequence parsing in Bio::SeqIO.
26       Attempt to speedup by reducing object creation overhead.
28     o Bio::DB::GenBank and Bio::DB::GenPept use the NCBI's approved
29       method for sequence retrieval with their E-utils CGI scripts.
30       More work to support Entrez queries to their fullest is planned
31       before 1.2 release.
33 1.1 Developer release 
35     o Bio::Tools::Run has been broken off into a new pkg bioperl-run,
36       this separation removes some of the complexity in our test suite
37       and separates the core modules in bioperl from those that need
38       external programs to run.
40     o With latest ExtUtils::MakeMaker module installed SGI/IRIX should
41       not run into trouble running the makefile
43     o Bio::Location and Bio::SeqIO::FTHelper are fixed to properly 
44       read,create,and write locations for grouped/split locations
45       (like mRNA features on genomic sequence).  
47     o Bio::Tools::Phlyo added for wrappers for parsing Molphy (protml)
48       and PAML (codeml,aaml, etc) parsing.
50     o Bio::Tree:: objects expanded to handle testing monophyly,
51       paraphyly, least common ancestor, etc.
53     o Bio::Coordinate for mapping locations from different coordinate spaces 
55     o Bio::SearchIO::waba added for parsing WABA, Bio::SearchIO::hmmer
56       added for parsing hmmpfam and hmmsearch output.
58     o Bio::SearchIO::Writer::TextResultWriter for outputting
59       a pseudo-blast textfile format
62 1.0.2 Bug fix release
64     o Note: The modules Bio::DB::GenBank and Bio::DB::GenPept provided
65       in this release will not work after December 2002 when NCBI
66       shuts off the old Entrez cgi scripts.  We have already fixed
67       on our main development branch and the functionality will be
68       available in the next stable bioperl release (1.2) slated for
69       Fall 2002.
71     o Numerous parsing bugs in Bio::SearchIO::fasta found through 
72       testset by Robin Emig.  These were fixed as was the get_aln
73       method in Bio::Search::HSP::GenericHSP to handle the extra 
74       context sequence that is provided with a FastA alignment.
75     
76     o Migrating differences between Bio::Search::XX::BlastXX to 
77       Bio::Search::XX::GenericXX objects.  This included mechanism
78       to retrieve whole list of HSPs from Hits and whole list of Hits from 
79       Results in addition to the current next_XX iterator methods that
80       are available.  Added seq_inds() method to GenericHSP which identifies
81       indexes in the query or hit sequences where conserved,identical,gaps, 
82       or mismatch residues are located (adapted from Steve Chervitz's 
83       implementation in BlastHSP).
85     o Bio::DB::GFF bugs fixed and are necessary for latest GBrowse release.
86       Bio::DB::GFF::RelSegment is now Bio::SeqI compliant.
87       
88     o Bio::Graphics glyph set improved and extended for GBrowse release
90     o Bio::Tree::Tree get_nodes implementation improvement thanks
91       to Howard Ross notice performance problem when writing out 
92       unbalanced trees.
94     o Bio::Location::Fuzzy::new named parameter -loc_type became
95       -location_type, Bio::Location::Simple::new named parameter
96       -seqid becamse -seq_id.
97    
98     o Fixed major Bio::AlignIO::emboss parsing bug on needle output,
99       was mis-detecting that gaps should be placed at the beginning of
100       the alignment when the best alignment starts internally in the
101       sequence.
103 1.0.1 Bug fix release
104         
105     o Minor bug fixes to Bio::DB:GFF.  Glyph sets improved.
107     o Parser fixes in SearchIO blast, fasta for more complete WU BLAST 
108       and mixed (3.3 - 3.4) versions of FASTA.
110     o Small API change to add methods for completeness across 
111       implementations of Bio::Search objects.  These new methods
112       in the interface are implemented by the GenericXX object as well  
113       as the BlastXX objects.
114         * Bio::Search::Result::ResultI 
115          - hits() method returns list of all Hits (next_hit is an 
116            iterator method)
117                 
118         * Bio::Search::Hit::HitI
119          - hsps() method returns list of all HSPs (next_hsp is an 
120            iterator method)
121         
122     o The Bio::SearchIO::Writer classes have been fixed to handle results 
123        created from either psiblast (Search::BlastXX objects) or 
124        blast|fasta|blastxml objects (Search::GenericXX objects).  More work 
125        has to be done here to make it work properly and will nee major 
126        API changes.
128     o Bugs in Bio::Tools::HMMER fixed, including
129        * #1178 - Root::IO destructor wasn't being called
130        * #1034 - filter_on_cutoff now behaves properly
132     o Bio::SeqFeature::Computation initialization args fixed and 
133       tests added.
135     o Tests are somewhat cleaner, flat.t now properly cleans up after itsself,
136       
137     o Updated FAQ with more example based answers to typical questions
139     o Bug #1202 was fixed which would improperly join together qual values
140       parsed by Bio::SeqIO::qual when a trailing space was not present before
141       the newline.
143 1.0.0 Major Stable Release
145   This represents a major release of bioperl with significant
146   improvements over the 0.7.x series of releases.   
148     o Bio::Tools::Blast is officially deprecated.  Please see
149       Bio::SearchIO for BLAST and FastA parsing.
151     o The methods trunc() and subseq() in Bio::PrimarySeqI now accepts
152       Bio::LocationI objects as well as start/end.
154     o Bio::Biblio contains modules for Bibliographic data. 
155       Bio::DB::Biblio contains the query modules.  Additionally one can
156       parse medlinexml from the ebi bibliographic query service (BQS)
157       system and Pubmed xml from NCBI.  See Martin Senger's
158       documentation in Bio::Biblio for more information.
159     
160     o Bio::DB::Registry is a sequence database registry part of 
161       Open Bioinformatics Database Access.  See
162       http://obda.open-bio.org for more information.
163     
164     o File-based and In-Memory Sequence caching is provided by
165       Bio::DB::InMemoryCache and Bio::DB::FileCache which acts like a
166       local database.
168     o Bio::Graphics for rendering sequences as PNG,JPG, or GIFs has
169       been added by Lincoln Stein.
171     o XEMBL SOAP service access in provided in Bio::DB::XEMBL.
173     o A FAQ has been started and is included in the release to provide
174       a starting point for frequent questions and issues.
176 0.9.3 Developer's release
177     
178     o Event based parsing system improved (SearchIO).  With parsers for
179       XML Blast (blastxml), Text Blast (blast), and FASTA results (fasta).  
180       Additionally a lazy parsing system for text and html blast reports was
181       added and is called psiblast (name subject to change in future releases).
183     o Bio::Search objects improved and standardized with associated Interfaces
184       written.  The concept of a search "Hit" was standardized to be called
185       "hit" consistently and the use of "subject" was deprecated in all active
186       modules.
188     o Bio::Structure added (since 0.9.1) for Protein structure objects 
189       and PDB parser to retrieve and write these structures from data files. 
191     o Several important Bio::DB::GFF bug fixes for handling features that
192       are mapped to multiple reference points.  Updated mysql adaptor
193       so as to be able to store large (>100 megabase) chunks of DNA into
194       Bio::DB::GFF databases.
196 0.9.2 Developer's release
198     o Bio::Search and Bio::SearchIO system introduced for event based
199       parsing of Blast,Fasta reports Bio::SearchIO supports ncbi BLAST
200       in text and XML and FASTA reports in standard output format.
202     o Bio::Tree and Bio::TreeIO for phylogenetic trees.  A Random tree
203       generator is included in Bio::TreeIO::RandomTrees and a
204       statistics module for evaluating.
205       
206     o Bio::DB::GFF, Lincoln Stein's GFF database suitable as a DB
207       server for DAS servers.
209     o Bio::Tools::BPlite is provides more robust parsing of BLAST
210       files.  The entire BPlite system migrated to using Bio::Root::IO
211       for the data stream.
212         
213     o Bio::Tools::Alignment for Consed and sequence Trimming
214       functionality.
216     o Bio::Structure for Protein structure information and parsing
218     o Bio::DB::GenBank/Bio::DB::GenPept updated to new NCBI Entrez
219       cgi-bin entry point which should be more reliable.
220    
221     o Bio::Map and Bio::MapIO for biological map navigation and a
222       framework afor parsing them in.  Only preliminary work here.
224     o Interface for executing EMBOSS programs locally in Bio::Factory::EMBOSS
225       Future work will integrate Pise and allow submission of analysis on
226       remote servers.
228     o Bio::AnnotationCollectionI and Bio::Annotation::Collection
229       introduced as new objects for handling Sequence Annotation
230       information (dblinks, references, etc) and is more robust that
231       previous system.
233     o Bio::Tools::FASTAParser introduced.
235     o Scripts from the bioperl script submission project and new
236       scripts from bioperl authors are included in "scripts" directory.
238     o Factory objects and interfaces are being introduced and are more
239       strictly enforced.
240         
241     o Bio::Root::Root introduced as the base object while
242       Bio::Root::RootI is now simply an interface.
244     o Bio::DB::RefSeq provides database access to copy of the NCBI
245       RefSeq database using the EBI dbfetch script.
247 0.9.0 Developer's release
249     o perl version at least 5.005 is now required instead of perl 5.004
251     o Bio::Tools::Run::RemoteBlast is available for running remote 
252       blast jobs at NCBI.
254     o Bio::Tools::BPbl2seq was fixed to handle multiple HSPs.
256     o Bio::SeqFeature::GeneStructure migrated to Bio::SeqFeature::Gene.
257       Also added are related modules UTR3, UTR5, Exon, Intron, 
258       Promotor, PolyA and Transcript.
260     o Speedup of translate method in PrimarySeq     
262     o Bio::SimpleAlign has new methods: location_from_column(), slice(),
263       select(), dot(), get_seq_by_pos(), column_from_residue_number()
265     o Various fixes to Variation toolkit
266     
267     o Bio::DB::EMBL provides database access to EMBL sequence data.
268       Bio::DB::Universal provides a central way to point to indexes
269       and dbs in a single interface.
271     o Bio::DB::GFF - a database suitable for running DAS servers locally.
273     o Bio::Factory::EMBOSS is still in design phase as is  
274       Bio::Factory::ApplicationFactoryI
276     o Dia models for bioperl design are provided in the models/ directory
278 0.7.2 Bug fix release
280     o documentation fixes in many modules - SYNOPSIS code verified 
281       to be runnable in many (but not all modules)
283     o corrected MANIFEST file from 0.7.1 release
284    
285     o Bug fix in Bio::SeqIO::FTHelper to properly handle
286       split locations
288     o Bio::SeqIO::genbank 
289         * Correct parsing and writing of genbank format with protein data
290         * moltype and molecule separation                          
292     o Bio::SeqIO::largefasta fix to avoid inifinite loops
293         
294     o Bio::SimpleAlign fixed to correctly handle consensus 
295       sequence calculation
297     o Bio::Tools::HMMER supports hmmer 2.2g
299     o Bio::Tools::BPlite to support report type specific parsing.  Most 
300       major changes are not on the 0.7 branch.
301    
302     o Bio::Tools::Run::StandAloneBlast exists_blast() fixed and works 
303       with File::Spec 
305     o Bio::Variation::AAChange/RNAChange corrected labels and mutated alleles 
306         in several types of mutations:
307         1.) AA level: deletion, complex
308         2.) AA level: complex, inframe
309         3.) RNA level: silent
311     o  BPbl2seq parsing of empty reports will not die, but will return
312        a valid, empty, Bio::SeqFeature::SimilarityFeature for
313        $report->query() and $report->subject() methods.  So an easy
314        way to test if report was empty is to see if
315        $report->query->seqname is undefined.
317 0.7.1 Bug fix release 
319     o Better parsing of genbank/EMBL files especially fixing bugs
320       related to Feature table parsing and locations on remote
321       sequences.  Additionally, species name parsing was better.
323     o Bio::SeqIO::genbank can parse now NCBI produced genbank database
324       which include a number of header lines.
326     o More strict genbank and EMBL format writing (corrected number of
327       spaces where appropriate).
329     o Bio::Tools::BPlite can better parse BLASTX reports - see BUGS
330       for related BPlite BUGS that are unresolved in this release.
331   
332     o Bio::DB::GenBank, Bio::DB::GenPept have less problems
333       downloading sequences from NCBI via HTTP.  Bio::DB::SwissProt can
334       use expasy mirrors or EBI dbfetch cgi-script.
336     o A moderate number of documentation improvements were made as
337       well to provide a better code synopsis in each module.
340 0.7  Large number of changes, including refactoring of the
341      Object system, new parsers, new functionality and
342      all round better system. Highlights are:
345      o Refactored root of inheritance: moved to a lightweight Bio::Root::RootI;
346        Bio::Root::IO for I/O and file/handle capabilities.
348      o Imported BPlite modules from Ian Korf for BLAST
349        parsing. This is considered the supported BLAST parser;
350        Bio::Tools::Blast.pm will eventually phase out due to lack of support.
352      o Improved Sequence Feature model. Added complete location
353        modelling (with fuzzy and compound locations).  See
354        Bio::LocationI and the modules under Bio/Location.  Added
355        support in Genbank/EMBL format parsing to completely parse
356        feature tables for complex locations.
358      o Moved special support for databanks etc to specialized modules under
359        Bio/Seq/. One of these supports very large sequences through 
360        a temporary file as a backend.
362      o Explicit Gene, Transcript and Exon SeqFeature objects, supporting
363        CDS retrieval and exon shuffling.
365      o More parsers: Sim4, Genscan, MZEF, ESTScan, BPbl2seq, GFF
367      o Refactored Bio/DB/GenBank+GenPept. There is now also DB/SwissProt and
368        DB/GDB (the latter has platform-specific limitations).
370      o New analysis parser framework for HT sequence annotation (see
371        Bio::SeqAnalysisParserI and Bio::Factory::SeqAnalysisParserFactory)
373      o New Alignment IO framework
375      o New Index modules (Swissprot)
377      o New modules for running Blast within perl
378        (Bio::Tools::Run::StandAloneBlast). Added modules for running
379        Multiple Sequence Alignment tools ClustalW and TCoffee
380        (Bio::Tools::Run::Alignment).
382      o New Cookbook-style tutorial (see bptutorial.pl). Improved
383        documentation across the package.
385      o Much improved cross platform support. Many known incompatibilities
386        have been fixed; however, NT and Mac do not work across the entire
387        setup (see PLATFORMS).
389      o Many bug fixes, code restructuring, etc. Overall stability and
390        maintainability benefit a lot.
392      o A total of 957 automatic tests
393     
395 0.6.2  
397    There are very few functionality changes but a large
398    number of software improvements/bug fixes across the package.
400    o The EMBL/GenBank parsing are improved.
402    o The Swissprot reading is improved. Swissprot writing
403      is disabled as it doesn't work at all. This needs to
404      wait for 0.7 release
406    o BLAST reports with no hits are correctly parsed.
408    o Several other bugs of the BLAST parser (regular expressions, ...)
409      fixed.
411    o Old syntax calls have been replaced with more modern syntax
413    o Modules that did not work at all, in particular the Sim4
414      set have been removed
416    o Bio::SeqFeature::Generic and Bio::SeqFeature::FeaturePair
417      have improved compliance with interface specs and documentation
419    o Mailing list documentation updated throughout the distribution
421    o Most minor bug fixes have happened.
423    o The scripts in /examples now work and have the modern syntax
424      rather than the deprecated syntax
427 0.6.1  Sun April 2 2000
429    o Sequences can have Sequence Features attached to them
430         - The sequence features can be read from or written to
431           EMBL and GenBank style flat files
433    o Objects for Annotation, including References (but not
434      full medline abstracts), Database links and Comments are
435      provided
437    o A Species object to represent nodes on a taxonomy tree
438      is provided
440    o The ability to parse HMMER and Sim4 output has been added
442    o The Blast parsing has been improved, with better PSI-BLAST
443      support and better overall behaviour.
445    o Flat file indexed databases provide both random access 
446      and sequential access to their component sequences.
448    o A CodonTable object has been written with all known 
449      CodonTables accessible.
451    o A number of new lightweight analysis tools have been
452      added, such as molecular weight determination.
454     The 0.6 release also has improved software engineering
455   
456    o The sequence objects have been rewritten, providing more
457      maintainable and easier to implement objects. These
458      objects are backwardly compatible with the 0.05.1 objects
460    o Many objects are defined in terms of interfaces and then  
461      a Perl implementation has been provided. The interfaces
462      are found in the 'I' files (module names ending in 'I').
464      This means that it is possible to wrap C/CORBA/SQL access
465      as true "bioperl" objects, compatible with the rest of
466      bioperl.
468    o The SeqIO system has been overhauled to provide better
469      processing and perl-like automatic interpretation of <>
470      over arguments.
472    o Many more tests have been added (a total of 172 automatic
473      tests are now run before release).
477 0.05.1 Tue Jun 29 05:30:44 1999
478         - Central distribution now requires Perl 5.004. This was
479           done to get around 5.003-based problems in Bio/Index/* 
480           and SimpleAlign.
481         - Various bug fixes in the Bio::Tools::Blast modules
482           including better exception handling and PSI-Blast 
483           support. See Bio/Tools/Blast/CHANGES for more.
484         - Fixed the Parse mechanism in Seq.pm to use readseq.
485           Follow the instructions in README for how to install
486           it (basically, you have to edit Parse.pm).
487         - Improved documentation of Seq.pm, indicating where 
488           objects are returned and where strings are returned.
489         - Fixed uninitialized warnings in Bio::Root::Object.pm
490           and Bio::Tools::SeqPattern.pm.
491         - Bug fixes for PR#s: 30,31,33-35,41,42,44,45,47-50,52.
493 0.05  Sun Apr 25 01:14:11 1999
494         - Bio::Tools::Blast modules have less memory problems
495           and faster parsing. Webblast uses LWP and supports
496           more functionality. See Bio/Tools/Blast/CHANGES for more.
497         - The Bio::SeqIO system has been started, moving the
498           sequence reformatting code out of the sequence object
499         - The Bio::Index:: system has been started, providing
500           generic index capabilities and specifically works for
501           Fasta formatted databases and EMBL .dat formatted 
502           databases
503         - The Bio::DB:: system started, providing access to 
504           databases, both via flat file + index (see above) and
505           via http to NCBI
506         - The scripts/ directory, where industrial strength scripts
507           are put has been started.
508         - Many changes - a better distribution all round.
510 0.04.4  Wed Feb 17 02:20:13 1999
511         - Bug fixes in the Bio::Tools::Blast modules and postclient.pl
512           (see Bio::Tools::Blast::CHANGES).
513         - Fixed a bug in Bio::Tools::Fasta::num_seqs().
514         - Beefed up the t/Fasta.t test script.
515         - Small fix in Bio::Seq::type() (now always returns a string).
516         - Changed Bio::Root::Utilities::get_newline_char() to 
517           get_newline() since it could return more than one char.
518         - Added $NEWLINE and $TIMEOUT_SECS to Bio::Root::Global.
519         - Changed default timeout to 20 seconds (was 3).
520         - Moved lengthy modification notes to the bottom of some files.
521         - Fixed SimpleAlign write_fasta bug.
522         - Beefed up SimpleAlign.t test
524 0.04.3  Thu Feb  4 07:48:53 1999
525         - Bio::Root::Object.pm and Global.pm now detect when
526           script is run as a CGI and suppress output that is only
527           appropriate when running interactively.
528         - Bio::Root::Err::_set_context() adds name of script ($0).
529         - Added comments in Bio::Tools::WWW.pm and Bio::Root::Utilities.pm
530           regarding the use of the static objects via the qw(:obj) tag.
531         - Fixed the ambiguous reverse calls in Seq.pm and UnivAln.pm to 
532           CORE::reverse, avoiding Perl warnings.
533         - Bug fixes in Bio::Tools::Blast modules (version 0.074) and 
534           example scripts (see Bio::Tools::Blast::CHANGES).
535         - examples/seq/seqtools.pl no longer always warns about using 
536           -prot or -nucl command-line arguments; only when using the 
537           -debug argument.
538         - Methods added to Bio::Root::Utilities: create_filehandle(), 
539           get_newline_char(), and taste_file() to generalize filehandle 
540           creation and autodetect newline characters in files/streams
541           (see bug report #19).
542         - Bio::Root::IOManager::read() now handles timeouts and uses
543           Utilities::create_filehandle().
544         - Bio::Tools::Fasta.pm uses Utilities::get_newline_char() instead
545           of hardwiring in "\n".
546         - Bug fixes in the Bio::SimpleAlign and Bio::Tools::pSW
548 0.04.2  Wed Dec 30 02:27:36 1998
549         - Bug fixes in Bio::Tools::Blast modules, version 0.073
550           (see Bio::Tools::Blast::CHANGES).
551         - Changed reverse calls in Bio/Seq.pm and Bio/UnivAln.pm
552           to CORE::reverse (prevents ambiguous warnings with 5.005).
553         - Appending '.tmp.bioperl' to temporary files created by
554           Bio::Root::Utilities::compress() or uncompress() to
555           make it easy to identify & cleanup these files as needed.
556         - Developers: Created CVS branch release-0-04-bug from
557           release-0-04-1. Before making bug fixes to the 0.04.1 release,
558           be sure to cvs checkout this branch into a clean area.
560 0.04.1  Wed Dec 16 05:39:15 1998
561         - Bug fixes in Bio::Tools::Blast modules, version 0.072
562           (see Bio::Tools::Blast::CHANGES).
563         - Compile/SW/Makefile.PL now removes *.o and *.a files 
564           with make clean.
566 0.04  Tue Dec  8 07:49:19 1998
567         - Lots of new modules added including:
568            * Ewan Birney's Bio::SimpleAlign.pm, Bio::Tools::AlignFactory.pm,
569              and Bio/Compile directory containing XS-linked C code for
570              creating Smith-Waterman sequence alignments from within Perl.
571            * Steve Chervitz's Blast distribution has been incorporated.
572            * Georg Fuellen's Bio::UnivAln.pm for multiple alignment objects.
573         - Bio/examples directory for demo scripts for all included modules.
574         - Bio/t directory containing test suit for all included modules.
575         - For changes specific to the Blast-related modules prior to
576           incorporation in this central distribution, see the CHANGES
577           file in the Bio/Tools/Blast directory.
578      
579 0.01  Tue Sep  8 14:23:22 1998
580         - original version from central CVS tree; created by h2xs 1.18