KNOWN_ISSUES.rdoc - Known issues and bugs in BioRuby
Copyright (C) 2009 Naohisa Goto <firstname.lastname@example.org>
The Ruby License
Known issues and bugs in BioRuby
Below are known issues and bugs in BioRuby. Patches to fix them are welcome. We hope they will be fixed in the future.
Items marked with (WONT_FIX) tags would not be fixed within BioRuby because they are not BioRuby's issues and/or it is very difficult to fix them.
1. Ruby version specific issues
Ruby 1.9.1 or later
Some classes/modules/methods still may not work or may return incorrect results in Ruby 1.9.1, especially those not covered by the unit tests.
Currently, BioRuby do not care string encodings. In some cases, Encoding::CompatibilityError or “ArgumentError: invalid byte sequence in (encoding name)” may be raised.
End-of-life Ruby versions
(WONT_FIX) Ruby 1.9.0 is NOT supported because it isn't a stable release. Use Ruby 1.9.1 or later.
Ruby 1.8.5 or earlier
(WONT_FIX) Problems observed only with Ruby 1.8.5 or earlier will not be fixed. Note that Ruby 1.8.5 or earlier is no longer supported, as described in README.rdoc.
Ruby 1.8.2 or earlier
(WONT_FIX) In some cases, temporary files and directories may not be removed because of the lack of FileUtils.remove_entry_secure.
Issues about SOAP/WSDL
SOAP4R (SOAP and WSDL implementation) is no longer bundled with Ruby 1.9. In addition, because of the API changes in recent SOAP4R, some classes/modules using SOAP4R may not work.
Problem with REXML DoS vulnerability patch before 09-Nov-2008
(WONT_FIX) If you have applied a patch taken from www.ruby-lang.org/en/news/2008/08/23/dos-vulnerability-in-rexml/ before 09 Nov 2008 12:40 +0900, because of the bug in the patch, parsing of Blast XML results with REXML parser may fail. The bug is already fixed and new patch is available on the above URL. Note that some Linux distributions would have incorporated the patch in their manners, and may have the same problem.
RubyGems 0.8.11 or earlier
(WONT_FIX) With very old version of RubyGems, use 'require_gem' which was deprecated in RubyGems 0.9.0 and removed in RubyGems 1.0.1.
#!/usr/bin/env ruby require 'rubygems' require_gem 'bio'
2. OS and/or architecture-dependent issues
Text mode issues
Following 4 tests failed on mswin32 (and maybe on mingw32 and bccwin32) because of the conversion of line feed codes in the text mode.
test_ended_pos and test_start_pos in test/unit/bio/io/test_flatfile.rb
test_pos in test/unit/bio/io/flatfile/test_buffer.rb
test_entry_pos in test/unit/bio/appl/blast/test_rpsblast.rb
This indicates that br_bioflat.rb and Bio::FlatFileIndex may create incorrect indexes on mswin32, mingw32, and bccwin32. In addition, Bio::FlatFile may return incorrect data.
String escaping of command-line arguments
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.
Curreltly, due to the change, test/functional/bio/test_command.rb may fail on Windows with Ruby 1.9.X.
(WONT_FIX) Some methods that call external programs may not work in Windows 95/98/98SE/ME because of the limitation of COMMAND.COM.
OpenVMS, BeOS, OS/2, djgpp, Windows CE
(WONT_FIX) BioRuby may not work on these platforms.
3. Known issues and bugs in BioRuby
Due to the renewal of Ensembl web site, Bio::Ensembl does not work for the latest Ensembl. For a workaround, use an archive server. For example, “jul2008.archive.ensembl.org” seems to be the last server before the renewal.
human = Bio::Ensembl.new("Homo_sapiens", "jul2008.archive.ensembl.org")
Alternatively, consider using Ruby Ensembl API.
Bio::DBGET and sample/dbget
(WONT_FIX) Because the DBGET service have not been publically available for a long time, we give up support for Bio::DBGET and sample/dbget. Instead, using Bio::TogoWS or Bio::KEGG::API is recommended.
It seems that Bio::NCBI::SOAP (in lib/bio/io/ncbisoap.rb) does not work correctly, even running on Ruby 1.8.x. Instead, use Bio::NCBI::REST.
Bio::KEGG::Taxonomy and sample/demo_kegg_taxonomy.rb
Bio::KEGG::Taxonomy fails to parse current KEGG taxonomy data file probably because of the growth of the data size.
Bio::SPTR should be updated to follow UniProtKB format changes described in www.uniprot.org/docs/sp_news.htm .
4. Compatibility issues with other libraries/extensions
BioSQL support uses ActiveRecord, but the author of the document does not know which version is suitable.
Ruby on Rails
BioRuby Shell on Web uses Ruby on Rails, but the author of the document does not know which version is suitable.
5. Historical descriptions
For historical purposes: the anonymous CVS was provided at
and could be obtained by the following procedure.
% cvs -d :pserver:email@example.com:/home/repository/bioruby login CVS password: cvs (login with a password 'cvs' for the first time) % cvs -d :pserver:firstname.lastname@example.org:/home/repository/bioruby co bioruby
These may be closed without any prior notice.