$Id: Changes,v 2002/06/04 22:53:32 jason Exp $
Revision history for Bioperl core modules

1.0.1 Bug fix release
    o Minor bug fixes to Bio::DB:GFF.  Glyph sets improved.
    o Parser fixes in SearchIO blast, fasta for more complete WU BLAST 
      and mixed (3.3 - 3.4) versions of FASTA.

    o Small API change to add methods for completeness across 
      implementations of Bio::Search objects.  These new methods
      in the interface are implemented by the GenericXX object as well 	
      as the BlastXX objects.
	* Bio::Search::Result::ResultI 
	 - hits() method returns list of all Hits (next_hit is an 
	   iterator method)
	* Bio::Search::Hit::HitI
	 - hsps() method returns list of all HSPs (next_hsp is an 
           iterator method)
    o The Bio::SearchIO::Writer classes have been fixed to handle results 
       created from either psiblast (Search::BlastXX objects) or 
       blast|fasta|blastxml objects (Search::GenericXX objects).  More work 
       has to be done here to make it work properly and will nee major 
       API changes.

    o Bugs in Bio::Tools::HMMER fixed, including
       * #1178 - Root::IO destructor wasn't being called
       * #1034 - filter_on_cutoff now behaves properly
    o Bio::SeqFeature::Computation initialization args fixed and 
      tests added.

    o Tests are somewhat cleaner, flat.t now properly cleans up after itsself,
    o Updated FAQ with more example based answers to typical questions

    o Bug #1202 was fixed which would improperly join together qual values
      parsed by Bio::SeqIO::qual when a trailing space was not present before
      the newline.

1.0.0 Major Stable Release

  This represents a major release of bioperl with significant
  improvements over the 0.7.x series of releases.   

    o Bio::Biblio contains modules for Bibliographic data. 
      Bio::DB::Biblio contains the query modules.  Additionally one can
      parse medlinexml from the ebi bibliographic query service (BQS)
      system and Pubmed xml from NCBI.  See Martin Senger's
      documentation in Bio::Biblio for more information.
    o Bio::DB::Registry is a sequence database registry part of Open
      Bioinformatics Database Access.  Additionally Bio::DB::Flat was
      introduced to support the cross-project OBDA standard for
      indexed flatfiles.  See http://obda.open-bio.org for more
      information.  This project is under active development so the
      modules in this release represent preliminary implementations.
    o File-based and In-Memory Sequence caching is provided by
      Bio::DB::InMemoryCache and Bio::DB::FileCache which acts like a
      local database.

    o Bio::Graphics for rendering sequences as PNG,JPG, or GIFs has
      been added by Lincoln Stein.

    o XEMBL SOAP service access in provided in Bio::DB::XEMBL.

    o Bio::Map and Bio::MapIO for biological map navigation and a
      framework afor parsing them in.
    o Interface for executing EMBOSS programs locally in Bio::Factory::EMBOSS
      Future work will integrate Pasteur Institute's Pise and EBI's openBSA 
      analysis queues for remote analysis.

    o Bio::AnnotationCollectionI and Bio::Annotation::Collection
      introduced as new objects for handling Sequence Annotation
      information (dblinks, references, etc) and is more robust that
      previous annotation handling object.

    o Bio::SearchIO was introduced to support an extensible framework
      for sequence database search results.  Currently blast, NCBI XML
      blast format (-m 7), and FastA parsing are implemented.  The
      Bio::Search objects were added to represent the Result, Hit, and
      HSP objects retrieved from a search.  To support this new
      direction Bio::Tools::Blast is officially deprecated.

    o Bio::SearchIO::Writer system allows output of Bio::Search
      objects in a tabular or HTML form.

    o Bio::DB::GFF is Lincoln Stein's database implementation of GFF
      files which can be used for DAS backends and is part of the
      Generic Model Organism Database project (http://gmod.sourceforge.net).

    o Bio::Tree and Bio::TreeIO namespaces and modules were added to
      support representation and parsing of phylogenetic trees.

    o Bio::Structure as added in 0.9.1 and includes a pdb parser and
      objects to represent protein structure.

    o More Multiple Sequence formats have been added for parsing or writing. 

    o The methods trunc() and subseq() in Bio::PrimarySeqI now accepts
      Bio::LocationI objects as well as start/end.

    o Bio::SimpleAlign now supports two methods for calculating
      average and overall percentage identity. 

    o 30% speedup was achieved in SeqIO genbank and embl parsers,
      future releases will focus on an event based parsing system
      where we hope to achieve improved parsing speeds.

    o A FAQ has been started and is included in the release to provide
      a starting point for frequent questions and issues.

0.9.3 Developer's release
    o Event based parsing system improved (SearchIO).  With parsers for
      XML Blast (blastxml), Text Blast (blast), and FASTA results (fasta).  
      Additionally a lazy parsing system for text and html blast reports was
      added and is called psiblast (name subject to change in future releases).

    o Bio::Search objects improved and standardized with associated Interfaces
      written.  The concept of a search "Hit" was standardized to be called
      "hit" consistently and the use of "subject" was deprecated in all active

    o Bio::Structure added (since 0.9.1) for Protein structure objects 
      and PDB parser to retrieve and write these structures from data files. 

    o Several important Bio::DB::GFF bug fixes for handling features that
      are mapped to multiple reference points.  Updated mysql adaptor
      so as to be able to store large (>100 megabase) chunks of DNA into
      Bio::DB::GFF databases.

0.9.2 Developer's release

    o Bio::Search and Bio::SearchIO system introduced for event based
      parsing of Blast,Fasta reports Bio::SearchIO supports ncbi BLAST
      in text and XML and FASTA reports in standard output format.

    o Bio::Tree and Bio::TreeIO for phylogenetic trees.  A Random tree
      generator is included in Bio::TreeIO::RandomTrees and a
      statistics module for evaluating.
    o Bio::DB::GFF, Lincoln Stein's GFF database suitable as a DB
      server for DAS servers.

    o Bio::Tools::BPlite is provides more robust parsing of BLAST
      files.  The entire BPlite system migrated to using Bio::Root::IO
      for the data stream.
    o Bio::Tools::Alignment for Consed and sequence Trimming
    o Bio::Structure for Protein structure information and parsing

    o Bio::DB::GenBank/Bio::DB::GenPept updated to new NCBI Entrez
      cgi-bin entry point which should be more reliable.
    o Bio::Map and Bio::MapIO for biological map navigation and a
      framework afor parsing them in.  Only preliminary work here.
    o Interface for executing EMBOSS programs locally in Bio::Factory::EMBOSS
      Future work will integrate Pise and allow submission of analysis on
      remote servers.

    o Bio::AnnotationCollectionI and Bio::Annotation::Collection
      introduced as new objects for handling Sequence Annotation
      information (dblinks, references, etc) and is more robust that
      previous system.
    o Bio::Tools::FASTAParser introduced.

    o Scripts from the bioperl script submission project and new
      scripts from bioperl authors are included in "scripts" directory.

    o Factory objects and interfaces are being introduced and are more
      strictly enforced.
    o Bio::Root::Root introduced as the base object while
      Bio::Root::RootI is now simply an interface.

    o Bio::DB::RefSeq provides database access to copy of the NCBI
      RefSeq database using the EBI dbfetch script.

0.9.0 Developer's release

    o perl version at least 5.005 is now required instead of perl 5.004

    o Bio::Tools::Run::RemoteBlast is available for running remote 
      blast jobs at NCBI.

    o Bio::Tools::BPbl2seq was fixed to handle multiple HSPs.

    o Bio::SeqFeature::GeneStructure migrated to Bio::SeqFeature::Gene.
      Also added are related modules UTR3, UTR5, Exon, Intron, 
      Promotor, PolyA and Transcript.

    o Speedup of translate method in PrimarySeq     

    o Bio::SimpleAlign has new methods: location_from_column(), slice(),
      select(), dot(), get_seq_by_pos(), column_from_residue_number()

    o Various fixes to Variation toolkit
    o Bio::DB::EMBL provides database access to EMBL sequence data.
      Bio::DB::Universal provides a central way to point to indexes
      and dbs in a single interface.

    o Bio::DB::GFF - a database suitable for running DAS servers locally.

    o Bio::Factory::EMBOSS is still in design phase as is  

    o Dia models for bioperl design are provided in the models/ directory

0.7.2 Bug fix release

    o documentation fixes in many modules - SYNOPSIS code verified 
      to be runnable in many (but not all modules)

    o corrected MANIFEST file from 0.7.1 release
    o Bug fix in Bio::SeqIO::FTHelper to properly handle
      split locations

    o Bio::SeqIO::genbank 
	* Correct parsing and writing of genbank format with protein data
	* moltype and molecule separation	                   

    o Bio::SeqIO::largefasta fix to avoid inifinite loops
    o Bio::SimpleAlign fixed to correctly handle consensus 
      sequence calculation

    o Bio::Tools::HMMER supports hmmer 2.2g

    o Bio::Tools::BPlite to support report type specific parsing.  Most 
      major changes are not on the 0.7 branch.
    o Bio::Tools::Run::StandAloneBlast exists_blast() fixed and works 
      with File::Spec 

    o Bio::Variation::AAChange/RNAChange corrected labels and mutated alleles 
	in several types of mutations:
        1.) AA level: deletion, complex
        2.) AA level: complex, inframe
        3.) RNA level: silent

    o  BPbl2seq parsing of empty reports will not die, but will return
       a valid, empty, Bio::SeqFeature::SimilarityFeature for
       $report->query() and $report->subject() methods.  So an easy
       way to test if report was empty is to see if
       $report->query->seqname is undefined.

0.7.1 Bug fix release 

    o Better parsing of genbank/EMBL files especially fixing bugs
      related to Feature table parsing and locations on remote
      sequences.  Additionally, species name parsing was better.

    o Bio::SeqIO::genbank can parse now NCBI produced genbank database
      which include a number of header lines.

    o More strict genbank and EMBL format writing (corrected number of
      spaces where appropriate).

    o Bio::Tools::BPlite can better parse BLASTX reports - see BUGS
      for related BPlite BUGS that are unresolved in this release.
    o Bio::DB::GenBank, Bio::DB::GenPept have less problems
      downloading sequences from NCBI via HTTP.  Bio::DB::SwissProt can
      use expasy mirrors or EBI dbfetch cgi-script.

    o A moderate number of documentation improvements were made as
      well to provide a better code synopsis in each module.

0.7  Large number of changes, including refactoring of the
     Object system, new parsers, new functionality and
     all round better system. Highlights are:

     o Refactored root of inheritance: moved to a lightweight Bio::Root::RootI;
       Bio::Root::IO for I/O and file/handle capabilities.

     o Imported BPlite modules from Ian Korf for BLAST
       parsing. This is considered the supported BLAST parser;
       Bio::Tools::Blast.pm will eventually phase out due to lack of support.

     o Improved Sequence Feature model. Added complete location
       modelling (with fuzzy and compound locations).  See
       Bio::LocationI and the modules under Bio/Location.  Added
       support in Genbank/EMBL format parsing to completely parse
       feature tables for complex locations.

     o Moved special support for databanks etc to specialized modules under
       Bio/Seq/. One of these supports very large sequences through 
       a temporary file as a backend.

     o Explicit Gene, Transcript and Exon SeqFeature objects, supporting
       CDS retrieval and exon shuffling.

     o More parsers: Sim4, Genscan, MZEF, ESTScan, BPbl2seq, GFF

     o Refactored Bio/DB/GenBank+GenPept. There is now also DB/SwissProt and
       DB/GDB (the latter has platform-specific limitations).

     o New analysis parser framework for HT sequence annotation (see
       Bio::SeqAnalysisParserI and Bio::Factory::SeqAnalysisParserFactory)

     o New Alignment IO framework

     o New Index modules (Swissprot)

     o New modules for running Blast within perl
       (Bio::Tools::Run::StandAloneBlast). Added modules for running
       Multiple Sequence Alignment tools ClustalW and TCoffee

     o New Cookbook-style tutorial (see bptutorial.pl). Improved
       documentation across the package.

     o Much improved cross platform support. Many known incompatibilities
       have been fixed; however, NT and Mac do not work across the entire
       setup (see PLATFORMS).

     o Many bug fixes, code restructuring, etc. Overall stability and
       maintainability benefit a lot.

     o A total of 957 automatic tests


   There are very few functionality changes but a large
   number of software improvements/bug fixes across the package.

   o The EMBL/GenBank parsing are improved.
   o The Swissprot reading is improved. Swissprot writing
     is disabled as it doesn't work at all. This needs to
     wait for 0.7 release
   o BLAST reports with no hits are correctly parsed.
   o Several other bugs of the BLAST parser (regular expressions, ...)

   o Old syntax calls have been replaced with more modern syntax
   o Modules that did not work at all, in particular the Sim4
     set have been removed

   o Bio::SeqFeature::Generic and Bio::SeqFeature::FeaturePair
     have improved compliance with interface specs and documentation

   o Mailing list documentation updated throughout the distribution

   o Most minor bug fixes have happened.

   o The scripts in /examples now work and have the modern syntax
     rather than the deprecated syntax

0.6.1  Sun April 2 2000

   o Sequences can have Sequence Features attached to them
        - The sequence features can be read from or written to
          EMBL and GenBank style flat files

   o Objects for Annotation, including References (but not
     full medline abstracts), Database links and Comments are

   o A Species object to represent nodes on a taxonomy tree
     is provided

   o The ability to parse HMMER and Sim4 output has been added

   o The Blast parsing has been improved, with better PSI-BLAST
     support and better overall behaviour.

   o Flat file indexed databases provide both random access 
     and sequential access to their component sequences.

   o A CodonTable object has been written with all known 
     CodonTables accessible.

   o A number of new lightweight analysis tools have been
     added, such as molecular weight determination.

    The 0.6 release also has improved software engineering
   o The sequence objects have been rewritten, providing more
     maintainable and easier to implement objects. These
     objects are backwardly compatible with the 0.05.1 objects

   o Many objects are defined in terms of interfaces and then  
     a Perl implementation has been provided. The interfaces
     are found in the 'I' files (module names ending in 'I').

     This means that it is possible to wrap C/CORBA/SQL access
     as true "bioperl" objects, compatible with the rest of

   o The SeqIO system has been overhauled to provide better
     processing and perl-like automatic interpretation of <>
     over arguments.

   o Many more tests have been added (a total of 172 automatic
     tests are now run before release).

0.05.1 Tue Jun 29 05:30:44 1999
        - Central distribution now requires Perl 5.004. This was
          done to get around 5.003-based problems in Bio/Index/* 
          and SimpleAlign.
        - Various bug fixes in the Bio::Tools::Blast modules
          including better exception handling and PSI-Blast 
          support. See Bio/Tools/Blast/CHANGES for more.
        - Fixed the Parse mechanism in Seq.pm to use readseq.
	  Follow the instructions in README for how to install
	  it (basically, you have to edit Parse.pm).
        - Improved documentation of Seq.pm, indicating where 
          objects are returned and where strings are returned.
        - Fixed uninitialized warnings in Bio::Root::Object.pm
          and Bio::Tools::SeqPattern.pm.
        - Bug fixes for PR#s: 30,31,33-35,41,42,44,45,47-50,52.

0.05  Sun Apr 25 01:14:11 1999
        - Bio::Tools::Blast modules have less memory problems
          and faster parsing. Webblast uses LWP and supports
          more functionality. See Bio/Tools/Blast/CHANGES for more.
        - The Bio::SeqIO system has been started, moving the
          sequence reformatting code out of the sequence object
        - The Bio::Index:: system has been started, providing
          generic index capabilities and specifically works for
          Fasta formatted databases and EMBL .dat formatted 
        - The Bio::DB:: system started, providing access to 
          databases, both via flat file + index (see above) and
          via http to NCBI
        - The scripts/ directory, where industrial strength scripts
          are put has been started.
        - Many changes - a better distribution all round.

0.04.4  Wed Feb 17 02:20:13 1999
	- Bug fixes in the Bio::Tools::Blast modules and postclient.pl
	  (see Bio::Tools::Blast::CHANGES).
        - Fixed a bug in Bio::Tools::Fasta::num_seqs().
        - Beefed up the t/Fasta.t test script.
        - Small fix in Bio::Seq::type() (now always returns a string).
        - Changed Bio::Root::Utilities::get_newline_char() to 
          get_newline() since it could return more than one char.
        - Added $NEWLINE and $TIMEOUT_SECS to Bio::Root::Global.
        - Changed default timeout to 20 seconds (was 3).
        - Moved lengthy modification notes to the bottom of some files.
	- Fixed SimpleAlign write_fasta bug.
	- Beefed up SimpleAlign.t test

0.04.3  Thu Feb  4 07:48:53 1999
        - Bio::Root::Object.pm and Global.pm now detect when
          script is run as a CGI and suppress output that is only
          appropriate when running interactively.
        - Bio::Root::Err::_set_context() adds name of script ($0).
        - Added comments in Bio::Tools::WWW.pm and Bio::Root::Utilities.pm
          regarding the use of the static objects via the qw(:obj) tag.
        - Fixed the ambiguous reverse calls in Seq.pm and UnivAln.pm to 
          CORE::reverse, avoiding Perl warnings.
        - Bug fixes in Bio::Tools::Blast modules (version 0.074) and 
          example scripts (see Bio::Tools::Blast::CHANGES).
        - examples/seq/seqtools.pl no longer always warns about using 
          -prot or -nucl command-line arguments; only when using the 
          -debug argument.
        - Methods added to Bio::Root::Utilities: create_filehandle(), 
          get_newline_char(), and taste_file() to generalize filehandle 
          creation and autodetect newline characters in files/streams
          (see bug report #19).
        - Bio::Root::IOManager::read() now handles timeouts and uses
        - Bio::Tools::Fasta.pm uses Utilities::get_newline_char() instead
          of hardwiring in "\n".
        - Bug fixes in the Bio::SimpleAlign and Bio::Tools::pSW

0.04.2  Wed Dec 30 02:27:36 1998
        - Bug fixes in Bio::Tools::Blast modules, version 0.073
          (see Bio::Tools::Blast::CHANGES).
        - Changed reverse calls in Bio/Seq.pm and Bio/UnivAln.pm
          to CORE::reverse (prevents ambiguous warnings with 5.005).
        - Appending '.tmp.bioperl' to temporary files created by
          Bio::Root::Utilities::compress() or uncompress() to
          make it easy to identify & cleanup these files as needed.
        - Developers: Created CVS branch release-0-04-bug from
          release-0-04-1. Before making bug fixes to the 0.04.1 release,
          be sure to cvs checkout this branch into a clean area.

0.04.1  Wed Dec 16 05:39:15 1998
        - Bug fixes in Bio::Tools::Blast modules, version 0.072
          (see Bio::Tools::Blast::CHANGES).
        - Compile/SW/Makefile.PL now removes *.o and *.a files 
          with make clean.

0.04  Tue Dec  8 07:49:19 1998
        - Lots of new modules added including:
           * Ewan Birney's Bio::SimpleAlign.pm, Bio::Tools::AlignFactory.pm,
             and Bio/Compile directory containing XS-linked C code for
             creating Smith-Waterman sequence alignments from within Perl.
           * Steve Chervitz's Blast distribution has been incorporated.
           * Georg Fuellen's Bio::UnivAln.pm for multiple alignment objects.
        - Bio/examples directory for demo scripts for all included modules.
        - Bio/t directory containing test suit for all included modules.
        - For changes specific to the Blast-related modules prior to
          incorporation in this central distribution, see the CHANGES
          file in the Bio/Tools/Blast directory.
0.01  Tue Sep  8 14:23:22 1998
        - original version from central CVS tree; created by h2xs 1.18