RELEASE_NOTES.rdoc in bio-1.4.1 vs RELEASE_NOTES.rdoc in bio-1.4.2

- old
+ new

@@ -1,104 +1,132 @@ -= BioRuby 1.4.1 RELEASE NOTES += BioRuby 1.4.2 RELEASE NOTES -A lot of changes have been made to the BioRuby 1.4.1 after the version 1.4.0 +A lot of changes have been made to the BioRuby 1.4.2 after the version 1.4.1 is released. This document describes important and/or incompatible changes -since the BioRuby 1.4.0 release. +since the BioRuby 1.4.1 release. For known problems, see KNOWN_ISSUES.rdoc. == New features -=== PAML Codeml support is significantly improved +=== Speed-up of Bio::RestrictionEnzyme::Analysis.cut -PAML Codeml result parser is completely rewritten and is significantly -improved. The code is developed by Pjotr Prins. +The running speed of Bio::RestrictionEnzyme::Analysis.cut is significantly +increased. The new code is 50 to 80 fold faster than the previous code +when cutting 1Mbp sequence running on Ruby 1.9.2p180. The code is written +by Tomoaki NISHIYAMA and Naohisa Goto. -=== KEGG PATHWAY and KEGG MODULE parser +=== New classes Bio::DDBJ::REST, REST interface for DDBJ web service -Parsers for KEGG PATHWAY and KEGG MODULE data are added. The code is developed -by Kozo Nishida and Toshiaki Katayama. +For DDBJ Web API for Biology (WABI) web service, in additon to SOAP, REST +(REpresentational State Transfer) interface is added as Bio::DDBJ::REST. +Currently, only selected APIs are implemented. -=== Bio::KEGG improvements +=== Bio::Blast with remote DDBJ server uses REST instead of SOAP -Following new methods are added. +Bio::Blast with remote DDBJ server uses REST instead of SOAP, because +Soap4r (SOAP library for Ruby) does not work well with Ruby 1.9. +We can now use remote DDBJ BLAST server with Ruby 1.9. -* Bio::KEGG::GENES#keggclass, keggclasses, names_as_array, names, - motifs_as_strings, motifs_as_hash, motifs -* Bio::KEGG::GENOME#original_databases +=== Tutorial is updated -=== Test codes are added and improved. +The Tutorial.rd is updated by Pjotr Prins and Michael O'Keefe. -Test codes are added and improved. Tney are developed by Kazuhiro Hayashi, -Kozo Nishida, John Prince, and Naohisa Goto. +=== Many unit tests are added -=== Other new methods +Added many unit tests for Bio::GenBank, Bio::GenPept, Bio::NBRF, Bio::PDB +and so on. Most of them are developed by Kazuhiro Hayashi during the +Google Summer of Code 2010. -* Bio::Fastq#mask -* Bio::Sequence#output_fasta -* Bio::ClustalW::Report#get_sequence -* Bio::Reference#== -* Bio::Location#== -* Bio::Locations#== -* Bio::FastaNumericFormat#to_biosequence +=== Other new features +* New method Bio::Fastq#to_s for convenience. Note that the use of the method + may cause loss of performance. To get each input sequence entry as-is, + consider using Bio::FlatFile#entry_raw. To output fastq format data, + consider using Bio::Sequence#output(:fastq). +* New methods Bio::NCBI::REST::EFetch.nucleotide and protein, + to get data from "nucleotide" and "protein" database respectively. + Because NCBI changed not to accept "gb" format for the database + "sequence", the two new methods are added for convenience. +* In BioRuby Shell, efetch method uses the above new methods. +* In GenomeNet remote BLAST execution, database "mine-aa" and "mine-nt" + with KEGG organism codes are now supported. +* Support for Ruby 1.9.2 / 1.9.3 is improved. + == Bug fixes -=== Bio::Tree +=== Bio::Blast -Following methods did not work correctly. +* Failure of remote BLAST execution is fixed, due to the changes in GenomeNet + and DDBJ. +* When executing remote BLAST with "genomenet" server, options "-b" and "-v" + are now correctly used to limit the number of hits to be reported. -* Bio::Tree#collect_edge! -* Bio::Tree#remove_edge_if +=== Bio::SPTR (Bio::UniProt) -=== Bio::KEGG::GENES and Bio::KEGG::GENOME +* Due to the UniProtKB format changes, ID, DE, and WEB RESOURCE of CC lines + were not correctly parsed. See also below about incompatible change of + the fix. -* Fixed bugs in Bio::KEGG::GENES#pathway. -* Fixed parser errors due to the format changes of KEGG GENES and KEGG GENOME. - === Other bug fixes -* In Bio::Command, changed not to call fork(2) on platforms that do not - support it. -* Bio::MEDLINE#initialize should handle continuation of lines. -* Typo and a missing field in Bio::GO::GeneAssociation#to_str. -* Bug fix of Bio::FastaNumericFormat#to_biosequence. -* Fixed UniProt GN parsing issue in Bio::SPTR. +* Bio::Reference#pubmed_url is updated to follow recent NCBI changes. +* Fixed: Bio::Newick#reparse failure. +* Fixed: In Bio::MEDLINE#reference, doi field should be filled. +* Fixed: Bio::Reference#endnote fails when url is not set. +* Fixed: Bio::FastaFormat#query passes nil to the given factory object. +* Fixed: In BioRuby Shell, efetch() with no additional arguments fails + because of the NCBI site changes. +* Fixed: In BioRuby Shell, getent() fails when EMBOSS seqret is not found. +* Fixed: In BioRuby Shell, demo() fails due to the above two issues. == Incompatible changes -=== Bio::PAML::Codeml::Report +=== Bio::Sequence#output(:fastq) -The code is completely rewritten. See the RDoc for details. +In Fastq output formatter, default width value is changed from 70 to nil. +The nil means "without wrapping". The new default behavior without wrapping +is generally good with many recent applications that read fastq. -=== Bio::KEGG::ORTHOLOGY +=== Bio::SPTR CC line topic "WEB RESOURCE" -Bio::KEGG::ORTHOLOGY#pathways is changed to return a hash. The old pathway -method is renamed to pathways_in_keggclass for compatibility. +In the return value of Bio::SPTR#cc('WEB RESOURCE'), "NAME" and "NOTE" +are now renamed to "Name" and "Note", respectively. The change is due to +the UniProt format change since UniProtKB release 12.2 of 11-Sep-2007. +(See http://www.uniprot.org/docs/sp_news.htm#rel12.2 for details.) +Note that "Name" and "Note" are used even when parsing older format. +The change would also affect Marshal.dump (and YAML.dump) data. -=== Bio::AAindex2 +=== Bio::Blast with the remote GenomeNet server -Bio::AAindex2 now copies each symmetric element for lower triangular matrix -to the upper right part, because the Matrix class in Ruby 1.9.2 no longer -accepts any dimension mismatches. We think the previous behavior is a bug. +When executing remote BLAST with "genomenet" server, options "-b" and "-v" +are now correctly used to limit the number of hits to be reported. +In 1.4.1 and before, "-B" and "-V" were mistakenly used for the purpose. -=== Bio::MEDLINE +=== Bio::Blast with the remote DDBJ server -Bio::MEDLINE#reference no longer puts empty values in the returned -Bio::Reference object. We think the previous behavior is a bug. -We also think the effect is very small. +Bio::Blast with remote DDBJ server uses REST instead of SOAP. +=== Bio::RestrictionEnzyme internal data structure change + +Due to the speedup, internal data structure of the following classes +are changed: Bio::RestrictionEnzyme::Range::SequenceRange, +Bio::RestrictionEnzyme::Range::SequenceRange::CalculatedCuts, +Bio::RestrictionEnzyme::Range::SequenceRange::Fragment. +This indicates that Marshal.dump (and YAML.dump) data generated by older +versions cannot be loaded by the new version, and vice versa, although +public APIs of the classes keep compatibility. + == Known issues The following issues are added or updated. See KNOWN_ISSUES.rdoc for other already known issues. -=== String escaping of command-line arguments in Ruby 1.9.X on Windows +* Bio::SPTR should be updated to follow UniProtKB format changes. +* Problems observed only with Ruby 1.8.5 or earlier will not be fixed. +* Descriptions about very old RubyGems 0.8.11 or earlier and about CVS + repository are moved from README.rdoc. -After BioRuby 1.4.1, in Ruby 1.9.X running on Windows, escaping of -command-line arguments are processed by the Ruby interpreter. Before BioRuby -1.4.0, the escaping is executed in Bio::Command#escape_shell_windows, and -the behavior is different from the Ruby interpreter's one. +== Other important news -Curreltly, due to the change, test/functional/bio/test_command.rb may fail -on Windows with Ruby 1.9.X. +* Required ruby version is now Ruby 1.8.6 or later (except 1.9.0).