bio 1.4.3.0001 → 1.5.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (158) hide show
  1. checksums.yaml +7 -0
  2. data/.travis.yml +39 -33
  3. data/BSDL +22 -0
  4. data/COPYING +2 -2
  5. data/COPYING.ja +36 -36
  6. data/ChangeLog +2404 -1025
  7. data/KNOWN_ISSUES.rdoc +15 -55
  8. data/README.rdoc +17 -23
  9. data/RELEASE_NOTES.rdoc +246 -183
  10. data/Rakefile +3 -2
  11. data/bin/br_biofetch.rb +29 -5
  12. data/bioruby.gemspec +15 -32
  13. data/bioruby.gemspec.erb +10 -20
  14. data/doc/ChangeLog-1.4.3 +1478 -0
  15. data/doc/RELEASE_NOTES-1.4.3.rdoc +204 -0
  16. data/doc/Tutorial.rd +0 -6
  17. data/doc/Tutorial.rd.html +7 -12
  18. data/doc/Tutorial.rd.ja +960 -1064
  19. data/doc/Tutorial.rd.ja.html +977 -1067
  20. data/gemfiles/Gemfile.travis-jruby1.8 +2 -1
  21. data/gemfiles/Gemfile.travis-jruby1.9 +2 -4
  22. data/gemfiles/Gemfile.travis-rbx +13 -0
  23. data/gemfiles/Gemfile.travis-ruby1.8 +2 -1
  24. data/gemfiles/Gemfile.travis-ruby1.9 +2 -4
  25. data/gemfiles/Gemfile.travis-ruby2.2 +9 -0
  26. data/lib/bio.rb +10 -43
  27. data/lib/bio/alignment.rb +8 -14
  28. data/lib/bio/appl/blast.rb +1 -2
  29. data/lib/bio/appl/blast/format0.rb +18 -7
  30. data/lib/bio/appl/blast/remote.rb +0 -9
  31. data/lib/bio/appl/blast/report.rb +1 -1
  32. data/lib/bio/appl/clustalw/report.rb +3 -1
  33. data/lib/bio/appl/genscan/report.rb +1 -2
  34. data/lib/bio/appl/iprscan/report.rb +1 -2
  35. data/lib/bio/appl/meme/mast.rb +4 -4
  36. data/lib/bio/appl/meme/mast/report.rb +1 -1
  37. data/lib/bio/appl/paml/codeml.rb +2 -2
  38. data/lib/bio/appl/paml/codeml/report.rb +1 -0
  39. data/lib/bio/appl/paml/common.rb +1 -1
  40. data/lib/bio/appl/sosui/report.rb +1 -2
  41. data/lib/bio/command.rb +62 -2
  42. data/lib/bio/data/aa.rb +13 -31
  43. data/lib/bio/data/codontable.rb +1 -2
  44. data/lib/bio/db/biosql/biosql_to_biosequence.rb +1 -0
  45. data/lib/bio/db/biosql/sequence.rb +1 -1
  46. data/lib/bio/db/embl/common.rb +1 -1
  47. data/lib/bio/db/embl/embl.rb +5 -4
  48. data/lib/bio/db/embl/format_embl.rb +3 -3
  49. data/lib/bio/db/embl/sptr.rb +9 -1444
  50. data/lib/bio/db/embl/swissprot.rb +12 -29
  51. data/lib/bio/db/embl/trembl.rb +13 -30
  52. data/lib/bio/db/embl/uniprot.rb +12 -29
  53. data/lib/bio/db/embl/uniprotkb.rb +1455 -0
  54. data/lib/bio/db/fasta.rb +17 -0
  55. data/lib/bio/db/fasta/defline.rb +1 -3
  56. data/lib/bio/db/fastq.rb +1 -1
  57. data/lib/bio/db/genbank/ddbj.rb +9 -5
  58. data/lib/bio/db/genbank/refseq.rb +11 -3
  59. data/lib/bio/db/gff.rb +3 -4
  60. data/lib/bio/db/go.rb +5 -6
  61. data/lib/bio/db/kegg/module.rb +4 -5
  62. data/lib/bio/db/kegg/pathway.rb +4 -5
  63. data/lib/bio/db/kegg/reaction.rb +1 -1
  64. data/lib/bio/db/nexus.rb +3 -2
  65. data/lib/bio/db/pdb/pdb.rb +2 -2
  66. data/lib/bio/db/phyloxml/phyloxml_elements.rb +82 -59
  67. data/lib/bio/db/phyloxml/phyloxml_parser.rb +2 -2
  68. data/lib/bio/db/phyloxml/phyloxml_writer.rb +1 -2
  69. data/lib/bio/db/sanger_chromatogram/chromatogram.rb +1 -2
  70. data/lib/bio/db/transfac.rb +1 -1
  71. data/lib/bio/io/das.rb +40 -41
  72. data/lib/bio/io/fastacmd.rb +0 -16
  73. data/lib/bio/io/fetch.rb +111 -55
  74. data/lib/bio/io/flatfile/buffer.rb +4 -5
  75. data/lib/bio/io/hinv.rb +2 -3
  76. data/lib/bio/io/ncbirest.rb +43 -6
  77. data/lib/bio/io/pubmed.rb +76 -81
  78. data/lib/bio/io/togows.rb +33 -10
  79. data/lib/bio/map.rb +1 -1
  80. data/lib/bio/pathway.rb +1 -1
  81. data/lib/bio/sequence/compat.rb +1 -1
  82. data/lib/bio/sequence/na.rb +63 -12
  83. data/lib/bio/shell.rb +0 -2
  84. data/lib/bio/shell/core.rb +5 -6
  85. data/lib/bio/shell/interface.rb +3 -4
  86. data/lib/bio/shell/irb.rb +1 -2
  87. data/lib/bio/shell/plugin/entry.rb +2 -3
  88. data/lib/bio/shell/plugin/seq.rb +7 -6
  89. data/lib/bio/shell/setup.rb +1 -2
  90. data/lib/bio/tree.rb +2 -2
  91. data/lib/bio/util/contingency_table.rb +0 -2
  92. data/lib/bio/util/restriction_enzyme/range/sequence_range.rb +2 -2
  93. data/lib/bio/util/sirna.rb +76 -16
  94. data/lib/bio/version.rb +8 -9
  95. data/sample/benchmark_clustalw_report.rb +47 -0
  96. data/sample/biofetch.rb +248 -151
  97. data/setup.rb +6 -7
  98. data/test/data/clustalw/example1-seqnos.aln +58 -0
  99. data/test/network/bio/appl/blast/test_remote.rb +1 -15
  100. data/test/network/bio/appl/test_blast.rb +0 -12
  101. data/test/network/bio/io/test_pubmed.rb +49 -0
  102. data/test/network/bio/io/test_togows.rb +0 -1
  103. data/test/network/bio/test_command.rb +65 -2
  104. data/test/unit/bio/appl/bl2seq/test_report.rb +0 -1
  105. data/test/unit/bio/appl/blast/test_report.rb +110 -48
  106. data/test/unit/bio/appl/clustalw/test_report.rb +67 -51
  107. data/test/unit/bio/appl/sim4/test_report.rb +46 -17
  108. data/test/unit/bio/appl/test_blast.rb +2 -2
  109. data/test/unit/bio/db/embl/test_embl.rb +0 -1
  110. data/test/unit/bio/db/embl/test_embl_rel89.rb +0 -1
  111. data/test/unit/bio/db/embl/{test_sptr.rb → test_uniprotkb.rb} +111 -115
  112. data/test/unit/bio/db/embl/{test_uniprot_new_part.rb → test_uniprotkb_new_part.rb} +11 -11
  113. data/test/unit/bio/db/genbank/test_genbank.rb +10 -4
  114. data/test/unit/bio/db/pdb/test_pdb.rb +14 -8
  115. data/test/unit/bio/db/test_fasta.rb +41 -1
  116. data/test/unit/bio/db/test_fastq.rb +14 -4
  117. data/test/unit/bio/db/test_gff.rb +2 -2
  118. data/test/unit/bio/db/test_phyloxml.rb +30 -30
  119. data/test/unit/bio/db/test_phyloxml_writer.rb +2 -2
  120. data/test/unit/bio/io/flatfile/test_autodetection.rb +1 -2
  121. data/test/unit/bio/io/flatfile/test_buffer.rb +7 -1
  122. data/test/unit/bio/io/flatfile/test_splitter.rb +1 -1
  123. data/test/unit/bio/io/test_togows.rb +3 -2
  124. data/test/unit/bio/sequence/test_dblink.rb +1 -1
  125. data/test/unit/bio/sequence/test_na.rb +3 -1
  126. data/test/unit/bio/test_alignment.rb +1 -2
  127. data/test/unit/bio/test_command.rb +5 -4
  128. data/test/unit/bio/test_db.rb +4 -2
  129. data/test/unit/bio/test_pathway.rb +25 -10
  130. data/test/unit/bio/util/test_sirna.rb +22 -22
  131. metadata +656 -1430
  132. data/doc/KEGG_API.rd +0 -1843
  133. data/doc/KEGG_API.rd.ja +0 -1834
  134. data/extconf.rb +0 -2
  135. data/lib/bio/appl/blast/ddbj.rb +0 -131
  136. data/lib/bio/db/kegg/taxonomy.rb +0 -280
  137. data/lib/bio/io/dbget.rb +0 -194
  138. data/lib/bio/io/ddbjrest.rb +0 -344
  139. data/lib/bio/io/ddbjxml.rb +0 -458
  140. data/lib/bio/io/ebisoap.rb +0 -158
  141. data/lib/bio/io/ensembl.rb +0 -229
  142. data/lib/bio/io/higet.rb +0 -73
  143. data/lib/bio/io/keggapi.rb +0 -363
  144. data/lib/bio/io/ncbisoap.rb +0 -156
  145. data/lib/bio/io/soapwsdl.rb +0 -119
  146. data/lib/bio/shell/plugin/keggapi.rb +0 -181
  147. data/lib/bio/shell/plugin/soap.rb +0 -87
  148. data/sample/dbget +0 -37
  149. data/sample/demo_ddbjxml.rb +0 -212
  150. data/sample/demo_kegg_taxonomy.rb +0 -92
  151. data/sample/demo_keggapi.rb +0 -502
  152. data/sample/psortplot_html.rb +0 -214
  153. data/test/network/bio/io/test_ddbjrest.rb +0 -47
  154. data/test/network/bio/io/test_ensembl.rb +0 -230
  155. data/test/network/bio/io/test_soapwsdl.rb +0 -53
  156. data/test/unit/bio/io/test_ddbjxml.rb +0 -81
  157. data/test/unit/bio/io/test_ensembl.rb +0 -111
  158. data/test/unit/bio/io/test_soapwsdl.rb +0 -33
@@ -30,10 +30,10 @@ Encoding::CompatibilityError or "ArgumentError: invalid byte sequence in
30
30
  (WONT_FIX) Ruby 1.9.0 is NOT supported because it isn't a stable release.
31
31
  Use Ruby 1.9.1 or later.
32
32
 
33
- ==== Ruby 1.8.5 or earlier
33
+ ==== Ruby 1.8.6 or earlier
34
34
 
35
- (WONT_FIX) Problems observed only with Ruby 1.8.5 or earlier will not be
36
- fixed. Note that Ruby 1.8.5 or earlier is no longer supported, as described
35
+ (WONT_FIX) Problems observed only with Ruby 1.8.6 or earlier will not be
36
+ fixed. Note that Ruby 1.8.6 or earlier is no longer supported, as described
37
37
  in README.rdoc.
38
38
 
39
39
  ==== Ruby 1.8.2 or earlier
@@ -41,12 +41,6 @@ in README.rdoc.
41
41
  (WONT_FIX) In some cases, temporary files and directories may not be
42
42
  removed because of the lack of FileUtils.remove_entry_secure.
43
43
 
44
- === Issues about SOAP/WSDL
45
-
46
- SOAP4R (SOAP and WSDL implementation) is no longer bundled with Ruby 1.9.
47
- In addition, because of the API changes in recent SOAP4R, some
48
- classes/modules using SOAP4R may not work.
49
-
50
44
  === Problem with REXML DoS vulnerability patch before 09-Nov-2008
51
45
 
52
46
  (WONT_FIX) If you have applied a patch taken from
@@ -146,53 +140,25 @@ Windows 95/98/98SE/ME because of the limitation of COMMAND.COM.
146
140
 
147
141
  == 3. Known issues and bugs in BioRuby
148
142
 
149
- === DDBJ Web API related classes (Bio::DDBJ::*, Bio::BLAST::Remote::DDBJ)
150
-
151
- The DDBJ Web API is stopping after their system replacement in March 2012.
152
- (See the announcement though it is written only in Japanese:
153
- http://www.ddbj.nig.ac.jp/replace/rp120601-j.html)
154
- Due to the stop of the DDBJ Web API, Bio::DDBJ::* and Bio::BLAST::Remote::DDBJ
155
- which are using the web API can not be used.
156
-
157
- === Bio::Ensembl
158
-
159
- Due to the renewal of Ensembl web site, Bio::Ensembl does not work for
160
- the latest Ensembl. For a workaround, use an archive server. For example,
161
- "jul2008.archive.ensembl.org" seems to be the last server before the renewal.
162
- human = Bio::Ensembl.new("Homo_sapiens", "jul2008.archive.ensembl.org")
163
-
164
- Alternatively, consider using Ruby Ensembl API.
165
- * http://github.com/jandot/ruby-ensembl-api
166
-
167
- === Bio::DBGET and sample/dbget
143
+ === Bio::UniProtKB
168
144
 
169
- (WONT_FIX) Because the DBGET service have not been publically available for
170
- a long time, we give up support for Bio::DBGET and sample/dbget. Instead,
171
- using Bio::TogoWS or Bio::KEGG::API is recommended.
172
-
173
- === Bio::NCBI::SOAP
174
-
175
- It seems that Bio::NCBI::SOAP (in lib/bio/io/ncbisoap.rb) does not work
176
- correctly, even running on Ruby 1.8.x. Instead, use Bio::NCBI::REST.
145
+ Bio::UniProtKB should be updated to follow UniProtKB format changes described
146
+ in http://www.uniprot.org/docs/sp_news.htm .
177
147
 
178
- === Bio::KEGG::Taxonomy and sample/demo_kegg_taxonomy.rb
148
+ === Bio::PDB
179
149
 
180
- Bio::KEGG::Taxonomy fails to parse current KEGG taxonomy data file probably
181
- because of the growth of the data size.
150
+ Bio::PDB should be updated to follow PDB format version 3.3.
182
151
 
183
- === Bio::SPTR
152
+ === Bio::Blast::Report
184
153
 
185
- Bio::SPTR should be updated to follow UniProtKB format changes described
186
- in http://www.uniprot.org/docs/sp_news.htm .
154
+ NCBI announces that that they are makeing a new version of BLAST XML data
155
+ format. BioRuby should support it.
187
156
 
188
- === http://bioruby.org/cgi-bin/biofetch.rb and Bio::Fetch.query
157
+ === Bio::Blast::Default::Report
189
158
 
190
- BioRuby's default BioFetch server http://bioruby.org/cgi-bin/biofetch.rb is
191
- down for years. Please use other server, such as EBI Dbfetch
192
- (http://www.ebi.ac.uk/Tools/dbfetch/dbfetch).
193
-
194
- Due to the stop of the http://bioruby.org/cgi-bin/biofetch.rb service,
195
- Bio::Fetch.query always raises error.
159
+ Bio::Blast::Default::Report currently supports legacy BLAST only.
160
+ It may be better to support BLAST+ text output format, although NCBI
161
+ do not recommend to do so because the format is unstable.
196
162
 
197
163
  == 4. Compatibility issues with other libraries/extensions
198
164
 
@@ -206,12 +172,6 @@ know which version is suitable.
206
172
  BioRuby Shell on Web uses Ruby on Rails, but the author of the document does
207
173
  not know which version is suitable.
208
174
 
209
- ==== SOAP4R with Ruby 1.9
210
-
211
- soap4r-ruby1.9 may raise "ununitialized constant XML::SaxParser" error with
212
- some combinations of XML parser libraries. It seems this is a bug of
213
- soap4r-ruby1.9.
214
-
215
175
  == 5. Historical descriptions
216
176
 
217
177
  === CVS
@@ -2,7 +2,7 @@
2
2
  = README.rdoc - README for BioRuby
3
3
  Copyright:: Copyright (C) 2001-2007 Toshiaki Katayama <k@bioruby.org>,
4
4
  Copyright (C) 2008 Jan Aerts <jandot@bioruby.org>
5
- Copyright (C) 2011-2012 Naohisa Goto <ng@bioruby.org>
5
+ Copyright (C) 2011-2015 Naohisa Goto <ng@bioruby.org>
6
6
  License:: The Ruby License
7
7
  * The above statement is limited to this file. See below about BioRuby's
8
8
  copyright and license.
@@ -31,7 +31,7 @@ analysis can be executed within the BioRuby script, and the results
31
31
  can be fully parsed to extract the portion you need. BioRuby supports
32
32
  major biological database formats and provides many ways for accessing
33
33
  them through flatfile indexing, SQL, web services etc. Various web
34
- services including KEGG API can be easily utilized by BioRuby.
34
+ services can be easily utilized by BioRuby.
35
35
 
36
36
 
37
37
  == FOR MORE INFORMATION
@@ -45,6 +45,7 @@ See RELEASE_NOTES.rdoc for news and important changes in this version.
45
45
  README.rdoc:: This file. General information and installation procedure.
46
46
  RELEASE_NOTES.rdoc:: News and important changes in this release.
47
47
  KNOWN_ISSUES.rdoc:: Known issues and bugs in BioRuby.
48
+ doc/RELEASE_NOTES-1.4.3.rdoc:: News and incompatible changes from 1.4.2 to 1.4.3.
48
49
  doc/RELEASE_NOTES-1.4.2.rdoc:: News and incompatible changes from 1.4.1 to 1.4.2.
49
50
  doc/RELEASE_NOTES-1.4.1.rdoc:: News and incompatible changes from 1.4.0 to 1.4.1.
50
51
  doc/RELEASE_NOTES-1.4.0.rdoc:: News and incompatible changes from 1.3.1 to 1.4.0.
@@ -55,11 +56,11 @@ doc/Changes-0.7.rd:: News and incompatible changes from 0.6.4 to 1.2.1.
55
56
 
56
57
  doc/Tutorial.rd:: BioRuby Tutorial.
57
58
  doc/Tutorial.rd.html:: HTML version of Tutorial.rd.
58
- doc/KEGG_API.rd:: Documents about KEGG API, including usage of Bio::KEGG::API.
59
59
 
60
60
  ==== BioRuby development
61
61
 
62
62
  ChangeLog:: History of changes.
63
+ doc/ChangeLog-1.4.3:: changes from 1.4.2 to 1.4.3.
63
64
  doc/ChangeLog-before-1.4.2:: changes before 1.4.2.
64
65
  doc/ChangeLog-before-1.3.1:: changes before 1.3.1.
65
66
  README_DEV.rdoc:: Describes ways to contribute to the BioRuby project, including coding styles and documentation guidelines.
@@ -68,7 +69,6 @@ README_DEV.rdoc:: Describes ways to contribute to the BioRuby project, including
68
69
 
69
70
  doc/Tutorial.rd.ja:: BioRuby Tutorial written in Japanese.
70
71
  doc/Tutorial.rd.ja.html:: HTML version of Tutorial.rd.ja.
71
- doc/KEGG_API.rd.ja:: Japanese translation of KEGG_API.rd.
72
72
 
73
73
  ==== Sample codes
74
74
 
@@ -99,13 +99,13 @@ The stable release is freely available from the BioRuby website.
99
99
  {RubyGems (packaging system for Ruby)}[http://rubygems.org/] version of
100
100
  the BioRuby package is also available for easy installation.
101
101
 
102
- * http://rubyforge.org/projects/bioruby/
102
+ * https://rubygems.org/gems/bio
103
103
 
104
104
  === git
105
105
 
106
106
  If you need the latest development version, this is provided at
107
107
 
108
- * http://github.com/bioruby/bioruby
108
+ * https://github.com/bioruby/bioruby
109
109
 
110
110
  and can be obtained by the following procedure:
111
111
 
@@ -114,8 +114,9 @@ and can be obtained by the following procedure:
114
114
 
115
115
  == REQUIREMENTS
116
116
 
117
- * Ruby 1.8.6 or later (except Ruby 1.9.0) -- http://www.ruby-lang.org/
118
- * Ruby 1.9.3-p194 or later, or Ruby 1.8.7-p358 or later is recommended.
117
+ * Ruby 1.8.7 or later (except Ruby 1.9.0) -- http://www.ruby-lang.org/
118
+ * Ruby 2.1.6 or later, or Ruby 2.2.2 or later is recommended.
119
+ * This is the final version running on Ruby 1.8, tested with Ruby1.8.7-p374.
119
120
  * See KNOWN_ISSUES.rdoc for Ruby version specific problems.
120
121
 
121
122
 
@@ -123,22 +124,20 @@ and can be obtained by the following procedure:
123
124
 
124
125
  Some optional libraries can be utilized to extend BioRuby's functionality.
125
126
  If your needs meets the following conditions, install them by using RubyGems,
126
- or download and install from the "Ruby Application Archive" (RAA) at
127
- http://raa.ruby-lang.org/, RubyForge at http://rubyforge.org/, GitHub at
128
- http://github.com/, or the following web sites.
127
+ or download and install from the following web sites.
129
128
 
130
129
  For faster parsing of the BLAST XML output format:
131
130
 
132
- * {RAA:xmlparser}[http://raa.ruby-lang.org/project/xmlparser/]
131
+ * {xmlparser}[https://rubygems.org/gems/xmlparser]
133
132
  * For Ruby 1.8: {gem install xmlparser}[http://rubygems.org/gems/xmlparser]
134
- * For Ruby 1.9: http://www.yoshidam.net/Ruby.html#xmlparser
133
+ * For Ruby 1.9 or later: http://www.yoshidam.net/Ruby.html#xmlparser
135
134
  * In both cases, {The Expat XML Parser}[http://expat.sourceforge.net/]
136
135
  and C compiler will be required.
137
136
 
138
137
  Creating faster flatfile index using Berkley DB:
139
138
 
140
139
  * {GitHub:ruby-bdb}[https://github.com/knu/ruby-bdb]
141
- (which took over {RAA:bdb}[http://raa.ruby-lang.org/project/bdb/])
140
+ (which took over {bdb}[https://github.com/ruby-bdb/bdb])
142
141
  (No RubyGems available)
143
142
  * {Oracle Berkeley DB}[http://www.oracle.com/technetwork/database/berkeleydb/index.html] and C compiler will be required.
144
143
 
@@ -159,11 +158,6 @@ For parsing PhyloXML format files:
159
158
  * {GNOME Libxml2 XML toolkit}[http://xmlsoft.org/] and C compiler will be
160
159
  required.
161
160
 
162
- (Only for Ruby 1.9.x) For using SOAP web services e.g. KEGG API:
163
-
164
- * {gem install soap4r-ruby1.9}[https://rubygems.org/gems/soap4r-ruby1.9]
165
- * For Ruby 1.8.x, SOAP4R is bundled within the Ruby 1.8.x release.
166
-
167
161
 
168
162
  == INSTALL
169
163
 
@@ -174,7 +168,7 @@ If you are using RubyGems, just type
174
168
  % gem install bio
175
169
 
176
170
  Alternatively, manually download bio-X.X.X.gem from
177
- http://rubyforge.org/projects/bioruby/ and install it by using gems command.
171
+ http://bioruby.org/archive/ and install it by using gems command.
178
172
 
179
173
  RubyGems is bundled with Ruby 1.9.1 or later. For Ruby 1.8.7 or earlier,
180
174
  download and install RubyGems from http://rubygems.org/ .
@@ -303,9 +297,9 @@ BioRuby can be freely distributed under the same terms as Ruby.
303
297
  See the file COPYING (or COPYING.ja written in Japanese).
304
298
 
305
299
  As written in the file COPYING, see the file LEGAL for files distributed
306
- under different license. For example, setup.rb which comes from
307
- {RAA:setup}[http://raa.ruby-lang.org/project/setup/] developed by Minero Aoki
308
- (http://i.loveruby.net/en/projects/setup/) is licensed under LGPL 2.1.
300
+ under different license. For example, setup.rb which comes from "setup"
301
+ developed by Minero Aoki (http://i.loveruby.net/en/projects/setup/) is
302
+ licensed under LGPL 2.1.
309
303
 
310
304
 
311
305
  == REFERENCE
@@ -1,222 +1,285 @@
1
- = BioRuby 1.4.3.0001 RELEASE NOTES
1
+ = BioRuby 1.5.0 RELEASE NOTES
2
2
 
3
- Some bug fixes have been made to the BioRuby 1.4.3.0001 after the version
4
- 1.4.3 is released.
3
+ A lot of changes have been made to the BioRuby 1.5.0 after the version 1.4.3
4
+ is released. This document describes important and/or incompatible changes
5
+ since the BioRuby 1.4.3 release.
5
6
 
6
- == Bug fixes
7
+ For known problems, see KNOWN_ISSUES.rdoc.
7
8
 
8
- === Ruby 2.0 support
9
+ == NEWS
9
10
 
10
- * "gem install bio" failed with Ruby 2.0 or later versions.
11
- * lib/bio/db/gff.rb: Set script encoding to US-ASCII.
11
+ === Full support of Ruby 2.0.0, 2.1, and 2.2
12
12
 
13
- === Other bug fixes
13
+ Ruby 2.0.0, 2.1, and 2.2 are now recommended Ruby versions for running
14
+ BioRuby codes.
14
15
 
15
- * Bio::BLAST::Default::Report parse error when subject sequence contains
16
- spaces. (https://redmine.open-bio.org/issues/3385)
16
+ === Support of Ruby 1.8 will be stopped
17
17
 
18
+ This release is the final BioRuby version that can be run on Ruby 1.8.
18
19
 
19
- = BioRuby 1.4.3 RELEASE NOTES
20
+ === License is updated to the new Ruby's License
20
21
 
21
- A lot of changes have been made to the BioRuby 1.4.3 after the version 1.4.2
22
- is released. This document describes important and/or incompatible changes
23
- since the BioRuby 1.4.2 release.
22
+ BioRuby is distributed under the same license as Ruby's. In October 2011,
23
+ Ruby's License was changed from a dual license with GPLv2 to a dual license
24
+ with 2-clause BSDL.available. Since BioRuby 1.5.0, we have updated to the
25
+ new version of Ruby's License. For details about the license, see COPYING
26
+ or COPYING.ja and BSDL. In addition, please do not forget to see LEGAL for
27
+ exception files that are subjected to different licenses.
24
28
 
25
- For known problems, see KNOWN_ISSUES.rdoc.
29
+ === Semantic Versioning will be introduced
30
+
31
+ We will adopt the Semantic Versioning since the next release version, which
32
+ will be BioRuby 1.5.1. This means that BioRuby 1.5.0 are NOT subject to the
33
+ Semantic Versioning.
34
+
35
+
36
+ == New features and improvements
37
+
38
+ === New method Bio::FastaFormat#first_name
26
39
 
27
- == New features
40
+ Bio::FastaFormat#first_name method is added to get the first word in the
41
+ definition line. This method was proposed by Ben J. Woodcroft.
28
42
 
29
- === Bio::KEGG::KGML
43
+ === Accuracy of Bio::SiRNA
30
44
 
31
- * New class Bio::KEGG::KGML::Graphics for storing a graphics element.
32
- In the instance of the class, "coords" attribute is now available.
33
- * New class Bio::KEGG::KGML::Substrate for storing a substrate element.
34
- * New class Bio::KEGG::KGML::Product for storing a product element.
35
- * New method Bio::KEGG::KGML::Reaction#id.
36
- * Improve RDoc documentation.
37
- * Unit tests are added.
38
- * There are incompatible changes. See Incompatible changes below.
45
+ Accuracy of siRNA designing algorithms in Bio::SiRNA is improved,
46
+ contributed by meso_cacase.
39
47
 
40
- == Improvements
48
+ === Speed up of Bio::ClustalW::Report
41
49
 
42
- === Portability running on JRuby and Rubinius
50
+ Running speed of Bio::ClustalW::Report is optimized, contributed by
51
+ Andrew Grimm.
43
52
 
44
- Many failures and errors running on JRuby and Rubinius are resolved.
45
- Some of them are due to BioRuby bugs, and some of them are due to JRuby or
46
- Rubinius bugs. Artem Tarasov reported bugs in BioRuby and submitted bug
47
- reports to Rubinius. Clayton Wheeler and Naohisa Goto fixed bugs in BioRuby
48
- and submitted bug reports to JRuby.
53
+ === Many warning messages are squashed
49
54
 
50
- === Testing on Travis CI
55
+ Most warning messages when running ruby with "-w" option, e.g. "assigned
56
+ but unused variable", "instance variable @xxx not initialized", are
57
+ suppressed. Fixes are contributed by Kenichi Kamiya, Andrew Grimm, and
58
+ BioRuby core members.
59
+
60
+ === Refactoring of codes
61
+
62
+ Many existing codes are reviewed and refactored. Patches are contributed
63
+ by Iain Barnett, Kenichi Kamiya, and BioRuby core members.
51
64
 
52
- BioRuby is now using Travis CI (http://travis-ci.org/), a hosted continuous
53
- integration service for the open source community.
54
65
 
55
66
  == Bug fixes
56
67
 
57
- === Strange behavior related with "circular require" is fixed
58
-
59
- Fixed: In previous versions, some bioruby files may be required more than
60
- two times, and this sometimes causes strange behavior, depending on the
61
- order of files in the disk. In particular, unit tests running on JRuby
62
- sometimes crashes with strange errors. In BioRuby 1.4.3, almost all require
63
- and autoload lines are revised and are changed to avoid circular require.
64
- This also fixes crash on JRuby due to JRuby's autoload bug.
65
-
66
- === Other bug fixes
67
-
68
- * Fixed: Genomenet remote BLAST does not work.
69
- * Fixed: Bio::KEGG::KGML ignores "coords" field.
70
- * Fixed: Bio::NucleicAcid.to_re("s") typo
71
- * To suppress rare failure of chi-square equiprobability tests for
72
- Bio::Sequence::Common#randomize, test code changed to retry up to 10 times
73
- if the chi-square test fails. The assertion fails if the chi-square test
74
- fails 10 consecutive times, and this strongly suggests bugs in codes or in
75
- the random number generator.
76
- * Fixed: Bio::EMBL#os raises RuntimeError. The fix includes incompatible
77
- change. See below "Incompatible changes".
78
- * Fixed: bin/bioruby: Failed to save object with error message "can't convert
79
- Symbol into String" on Ruby 1.9.
80
-
81
- == Incompatible changes and removed features
82
-
83
- === Bio::FlatFile use binmode (binary mode) when opening a file
84
-
85
- In Bio::FlatFile.open and Bio::FlatFile.auto, binmode (binary mode) is used
86
- by default when opening a file, unless text mode is explicitly specified
87
- with open mode string or with options. Due to the change, files using CR+LF
88
- line separator might not be read correctly.
89
-
90
- === Broader FASTQ file recognition
91
-
92
- Because PacBio RS sequencer may produce kilobases long reads and read buffer
93
- size (default 31 lines) for file format detection may not be sufficient to
94
- find the second id line starting with "+", the regular expression for FASTQ
95
- is truncated only to check the first id line starting with "@".
96
-
97
- === Bio::KEGG::KGML
98
-
99
- * Bio::KEGG::KGML::Reaction#substrates and Bio::KEGG::KGML::Reaction#products
100
- are changed to return an array containing Bio::KEGG::KGML::Substrate and
101
- Bio::KEGG::KGML::Product objects, respectively. The changes enables us to
102
- get ID of substrates and products that were thrown away in the previous
103
- versions.
104
- * Most attribute methods that were different from the KGML attribute names
105
- are renamed to the names compatible with the KGML attribute names. Old
106
- method names are changed to aliases of them and marked as deprecated.
107
- The old names will be removed in the future.
108
- * Bio::KEGG::KGML::Entry#id (old name: entry_id)
109
- * Bio::KEGG::KGML::Entry#type (old name: category)
110
- * Bio::KEGG::KGML::Entry#entry1 (old name: node1)
111
- * Bio::KEGG::KGML::Entry#entry2 (old name: node2)
112
- * Bio::KEGG::KGML::Entry#type (old name: rel)
113
- * Bio::KEGG::KGML::Reaction#name (old name: entry_id)
114
- * Bio::KEGG::KGML::Reaction#type (old name: direction)
115
- * Following attribute methods are deprecated because two or more graphics
116
- elements may exist in an entry element. They will be removed in the future.
117
- Instead, please use instance methods of Bio::KEGG::KGML::Graphics, which
118
- can be obtained from Bio::KEGG::KGML::Entry#graphics attribute.
119
- * Bio::KEGG::KGML::Entry#label
120
- * Bio::KEGG::KGML::Entry#shape
121
- * Bio::KEGG::KGML::Entry#x
122
- * Bio::KEGG::KGML::Entry#y
123
- * Bio::KEGG::KGML::Entry#width
124
- * Bio::KEGG::KGML::Entry#height
125
- * Bio::KEGG::KGML::Entry#fgcolor
126
- * Bio::KEGG::KGML::Entry#bgcolor
127
-
128
- === Bio::EMBL#os
129
-
130
- Bio::EMBL#os, returns parser result of the EMBL OS line, no longer splits
131
- the content with comma, and it no longer raises error even if the OS line
132
- is not in the "Genus species (name)" format. The changes may affect the
133
- parsing of old EMBL files which contain two or more species names in an
134
- OS line.
135
-
136
- Note that Bio::EMBL#os returns an Array containing several Hash objects,
137
- and the argument is always ignored. The return value type and the meaning
138
- of the argument might be changed in the future.
139
-
140
- === Tests
141
-
142
- * Tests using network connections are moved under test/network/.
143
- To invoke these tests, run "rake test-network".
144
- * BIORUBY_TEST_LIB environment variable
145
- * The directory name specified with BIORUBY_TEST_LIB is always added on the
146
- top of $LOAD_PATH even if it is already included in the middle of
147
- $LOAD_PATH.
148
- * When BIORUBY_TEST_LIB is empty, it no longer add an empty string to
149
- $LOAD_PATH.
150
- * BIORUBY_TEST_LIB is ignored when BIORUBY_TEST_GEM is set.
151
- * BIORUBY_TEST_GEM environment variable
152
- * New environment variable BIORUBY_TEST_GEM for testing installed
153
- bio-X.X.X gem. Version number can be specified.
154
- See the following examples with/without the version number:
155
- * % env BIORUBY_TEST_GEM=1.4.2.5000 ruby test/runner.rb
156
- * % env BIORUBY_TEST_GEM="" ruby test/runner.rb
157
-
158
- === Other removed features
159
-
160
- * rdoc.zsh is removed because it have not been used for a long time.
68
+ === Bugs due to remote server changes
161
69
 
162
- == Known issues
70
+ ==== Bio::PubMed
71
+
72
+ Bio::PubMed#search, query, and pmfetch are re-implemented by using NCBI
73
+ E-Utilities. They were broken because unofficial API was used.
74
+ Paul Leader reported the bug and gave discussion.
75
+
76
+ ==== Bio::Hinv
77
+
78
+ Bio::Hinv did not work because of the API server URL is changed.
79
+
80
+ ==== Bio::TogoWS::REST
81
+
82
+ * Bio::TogoWS::REST#search with offset and limit did not work due to
83
+ TogoWS server spec change about URI escape.
84
+ * Bio::TogoWS::REST#convert did not work because of the spec change of
85
+ TogoWS REST API.
86
+
87
+ === Bio::Fetch
88
+
89
+ Bio::Fetch with default parameters did not work because BioRuby's default
90
+ BioFetch server had been down. We have decided not to restore the service.
91
+ For smooth migration of codes using BioRuby's BioFetch server, we provide
92
+ "bio-old-biofetch-emulator" gem. See below "Imcompatible changes" for details.
93
+
94
+ The bug was reported and discussed by Jose Irizarry, Robert A. Heiler, and
95
+ others.
96
+
97
+ === BioSQL
98
+
99
+ * Only do gsub on bio_ref.reference.authors if it exists.
100
+ * Missing require when generating genbank output for BioSQL sequence.
101
+
102
+ Contributed by Brynjar Smari Bjarnason.
103
+
104
+ === Bugs found in data format parsers
105
+
106
+ * Bio::PDB#seqres SEQRES serNum digits were extended in PDB v3.2 (2008).
107
+ Thanks to a researcher who sent the patch.
108
+ * Bio::Blast::Default::Report parse error when subject sequence contains
109
+ spaces. Edward Rice reported the bug.
110
+ * Bio::UniProtKB#gene_name raised NoMethodError when gene_names method
111
+ returns nil. It should return nil. Candidate fix sent by Jose Irizarry.
112
+ * Bio::PhyloXML::Parser.open_uri did not return block return value when
113
+ giving a block.
114
+
115
+ === Other bugs
116
+
117
+ * lib/bio/shell/plugin/seq.rb: String#step and #skip (extended by bioruby
118
+ shell) did not yield the last part of the string due to a change from
119
+ Ruby 1.8 to 1.9.
120
+ * Documentation and typo fixes. Contributed by many persons, including
121
+ Iain Barnett and ctSkennerton.
122
+
123
+
124
+ == Renamed features
125
+
126
+ === Bio::SPTR, Bio::UniProt, Bio::SwissProt, and Bio::TrEMBL => Bio::UniProtKB
127
+
128
+ The classes for parsing UniProtKB (former SwissProt and TrEMBL) data,
129
+ Bio::SPTR, Bio::UniProt, Bio::SwissProt, and Bio::TrEMBL, are unified into
130
+ the new class name Bio::UniProtKB, and old names are deprecated.
131
+
132
+ For keeping backward compatibility, old class names Bio::SPTR, Bio::UniProt,
133
+ Bio::SwissProt, and Bio::TrEMBL are still available, but warning message
134
+ will be shown when using the old class names. These old class names will be
135
+ deleted in the future.
136
+
137
+ The file contatining Bio::UniProtKB class definition is also changed to
138
+ lib/bio/db/embl/uniprotkb.rb. For keeping backward compatibility, old
139
+ files sptr.rb, uniprot.rb, tremble.rb are still kept, but they will be
140
+ removed in the future.
163
141
 
164
- The following issues are added or updated. See KNOWN_ISSUES.rdoc for other
165
- already known issues.
166
142
 
167
- === JRuby
143
+ == Deprecated features
168
144
 
169
- On JRuby, errors may be raised due to the following unfixed bugs in JRuby.
145
+ === Bio::RefSeq, Bio::DDBJ
170
146
 
171
- * {JRUBY-6195}[http://jira.codehaus.org/browse/JRUBY-6195] Process.spawn
172
- (and related methods) ignore option hash
173
- * {JRUBY-6818}[http://jira.codehaus.org/browse/JRUBY-6818] Kernel.exec,
174
- Process.spawn (and IO.popen etc.) raise error when program is an array
175
- containing two strings
147
+ Bio::RefSeq and Bio::DDBJ are deprecated because they are only an alias of
148
+ Bio::GenBank. Warning message will be shown when loading the classes and
149
+ initializing new instances. Please use Bio::GenBank instead.
176
150
 
177
- With older version of JRuby, you may be bothered by the following bugs that
178
- have already been fixed in the head of JRuby.
151
+ lib/bio/db/genbank/ddbj.rb and lib/bio/db/genbank/refseq.rb which contain
152
+ Bio::DDBJ and Bio::RefSeq, respectively, are also deprecated. For keeping
153
+ backward compatibility, old file are still kept, but they will be removed
154
+ in the future.
179
155
 
180
- * {JRUBY-6658}[http://jira.codehaus.org/browse/JRUBY-6658] Problem when
181
- setting up an autoload entry, defining a class via require, then redefining
182
- the autoload entry
183
- * {JRUBY-6666}[http://jira.codehaus.org/browse/JRUBY-6666] Open3.popen3
184
- failing due to missing handling for [path, argv[0]] array
185
- * {JRUBY-6819}[http://jira.codehaus.org/browse/JRUBY-6819]
186
- java.lang.ArrayIndexOutOfBoundsException in String#each_line
187
156
 
188
- Due to JRUBY-5678 (resolved issue) and the difference of behavior between
189
- CRuby and JRuby written in the comments of the issue tracking page,
190
- when running BioRuby on JRuby with sudo or root rights, TMPDIR environment
191
- variable should be set to a directory that is not world-writable. Currently,
192
- the workaround is needed for running BioRuby tests with JRuby on Travis-CI.
157
+ == Removed features
193
158
 
194
- * {JRUBY-5678}[http://jira.codehaus.org/browse/JRUBY-5678] tmpdir cannot
195
- be delete when jruby has sudo/root rights
159
+ === Bio::SOAPWSDL
196
160
 
197
- === Rubinius
161
+ Bio::SOAPWSDL (lib/bio/io/soapwsdl.rb) is removed because SOAP4R
162
+ (SOAP/WSDL library in Ruby) is no longer bundled with Ruby since Ruby 1.9.
163
+ For Ruby 1.9 or later, some gems of SOAP4R are available, but we think they
164
+ are not well-maintained. Moreover, many SOAP servers have been retired
165
+ (see below). So, we give up maintaining Bio::SOAPWSDL and all SOAP client
166
+ classes in BioRuby.
198
167
 
199
- According to Travis-CI, unit tests have failed on 1.9 mode of Rubinius.
168
+ === Bio::EBI::SOAP
169
+
170
+ Bio::EBI::SOAP (lib/bio/io/ebisoap.rb) is removed because Bio::SOAPWSDL
171
+ is removed.
172
+
173
+ === Bio::KEGG::API
174
+
175
+ Bio::KEGG::API is removed because KEGG API SOAP service was discontinued in
176
+ December 31, 2012. See http://www.kegg.jp/kegg/rest/ for the announcement
177
+ of service discontinuation.
178
+
179
+ === Bio::DBGET
180
+
181
+ Bio::DBGET is removed because it only supports old original DBGET protocols
182
+ that was discontinued in 2004. Note that the DBGET is still available via
183
+ the web. See http://www.genome.jp/en/gn_dbget.html for details.
184
+
185
+ === Bio::Ensembl
186
+
187
+ Bio::Ensembl is removed because it does not work after the renewal of Ensembl
188
+ web site in 2008. Instead, bio-ensembl gem which supports recent ensembl API
189
+ is available.
190
+
191
+ === Bio::DDBJ::XML, Bio::DDBJ::REST
192
+
193
+ Bio::DDBJ::XML and Bio::DDBJ::REST are removed because DDBJ Web API (WABI)
194
+ web services were suspended in 2012 and then they were completely renewed
195
+ with incompatible APIs in 2013.
196
+
197
+ === Bio::HGC::HiGet
198
+
199
+ Bio::HGC::HiGet (lib/bio/io/higet.rb) is removed because the HiGet web server
200
+ http://higet.hgc.jp/ have been down since 2011, and we think that the server
201
+ will not be restored again.
202
+
203
+ === Bio::NCBI::SOAP
204
+
205
+ Bio::NCBI::SOAP is removed because it always raises error during the parsing
206
+ of WSDL files provided by NCBI. In addition, NCBI announced that the SOAP
207
+ web service for the E-utilities will be terminated on July 1, 2015. Instead,
208
+ Bio::NCBI::REST, REST client for the NCBI E-utility web service, is available.
209
+
210
+ === Bio::KEGG::Taxonomy
211
+
212
+ Bio::KEGG::Taxonomy is removed because it does not work correctly. It raises
213
+ error, it falls into infinite loop, or it returns apparently broken data.
214
+ Moreover, KEGG closed public FTP site and the file "taxonomy" could only be
215
+ obtained by paid subscribers.
216
+
217
+ === Bio.method_missing
218
+
219
+ Bio.method_missing, that aims to provide shortcuts of Bio::Shell methods
220
+ with shorter name without typing "Shell", is removed because most of the
221
+ methods raises error mainly due to bypassing of initialization procedure.
222
+ In addition, we now think that the use of method_missing should generally
223
+ be avoid unless it is really necessary.
224
+
225
+ === extconf.rb
226
+
227
+ extconf.rb, an alternative way to install BioRuby to the system, is removed
228
+ because of avoiding potential confusions. Nowadays, extconf.rb is usually
229
+ only used for building native extensions, but no native extensions are
230
+ included in this release. Use gem or setup.rb to install BioRuby.
231
+
232
+
233
+ == Incompatible changes
234
+
235
+ Also see the above "Renamed features", "Deprecated features", and
236
+ "Removed features" sections.
237
+
238
+ === Bio::Fetch
239
+
240
+ The BioRuby default BioFetch server http://bioruby.org/cgi-bin/biofetch.rb,
241
+ that was the default server for Bio::Fetch before BioRuby 1.4, is deprecated.
242
+ Due to the service stop, default server URL in Bio::Fetch is removed, and
243
+ we decide not to give any server URL by default for Bio::Fetch.
244
+
245
+ As an alternative, new class Bio::Fetch::EBI which uses the EBI Dbfetch
246
+ server is added. When changing codes form Bio::Fetch to Bio::Fetch::EBI,
247
+ be careful of the differences of database names, default and available
248
+ data formats between the former BioRuby BioFetch server and the EBI Dbfetch
249
+ server.
250
+
251
+ Methods directly affected are:
252
+
253
+ * Bio::Fetch.new (Bio::Fetch#initialize) does not have default server URL,
254
+ and URL of a server must always be explicitly given as the first argument.
255
+ * Bio::Fetch.query is removed.
256
+
257
+ For the purpose running old codes, it is recommended to install
258
+ bio-old-biofetch-emulator gem. The bio-old-biofetch-emulator gem emulates
259
+ old BioRuby's default BioFetch server by using other existing web services.
260
+ See https://rubygems.org/gems/bio-old-biofetch-emulator for details.
261
+ We think many codes can run with no changes by simply installing the gem and
262
+ adding "-r bio-old-biofetch-emulator" into the command-line when executing
263
+ ruby.
264
+
265
+
266
+ == Known issues
267
+
268
+ The following issues are added or updated. See KNOWN_ISSUES.rdoc for other
269
+ already known issues.
200
270
 
201
- With older version of Rubinius, you may be bothered by the following bugs that
202
- have already been fixed in the head of Rubinius.
271
+ === Bio::PDB
203
272
 
204
- * {Rubinius Issue #1693}[https://github.com/rubinius/rubinius/issues/1693]
205
- String#split gives incorrect output when splitting by /^/
206
- * {Rubinius Issue #1724}[https://github.com/rubinius/rubinius/issues/1724]
207
- Creating Struct class with length attribute
273
+ Bio::PDB should be updated to follow PDB format version 3.3.
208
274
 
209
- === DDBJ Web API related classes (Bio::DDBJ::*, Bio::BLAST::Remote::DDBJ)
275
+ === Bio::Blast::Report
210
276
 
211
- DDBJ Web API is stopping after their system replacement in March 2012.
212
- (See the announcement though it is written only in Japanese:
213
- http://www.ddbj.nig.ac.jp/replace/rp120601-j.html)
214
- Due to the stop of the DDBJ Web API, Bio::DDBJ::* and Bio::BLAST::Remote::DDBJ
215
- which are using the web API can not be used.
277
+ NCBI announces that that they are makeing a new version of BLAST XML data
278
+ format. BioRuby should support it.
216
279
 
217
- === SOAP4R with Ruby 1.9
280
+ === Bio::Blast::Default::Report
218
281
 
219
- soap4r-ruby1.9 may raise "ununitialized constant XML::SaxParser" error with
220
- some combinations of XML parser libraries. It seems this is a bug of
221
- soap4r-ruby1.9.
282
+ Bio::Blast::Default::Report currently supports legacy BLAST only.
283
+ It may be better to support BLAST+ text output format, although NCBI
284
+ do not recommend to do so because the format is unstable.
222
285