# RELEASE_NOTES-1.4.2.rdoc

Path: | doc/RELEASE_NOTES-1.4.2.rdoc
Last Update: | Sat Sep 29 00:26:22 +0000 2012

# BioRuby 1.4.2 RELEASE NOTES

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.1 release.

For known problems, see KNOWN_ISSUES.rdoc.

## New features

### Speed-up of Bio::RestrictionEnzyme::Analysis.cut

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.

### New classes Bio::DDBJ::REST, REST interface for DDBJ web service

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::Blast with remote DDBJ server uses REST instead of SOAP

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.

### Tutorial is updated

The Tutorial.rd is updated by Pjotr Prins and Michael O‘Keefe.

### Many unit tests are added

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.

### 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::Blast

- 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::SPTR (Bio::UniProt)

- 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.

### Other bug fixes

- 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::Sequence#output(:fastq)

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::SPTR CC line topic "WEB RESOURCE"

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 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::Blast with the remote GenomeNet server

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::Blast with the remote DDBJ server

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.

- 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.

## Other important news

- Required ruby version is now Ruby 1.8.6 or later (except 1.9.0).

[Validate]