Commit 6047d6a3 authored by Lucas Nussbaum's avatar Lucas Nussbaum

Imported Upstream version 1.4.2

parent 6ef6e6ce
This diff is collapsed.
......@@ -23,19 +23,24 @@ Currently, BioRuby do not care string encodings. In some cases,
Encoding::CompatibilityError or "ArgumentError: invalid byte sequence in
(encoding name)" may be raised.
=== Ruby 1.9.0
=== End-of-life Ruby versions
==== Ruby 1.9.0
(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.2 or earlier
==== 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.
(WONT_FIX) We will soon end support for Ruby 1.8.2. Note that Ruby
1.8.1 or earlier is no longer supported, as described in README.rdoc.
=== Issues about SOAP/WSDL
SOAP4R (SOAP and WSDL implementation) is no longer bundled with Ruby 1.9.
......@@ -52,6 +57,15 @@ 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
=== Microsoft Windows
......@@ -116,6 +130,11 @@ correctly, even running on Ruby 1.8.x. Instead, use Bio::NCBI::REST.
Bio::KEGG::Taxonomy fails to parse current KEGG taxonomy data file probably
because of the growth of the data size.
=== Bio::SPTR
Bio::SPTR should be updated to follow UniProtKB format changes described
in http://www.uniprot.org/docs/sp_news.htm .
== 4. Compatibility issues with other libraries/extensions
=== ActiveRecord
......@@ -128,3 +147,19 @@ know which version is suitable.
BioRuby Shell on Web uses Ruby on Rails, but the author of the document does
not know which version is suitable.
== 5. Historical descriptions
=== CVS
For historical purposes: the anonymous CVS was provided at
* http://cvs.bioruby.org/
and could be obtained by the following procedure.
% cvs -d :pserver:cvs@code.open-bio.org:/home/repository/bioruby login
CVS password: cvs (login with a password 'cvs' for the first time)
% cvs -d :pserver:cvs@code.open-bio.org:/home/repository/bioruby co bioruby
These may be closed without any prior notice.
......@@ -9,7 +9,7 @@ License:: The Ruby License
= BioRuby
Copyright (C) 2001-2010 Toshiaki Katayama <k@bioruby.org>
Copyright (C) 2001-2011 Toshiaki Katayama <k@bioruby.org>
BioRuby is an open source Ruby library for developing bioinformatics
software. Object oriented scripting language Ruby has many features
......@@ -42,6 +42,7 @@ services including KEGG API can be easily utilized by BioRuby.
README.rdoc:: This file. General information and installation procedure.
RELEASE_NOTES.rdoc:: News and important changes in this release.
KNOWN_ISSUES.rdoc:: Known issues and bugs in BioRuby.
doc/RELEASE_NOTES-1.4.1.rdoc:: News and incompatible changes from 1.4.0 to 1.4.1.
doc/RELEASE_NOTES-1.4.0.rdoc:: News and incompatible changes from 1.3.1 to 1.4.0.
doc/Changes-1.3.rdoc:: News and incompatible changes from 1.2.1 to 1.3.0.
doc/Changes-0.7.rd:: News and incompatible changes from 0.6.4 to 1.2.1.
......@@ -55,6 +56,7 @@ doc/KEGG_API.rd:: Documents about KEGG API, including usage of Bio::KEGG::API.
==== BioRuby development
ChangeLog:: History of changes.
doc/ChangeLog-before-1.3.1:: changes before 1.3.1.
README_DEV.rdoc:: Describes ways to contribute to the BioRuby project, including coding styles and documentation guidelines.
==== Documents written in Japanese
......@@ -72,6 +74,9 @@ mailing lists, Wiki documentation etc. in the top page.
* http://bioruby.org/
Mirror site is available, hosted on Open Bioinformatics Foundation (OBF).
* http://bioruby.open-bio.org/
== WHERE TO OBTAIN
......@@ -83,7 +88,7 @@ The stable release is freely available from the BioRuby website.
=== RubyGems
RubyGems[URL:http://rubyforge.org/projects/rubygems/] version of
{RubyGems (packaging system for Ruby)}[http://rubygems.org/] version of
the BioRuby package is also available for easy installation.
* http://rubyforge.org/projects/bioruby/
......@@ -98,27 +103,15 @@ and can be obtained by the following procedure:
% git clone git://github.com/bioruby/bioruby.git
==== CVS
CVS is now deprecated as source control has moved to github. Please use git
instead of CVS. For historical purposes: the anonymous CVS was provided at
* http://cvs.bioruby.org/
and could be obtained by the following procedure.
% cvs -d :pserver:cvs@code.open-bio.org:/home/repository/bioruby login
CVS password: cvs (login with a password 'cvs' for the first time)
% cvs -d :pserver:cvs@code.open-bio.org:/home/repository/bioruby co bioruby
== REQUIREMENTS
* Ruby 1.8.2 or later (except Ruby 1.9.0) -- http://www.ruby-lang.org/
* Ruby 1.8.7-p174 or later, or Ruby 1.8.6-p383 or later is recommended.
* Ruby 1.8.6 or later (except Ruby 1.9.0) -- http://www.ruby-lang.org/
* Ruby 1.8.7-p352 or later is recommended.
* Not yet fully ready with Ruby 1.9, although many components can now work
in Ruby 1.9.1 and Ruby 1.9.2.
== OPTIONAL REQUIREMENTS
Some optional libraries can be utilized to extend BioRuby's functionality.
......@@ -141,11 +134,6 @@ Accessing BioSQL database created by other Open Bio* libraries:
{RubyForge:MySQL/Ruby}[http://rubyforge.org/projects/mysql-ruby/],
{RubyForge:postgres-pr}[http://rubyforge.org/projects/postgres-pr], or
{RubyForge:ActiveRecord Oracle enhanced adapter}[http://rubyforge.org/projects/oracle-enhanced/].
* For BioRuby 1.2.1 or older version,
{RubyForge:Ruby/DBI}[http://rubyforge.org/projects/ruby-dbi] and
at least one driver from MySQL/Ruby, postgres-pr, or
{RubyForge:ruby-oci8}[http://ruby-oci8.rubyforge.org/]
(note that ruby-oci8 can only work with ruby-dbi 0.2.2).
For parsing PhyloXML format files:
......@@ -155,6 +143,20 @@ For parsing PhyloXML format files:
== INSTALL
=== INSTALL by using RubyGems (recommended)
If you are using RubyGems, just type
% gems install bio
Alternatively, manually download bio-X.X.X.gem from
http://rubyforge.org/projects/bioruby/ and install it by using gems command.
RubyGems is bundled with Ruby 1.9.1 or later. For Ruby 1.8.7 or earlier,
download and install RubyGems from http://rubygems.org/ .
=== INSTALL without RubyGems
In the bioruby source directory (such as bioruby-x.x.x/), run setup.rb
as follows:
......@@ -188,12 +190,6 @@ and run
for more details.
=== RubyGems
If you are using RubyGems, just type
% gems install bio
== SETUP
......@@ -227,21 +223,26 @@ You can also read other documentation in the 'doc' directory.
bioruby-x.x.x/doc/
=== RubyGems
=== RubyGems on Ruby 1.8.x
With RubyGems, you need to load 'rubygems' library before using 'bio'.
With RubyGems on Ruby 1.8.x, you may need to load 'rubygems' library before
using 'bio'. This may not be needed, depending on settings of Ruby.
#!/usr/bin/env ruby
require 'rubygems'
require 'bio'
With 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'
== PLUGIN (Biogem)
Many plugins (called Biogem) are now available. See http://biogems.info/
for list of plugins and related software utilizing BioRuby.
* http://biogems.info/
To develop your own plugin, see "Plugins" pages of BioRuby Wiki.
* http://bioruby.open-bio.org/wiki/Plugins
== LICENSE
......
= 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
== Bug fixes
* 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.
=== Bio::Tree
== Bug fixes
Following methods did not work correctly.
=== Bio::Blast
* Bio::Tree#collect_edge!
* Bio::Tree#remove_edge_if
* 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::KEGG::GENES and Bio::KEGG::GENOME
=== Bio::SPTR (Bio::UniProt)
* Fixed bugs in Bio::KEGG::GENES#pathway.
* Fixed parser errors due to the format changes of KEGG GENES and 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.
=== 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)
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"
The code is completely rewritten. See the RDoc for details.
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::KEGG::ORTHOLOGY
=== Bio::Blast with the remote GenomeNet server
Bio::KEGG::ORTHOLOGY#pathways is changed to return a hash. The old pathway
method is renamed to pathways_in_keggclass for compatibility.
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::AAindex2
=== Bio::Blast with the remote DDBJ 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.
Bio::Blast with remote DDBJ server uses REST instead of SOAP.
=== Bio::MEDLINE
=== Bio::RestrictionEnzyme internal data structure change
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.
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).
......@@ -3,7 +3,7 @@
#
Gem::Specification.new do |s|
s.name = 'bio'
s.version = "1.4.1"
s.version = "1.4.2"
s.author = "BioRuby project"
s.email = "staff@bioruby.org"
......@@ -38,6 +38,7 @@ Gem::Specification.new do |s|
"doc/KEGG_API.rd",
"doc/KEGG_API.rd.ja",
"doc/RELEASE_NOTES-1.4.0.rdoc",
"doc/RELEASE_NOTES-1.4.1.rdoc",
"doc/Tutorial.rd",
"doc/Tutorial.rd.html",
"doc/Tutorial.rd.ja",
......@@ -186,6 +187,7 @@ Gem::Specification.new do |s|
"lib/bio/io/biosql/config/database.yml",
"lib/bio/io/das.rb",
"lib/bio/io/dbget.rb",
"lib/bio/io/ddbjrest.rb",
"lib/bio/io/ddbjxml.rb",
"lib/bio/io/ebisoap.rb",
"lib/bio/io/ensembl.rb",
......@@ -279,6 +281,7 @@ Gem::Specification.new do |s|
"lib/bio/util/restriction_enzyme/analysis.rb",
"lib/bio/util/restriction_enzyme/analysis_basic.rb",
"lib/bio/util/restriction_enzyme/cut_symbol.rb",
"lib/bio/util/restriction_enzyme/dense_int_array.rb",
"lib/bio/util/restriction_enzyme/double_stranded.rb",
"lib/bio/util/restriction_enzyme/double_stranded/aligned_strands.rb",
"lib/bio/util/restriction_enzyme/double_stranded/cut_location_pair.rb",
......@@ -297,6 +300,7 @@ Gem::Specification.new do |s|
"lib/bio/util/restriction_enzyme/single_strand.rb",
"lib/bio/util/restriction_enzyme/single_strand/cut_locations_in_enzyme_notation.rb",
"lib/bio/util/restriction_enzyme/single_strand_complement.rb",
"lib/bio/util/restriction_enzyme/sorted_num_array.rb",
"lib/bio/util/restriction_enzyme/string_formatting.rb",
"lib/bio/util/sirna.rb",
"lib/bio/version.rb",
......@@ -363,6 +367,7 @@ Gem::Specification.new do |s|
"sample/ssearch2tab.rb",
"sample/tdiary.rb",
"sample/test_phyloxml_big.rb",
"sample/test_restriction_enzyme_long.rb",
"sample/tfastx2tab.rb",
"sample/vs-genes.rb",
"setup.rb",
......@@ -402,6 +407,7 @@ Gem::Specification.new do |s|
"test/data/command/echoarg2.bat",
"test/data/embl/AB090716.embl",
"test/data/embl/AB090716.embl.rel89",
"test/data/fasta/EFTU_BACSU.fasta",
"test/data/fasta/example1.txt",
"test/data/fasta/example2.txt",
"test/data/fastq/README.txt",
......@@ -456,12 +462,15 @@ Gem::Specification.new do |s|
"test/data/fastq/wrapping_as_solexa.fastq",
"test/data/fastq/wrapping_original_sanger.fastq",
"test/data/gcg/pileup-aa.msf",
"test/data/genbank/CAA35997.gp",
"test/data/genbank/SCU49845.gb",
"test/data/genscan/sample.report",
"test/data/go/selected_component.ontology",
"test/data/go/selected_gene_association.sgd",
"test/data/go/selected_wikipedia2go",
"test/data/iprscan/merged.raw",
"test/data/iprscan/merged.txt",
"test/data/litdb/1717226.litdb",
"test/data/medline/20146148_modified.medline",
"test/data/meme/db",
"test/data/meme/mast",
......@@ -481,6 +490,7 @@ Gem::Specification.new do |s|
"test/data/phyloxml/made_up.xml",
"test/data/phyloxml/ncbi_taxonomy_mollusca_short.xml",
"test/data/phyloxml/phyloxml_examples.xml",
"test/data/pir/CRAB_ANAPL.pir",
"test/data/prosite/prosite.dat",
"test/data/refseq/nm_126355.entret",
"test/data/rpsblast/misc.rpsblast",
......@@ -493,7 +503,10 @@ Gem::Specification.new do |s|
"test/data/soft/GDS100_partial.soft",
"test/data/soft/GSE3457_family_partial.soft",
"test/data/uniprot/p53_human.uniprot",
"test/functional/bio/appl/blast/test_remote.rb",
"test/functional/bio/appl/test_blast.rb",
"test/functional/bio/appl/test_pts1.rb",
"test/functional/bio/io/test_ddbjrest.rb",
"test/functional/bio/io/test_ensembl.rb",
"test/functional/bio/io/test_pubmed.rb",
"test/functional/bio/io/test_soapwsdl.rb",
......@@ -536,9 +549,13 @@ Gem::Specification.new do |s|
"test/unit/bio/db/embl/test_embl_to_bioseq.rb",
"test/unit/bio/db/embl/test_sptr.rb",
"test/unit/bio/db/embl/test_uniprot.rb",
"test/unit/bio/db/embl/test_uniprot_new_part.rb",
"test/unit/bio/db/fasta/test_defline.rb",
"test/unit/bio/db/fasta/test_defline_misc.rb",
"test/unit/bio/db/fasta/test_format_qual.rb",
"test/unit/bio/db/genbank/test_common.rb",
"test/unit/bio/db/genbank/test_genbank.rb",
"test/unit/bio/db/genbank/test_genpept.rb",
"test/unit/bio/db/kegg/test_compound.rb",
"test/unit/bio/db/kegg/test_drug.rb",
"test/unit/bio/db/kegg/test_enzyme.rb",
......@@ -558,7 +575,9 @@ Gem::Specification.new do |s|
"test/unit/bio/db/test_gff.rb",
"test/unit/bio/db/test_go.rb",
"test/unit/bio/db/test_lasergene.rb",
"test/unit/bio/db/test_litdb.rb",
"test/unit/bio/db/test_medline.rb",
"test/unit/bio/db/test_nbrf.rb",
"test/unit/bio/db/test_newick.rb",
"test/unit/bio/db/test_nexus.rb",
"test/unit/bio/db/test_phyloxml.rb",
......@@ -606,9 +625,11 @@ Gem::Specification.new do |s|
"test/unit/bio/util/restriction_enzyme/single_strand/test_cut_locations_in_enzyme_notation.rb",
"test/unit/bio/util/restriction_enzyme/test_analysis.rb",
"test/unit/bio/util/restriction_enzyme/test_cut_symbol.rb",
"test/unit/bio/util/restriction_enzyme/test_dense_int_array.rb",
"test/unit/bio/util/restriction_enzyme/test_double_stranded.rb",
"test/unit/bio/util/restriction_enzyme/test_single_strand.rb",
"test/unit/bio/util/restriction_enzyme/test_single_strand_complement.rb",
"test/unit/bio/util/restriction_enzyme/test_sorted_num_array.rb",
"test/unit/bio/util/restriction_enzyme/test_string_formatting.rb",
"test/unit/bio/util/test_color_scheme.rb",
"test/unit/bio/util/test_contingency_table.rb",
......@@ -624,7 +645,8 @@ Gem::Specification.new do |s|
"README_DEV.rdoc",
"RELEASE_NOTES.rdoc",
"doc/Changes-1.3.rdoc",
"doc/RELEASE_NOTES-1.4.0.rdoc"
"doc/RELEASE_NOTES-1.4.0.rdoc",
"doc/RELEASE_NOTES-1.4.1.rdoc"
]
s.rdoc_options << '--main' << 'README.rdoc'
s.rdoc_options << '--title' << 'BioRuby API documentation'
......
= BioRuby 1.4.1 RELEASE NOTES
A lot of changes have been made to the BioRuby 1.4.1 after the version 1.4.0
is released. This document describes important and/or incompatible changes
since the BioRuby 1.4.0 release.
For known problems, see KNOWN_ISSUES.rdoc.
== New features
=== PAML Codeml support is significantly improved
PAML Codeml result parser is completely rewritten and is significantly
improved. The code is developed by Pjotr Prins.
=== KEGG PATHWAY and KEGG MODULE parser
Parsers for KEGG PATHWAY and KEGG MODULE data are added. The code is developed
by Kozo Nishida and Toshiaki Katayama.
=== Bio::KEGG improvements
Following new methods are added.
* Bio::KEGG::GENES#keggclass, keggclasses, names_as_array, names,
motifs_as_strings, motifs_as_hash, motifs
* Bio::KEGG::GENOME#original_databases
=== Test codes are added and improved.
Test codes are added and improved. Tney are developed by Kazuhiro Hayashi,
Kozo Nishida, John Prince, and Naohisa Goto.
=== Other new methods
* Bio::Fastq#mask
* Bio::Sequence#output_fasta
* Bio::ClustalW::Report#get_sequence
* Bio::Reference#==
* Bio::Location#==
* Bio::Locations#==
* Bio::FastaNumericFormat#to_biosequence
== Bug fixes
=== Bio::Tree
Following methods did not work correctly.
* Bio::Tree#collect_edge!
* Bio::Tree#remove_edge_if
=== Bio::KEGG::GENES and Bio::KEGG::GENOME
* 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.
== Incompatible changes
=== Bio::PAML::Codeml::Report
The code is completely rewritten. See the RDoc for details.
=== Bio::KEGG::ORTHOLOGY
Bio::KEGG::ORTHOLOGY#pathways is changed to return a hash. The old pathway
method is renamed to pathways_in_keggclass for compatibility.
=== Bio::AAindex2
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.
=== Bio::MEDLINE
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.
== 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
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.
This diff is collapsed.
This diff is collapsed.
......@@ -82,6 +82,7 @@ module Bio
## below are described in bio/db/genbank/ddbj.rb
#class DDBJ
# autoload :XML, 'bio/io/ddbjxml'
# autoload :REST, 'bio/io/ddbjrest'
#end
## EMBL/TrEMBL/Swiss-Prot/SPTR
......
......@@ -30,7 +30,7 @@ module Bio
#
# # To run an actual BLAST analysis:
# # 1. create a BLAST factory
# remote_blast_factory = Bio::Blast.remote('blastp', 'SWISS',
# remote_blast_factory = Bio::Blast.remote('blastp', 'swissprot',
# '-e 0.0001', 'genomenet')
# #or:
# local_blast_factory = Bio::Blast.local('blastn','/path/to/db')
......
......@@ -8,7 +8,7 @@
#
require 'bio/appl/blast/remote'
require 'bio/io/ddbjxml'
require 'bio/io/ddbjrest'
module Bio::Blast::Remote
......@@ -37,32 +37,43 @@ module Bio::Blast::Remote
if defined? @parse_databases
return nil if @parse_databases
end
drv = Bio::DDBJ::XML::Blast.new
drv = Bio::DDBJ::REST::Blast.new
str = drv.getSupportDatabaseList
databases = {}
dbdescs = {}
key = 'blastn'
keys = [ 'blastn', 'blastp' ]
keys.each do |key|
databases[key] ||= []
dbdescs[key] ||= {}
end
prefix = ''
databases[key] ||= []
dbdescs[key] ||= {}
prefix_count = 0
str.each_line do |line|
a = line.strip.split(/\s*\-\s*/, 2)
case a.size
when 1
prefix = a[0].to_s.strip
prefix += ': ' unless prefix.empty?
key = 'blastn'
prefix_count = 0
next #each_line
when 0
prefix = ''
key = 'blastp'
databases[key] ||= []
dbdescs[key] ||= {}
prefix = '' if prefix_count > 0
next #each_line
end
name = a[0].to_s.strip.freeze
desc = (prefix + a[1].to_s.strip).freeze
desc = a[1].to_s.strip
key = case desc
when /\(NT\)\s*$/
'blastn'
when /\(AA\)\s*$/
'blastp'
else
warn "DDBJ BLAST: could not determine the database is NT or AA: #{line.chomp}" if $VERBOSE
next #each_line
end
desc = (prefix + desc).freeze
prefix_count += 1
databases[key].push name
dbdescs[key][name] = desc
end
......@@ -96,11 +107,9 @@ module Bio::Blast::Remote
options = make_command_line_options
opt = Bio::Blast::NCBIOptions.new(options)
# SOAP objects are cached
@ddbj_remote_blast ||= Bio::DDBJ::XML::Blast.new
#@ddbj_request_manager ||= Bio::DDBJ::XML::RequestManager.new
# always use REST version to prevent warning messages
@ddbj_request_manager ||= Bio::DDBJ::XML::RequestManager::REST.new
# REST objects are cached
@ddbj_remote_blast ||= Bio::DDBJ::REST::Blast.new
@ddbj_request_manager ||= Bio::DDBJ::REST::RequestManager.new
program = opt.delete('-p')
db = opt.delete('-d')
......@@ -110,24 +119,7 @@ module Bio::Blast::Remote
qid = @ddbj_remote_blast.searchParamAsync(program, db, query, optstr)
@output = qid
sleeptime = 2
flag = true
while flag
if $VERBOSE then
$stderr.puts "DDBJ BLAST: ID: #{qid} -- waitng #{sleeptime} sec."