bio 1.5.1 → 2.0.2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (128) hide show
  1. checksums.yaml +5 -5
  2. data/.travis.yml +35 -36
  3. data/ChangeLog +911 -2554
  4. data/{gemfiles/Gemfile.travis-ruby2.2 → Gemfile} +0 -3
  5. data/KNOWN_ISSUES.rdoc +10 -13
  6. data/LEGAL +0 -10
  7. data/README.rdoc +40 -96
  8. data/README_DEV.rdoc +5 -5
  9. data/RELEASE_NOTES.rdoc +118 -234
  10. data/Rakefile +13 -43
  11. data/appveyor.yml +29 -0
  12. data/bioruby.gemspec +18 -81
  13. data/bioruby.gemspec.erb +8 -28
  14. data/doc/ChangeLog-1.5.0 +2919 -0
  15. data/doc/RELEASE_NOTES-1.5.0.rdoc +285 -0
  16. data/doc/Tutorial.rd +6 -108
  17. data/doc/Tutorial.rd.html +19 -98
  18. data/gemfiles/Gemfile.travis-jruby1.8 +3 -5
  19. data/gemfiles/Gemfile.travis-jruby1.9 +0 -3
  20. data/gemfiles/Gemfile.travis-rbx +0 -3
  21. data/gemfiles/Gemfile.travis-ruby1.8 +3 -5
  22. data/gemfiles/Gemfile.travis-ruby1.9 +0 -3
  23. data/gemfiles/Gemfile.windows +6 -0
  24. data/gemfiles/prepare-gemspec.rb +4 -0
  25. data/lib/bio.rb +0 -10
  26. data/lib/bio/appl/blast/genomenet.rb +4 -4
  27. data/lib/bio/appl/blast/report.rb +40 -8
  28. data/lib/bio/appl/fasta/format10.rb +2 -1
  29. data/lib/bio/command.rb +10 -0
  30. data/lib/bio/data/codontable.rb +99 -3
  31. data/lib/bio/db/aaindex.rb +74 -5
  32. data/lib/bio/db/gff.rb +3 -1
  33. data/lib/bio/db/kegg/common.rb +14 -0
  34. data/lib/bio/db/kegg/genes.rb +26 -0
  35. data/lib/bio/db/kegg/pathway.rb +5 -11
  36. data/lib/bio/db/soft.rb +2 -2
  37. data/lib/bio/io/flatfile/autodetection.rb +5 -0
  38. data/lib/bio/io/togows.rb +5 -5
  39. data/lib/bio/map.rb +4 -4
  40. data/lib/bio/sequence/format.rb +1 -0
  41. data/lib/bio/util/restriction_enzyme/range/sequence_range/calculated_cuts.rb +1 -1
  42. data/lib/bio/util/sirna.rb +2 -0
  43. data/lib/bio/version.rb +6 -8
  44. data/sample/color_scheme_aa.rb +82 -0
  45. data/sample/color_scheme_na.rb +5 -6
  46. data/sample/fastq2html.cwl +23 -0
  47. data/sample/fastq2html.rb +94 -0
  48. data/sample/fastq2html.testdata.yaml +5 -0
  49. data/sample/na2aa.cwl +23 -0
  50. data/sample/na2aa.rb +11 -25
  51. data/sample/na2aa.testdata.yaml +7 -0
  52. data/sample/rev_comp.cwl +23 -0
  53. data/sample/rev_comp.rb +20 -0
  54. data/sample/rev_comp.testdata.yaml +7 -0
  55. data/sample/test_restriction_enzyme_long.rb +1 -1
  56. data/test/network/bio/db/kegg/test_genes_hsa7422.rb +91 -0
  57. data/test/unit/bio/appl/blast/test_report.rb +4 -4
  58. data/test/unit/bio/data/test_codontable.rb +3 -0
  59. data/test/unit/bio/db/test_gff.rb +5 -0
  60. data/test/unit/bio/test_alignment.rb +2 -2
  61. metadata +20 -77
  62. data/bin/bioruby +0 -47
  63. data/bin/br_biofetch.rb +0 -71
  64. data/bin/br_bioflat.rb +0 -293
  65. data/bin/br_biogetseq.rb +0 -45
  66. data/bin/br_pmfetch.rb +0 -422
  67. data/lib/bio/appl/blast/xmlparser.rb +0 -236
  68. data/lib/bio/db/biosql/biosql_to_biosequence.rb +0 -78
  69. data/lib/bio/db/biosql/sequence.rb +0 -444
  70. data/lib/bio/db/phyloxml/phyloxml.xsd +0 -582
  71. data/lib/bio/db/phyloxml/phyloxml_elements.rb +0 -1197
  72. data/lib/bio/db/phyloxml/phyloxml_parser.rb +0 -1001
  73. data/lib/bio/db/phyloxml/phyloxml_writer.rb +0 -227
  74. data/lib/bio/io/biosql/ar-biosql.rb +0 -257
  75. data/lib/bio/io/biosql/biosql.rb +0 -39
  76. data/lib/bio/io/biosql/config/database.yml +0 -21
  77. data/lib/bio/io/sql.rb +0 -79
  78. data/lib/bio/shell.rb +0 -44
  79. data/lib/bio/shell/core.rb +0 -578
  80. data/lib/bio/shell/demo.rb +0 -146
  81. data/lib/bio/shell/interface.rb +0 -217
  82. data/lib/bio/shell/irb.rb +0 -94
  83. data/lib/bio/shell/object.rb +0 -71
  84. data/lib/bio/shell/plugin/blast.rb +0 -42
  85. data/lib/bio/shell/plugin/codon.rb +0 -218
  86. data/lib/bio/shell/plugin/das.rb +0 -58
  87. data/lib/bio/shell/plugin/emboss.rb +0 -23
  88. data/lib/bio/shell/plugin/entry.rb +0 -137
  89. data/lib/bio/shell/plugin/flatfile.rb +0 -101
  90. data/lib/bio/shell/plugin/midi.rb +0 -430
  91. data/lib/bio/shell/plugin/ncbirest.rb +0 -68
  92. data/lib/bio/shell/plugin/obda.rb +0 -45
  93. data/lib/bio/shell/plugin/psort.rb +0 -56
  94. data/lib/bio/shell/plugin/seq.rb +0 -248
  95. data/lib/bio/shell/plugin/togows.rb +0 -40
  96. data/lib/bio/shell/rails/vendor/plugins/bioruby/generators/bioruby/bioruby_generator.rb +0 -29
  97. data/lib/bio/shell/rails/vendor/plugins/bioruby/generators/bioruby/templates/_classes.rhtml +0 -4
  98. data/lib/bio/shell/rails/vendor/plugins/bioruby/generators/bioruby/templates/_log.rhtml +0 -27
  99. data/lib/bio/shell/rails/vendor/plugins/bioruby/generators/bioruby/templates/_methods.rhtml +0 -11
  100. data/lib/bio/shell/rails/vendor/plugins/bioruby/generators/bioruby/templates/_modules.rhtml +0 -4
  101. data/lib/bio/shell/rails/vendor/plugins/bioruby/generators/bioruby/templates/_variables.rhtml +0 -7
  102. data/lib/bio/shell/rails/vendor/plugins/bioruby/generators/bioruby/templates/bioruby-bg.gif +0 -0
  103. data/lib/bio/shell/rails/vendor/plugins/bioruby/generators/bioruby/templates/bioruby-gem.png +0 -0
  104. data/lib/bio/shell/rails/vendor/plugins/bioruby/generators/bioruby/templates/bioruby-link.gif +0 -0
  105. data/lib/bio/shell/rails/vendor/plugins/bioruby/generators/bioruby/templates/bioruby.css +0 -368
  106. data/lib/bio/shell/rails/vendor/plugins/bioruby/generators/bioruby/templates/bioruby.rhtml +0 -47
  107. data/lib/bio/shell/rails/vendor/plugins/bioruby/generators/bioruby/templates/bioruby_controller.rb +0 -144
  108. data/lib/bio/shell/rails/vendor/plugins/bioruby/generators/bioruby/templates/bioruby_helper.rb +0 -47
  109. data/lib/bio/shell/rails/vendor/plugins/bioruby/generators/bioruby/templates/commands.rhtml +0 -8
  110. data/lib/bio/shell/rails/vendor/plugins/bioruby/generators/bioruby/templates/history.rhtml +0 -10
  111. data/lib/bio/shell/rails/vendor/plugins/bioruby/generators/bioruby/templates/index.rhtml +0 -26
  112. data/lib/bio/shell/rails/vendor/plugins/bioruby/generators/bioruby/templates/spinner.gif +0 -0
  113. data/lib/bio/shell/script.rb +0 -25
  114. data/lib/bio/shell/setup.rb +0 -108
  115. data/lib/bio/shell/web.rb +0 -102
  116. data/sample/test_phyloxml_big.rb +0 -205
  117. data/setup.rb +0 -1600
  118. data/test/data/phyloxml/apaf.xml +0 -666
  119. data/test/data/phyloxml/bcl_2.xml +0 -2097
  120. data/test/data/phyloxml/made_up.xml +0 -144
  121. data/test/data/phyloxml/ncbi_taxonomy_mollusca_short.xml +0 -65
  122. data/test/data/phyloxml/phyloxml_examples.xml +0 -415
  123. data/test/unit/bio/db/biosql/tc_biosql.rb +0 -114
  124. data/test/unit/bio/db/biosql/ts_suite_biosql.rb +0 -8
  125. data/test/unit/bio/db/test_phyloxml.rb +0 -821
  126. data/test/unit/bio/db/test_phyloxml_writer.rb +0 -334
  127. data/test/unit/bio/shell/plugin/test_seq.rb +0 -187
  128. data/test/unit/bio/test_shell.rb +0 -20
@@ -1,47 +0,0 @@
1
- #!/usr/bin/env ruby
2
- #
3
- # = BioRuby shell - command line interface for the BioRuby library
4
- #
5
- # Copyright:: Copyright (C) 2005, 2006, 2007
6
- # Toshiaki Katayama <k@bioruby.org>
7
- # License:: The Ruby License
8
- #
9
- # $Id:$
10
- #
11
-
12
- begin
13
- require 'rubygems'
14
- gem 'bio', '>= 1.1.0'
15
- rescue LoadError
16
- require 'bio'
17
- end
18
- require 'bio/shell'
19
-
20
- # required to run commands (getseq, ls etc.)
21
- include Bio::Shell
22
-
23
- # setup command line options, working directory, and irb configurations
24
- Bio::Shell::Setup.new
25
-
26
- # loading workspace and command history
27
- Bio::Shell.load_session
28
-
29
- # sets default email address for Entrez eUtils.
30
- Bio::NCBI.default_email ||= 'staff@bioruby.org'
31
-
32
- # main loop
33
- if Bio::Shell.cache[:rails]
34
- Bio::Shell.cache[:rails].join
35
- else
36
- Signal.trap("SIGINT") do
37
- Bio::Shell.cache[:irb].signal_handle
38
- end
39
-
40
- catch(:IRB_EXIT) do
41
- Bio::Shell.cache[:irb].eval_input
42
- end
43
- end
44
-
45
- # saving workspace, command history and configuration before exit
46
- Bio::Shell.save_session
47
-
@@ -1,71 +0,0 @@
1
- #!/usr/bin/env ruby
2
- #
3
- # = biofetch - BioFetch client
4
- #
5
- # Copyright:: Copyright (C) 2002
6
- # Toshiaki Katayama <k@bioruby.org>
7
- # License:: The Ruby License
8
- #
9
- #
10
-
11
- begin
12
- require 'rubygems'
13
- rescue LoadError
14
- end
15
-
16
- require 'bio/io/fetch'
17
-
18
- def require_bio_old_biofetch_emulator(mandatory = true)
19
- begin
20
- require 'bio-old-biofetch-emulator'
21
- rescue LoadError
22
- if mandatory then
23
- $stderr.puts "Error: please install bio-old-biofetch-emulator gem."
24
- exit 1
25
- end
26
- end
27
- end
28
-
29
- def default_url
30
- 'http://bioruby.org/cgi-bin/biofetch.rb'
31
- end
32
-
33
- def another_url
34
- 'http://www.ebi.ac.uk/cgi-bin/dbfetch'
35
- end
36
-
37
- def usage
38
- puts "#{$0} [-s[erver] #{another_url}] db id [style] [format]"
39
- puts " server : URL of the BioFetch CGI (default is #{default_url})"
40
- puts " db : database name (embl, genbank, etc.)"
41
- puts " id : entry id"
42
- puts " style : 'raw' or 'html' (default is 'raw')"
43
- puts " format : change the output format ('default', 'fasta', etc.)"
44
- end
45
-
46
- if ARGV.empty? or ARGV[0] =~ /^--?h/
47
- usage
48
- exit 1
49
- end
50
-
51
- case ARGV[0]
52
- when /^--?s/ # User specified server
53
- require_bio_old_biofetch_emulator(false)
54
- ARGV.shift
55
- serv = Bio::Fetch.new(ARGV.shift)
56
- puts serv.fetch(*ARGV)
57
- when /^--?e/ # EBI server
58
- ARGV.shift
59
- serv = Bio::Fetch.new(another_url)
60
- puts serv.fetch(*ARGV)
61
- when /^--?r/ # BioRuby server
62
- require_bio_old_biofetch_emulator
63
- ARGV.shift
64
- serv = Bio::Fetch.new(default_url)
65
- puts serv.fetch(*ARGV)
66
- else # Default server
67
- require_bio_old_biofetch_emulator
68
- puts Bio::Fetch.query(*ARGV)
69
- end
70
-
71
-
@@ -1,293 +0,0 @@
1
- #!/usr/bin/env ruby
2
- #
3
- # = bioflat - OBDA flat file indexer (executable)
4
- #
5
- # Copyright:: Copyright (C) 2002
6
- # Naohisa Goto <ng@bioruby.org>
7
- # License:: The Ruby License
8
- #
9
- # $Id: br_bioflat.rb,v 1.17 2007/04/05 23:35:39 trevor Exp $
10
- #
11
-
12
- require 'bio'
13
-
14
- def usage
15
- print <<EOM
16
- Search:
17
- #{$0} [--search] [options...] [DIR/]DBNAME KEYWORDS
18
- or
19
- #{$0} [--search] --location DIR --dbname DBNAME [options...] KEYWORDS
20
-
21
- Search options:
22
- --namespace NAME set serch namespace to NAME
23
- (or --name NAME) You can set this option many times to specify
24
- more than one namespace.
25
-
26
- Create index:
27
- #{$0} --create --location DIR --dbname DBNAME [--format <genbank|embl|fasta>] [options...] [--files] FILES
28
- Update index:
29
- #{$0} --update --location DIR --dbname DBNAME [options...] [--files] FILES
30
-
31
- Create index options:
32
- --primary=UNIQUE set primary namespece to UNIQUE
33
- Default primary/secondary namespaces depend on
34
- each format of flatfiles.
35
- --secondary=KEY set secondary namespaces.
36
- You may use this option many times to specify
37
- more than one namespace.
38
- --add-secondary=KEY add secondary namespaces to default specification.
39
- You can use this option many times.
40
-
41
- Options only valid for --create (or --update) --type flat:
42
- --sort=/path/to/sort use external sort program (e.g. /usr/bin/sort)
43
- --sort=BUILTIN use builtin sort routine
44
- (default: /usr/bin/sort or BUILTIN)
45
- --env=/path/to/env use env program to run sort (default: /usr/bin/env)
46
- --env-arg=XXXXXX argument given to the env program (default: LC_ALL=C)
47
- (multiple --env-arg=XXXXXX can be specified)
48
-
49
- Options only valid for --update:
50
- --renew re-read all flatfiles and update whole index
51
-
52
- Backward compatibility:
53
- --makeindex DIR/DBNAME
54
- same as --create --type flat --location DIR --dbname DBNAME
55
- --makeindexBDB DIR/DBNAME
56
- same as --create --type bdb --location DIR --dbname DBNAME
57
- --format=CLASS
58
- instead of genbank|embl|fasta, specifing a class name is allowed
59
-
60
- Show namespaces:
61
- #{$0} --show-namespaces [--location DIR --dbname DBNAME] [DIR/DBNAME]
62
- or
63
- #{$0} --show-namespaces [--format=CLASS]
64
- or
65
- #{$0} --show-namespaces --files file
66
-
67
- EOM
68
-
69
- end
70
-
71
-
72
- def do_index(mode = :create)
73
- case ARGV[0]
74
- when /^\-\-?make/
75
- dbpath = ARGV[1]
76
- args = ARGV[2..-1]
77
- is_bdb = nil
78
- when /^\-\-?make.*bdb/i
79
- dbname = ARGV[1]
80
- args = ARGV[2..-1]
81
- is_bdb = Bio::FlatFileIndex::MAGIC_BDB
82
- when /^\-\-create/, /^\-\-update/
83
- args = ARGV[1..-1]
84
- else
85
- usage
86
- end
87
-
88
- options = {}
89
-
90
- while args.first =~ /^\-/
91
- case x = args.shift
92
-
93
- # OBDA stuff
94
-
95
- when /^\-\-?format$/
96
- args.shift
97
- format = nil # throw this f*ckin' mess for auto detect :)
98
- when /^\-\-?location/
99
- location = args.shift.chomp('/')
100
- when /^\-\-?dbname/
101
- dbname = args.shift
102
- when /^\-\-?(index)?type/
103
- indextype = args.shift
104
- case indextype
105
- when /bdb/
106
- is_bdb = Bio::FlatFileIndex::MAGIC_BDB
107
- when /flat/
108
- is_bdb = nil
109
- else
110
- usage
111
- end
112
-
113
- # BioRuby extension
114
-
115
- when /^\-\-?files/i
116
- break
117
-
118
- when /^\-\-?format\=(.*)/i
119
- format = $1
120
-
121
- when /^\-\-?sort\=(.*)/i
122
- options['sort_program'] = $1
123
- options['onmemory'] = nil
124
- when /^\-\-?no\-?te?mp/i
125
- options['onmemory'] = true
126
-
127
- when /^\-\-?env\=(.*)/i
128
- options['env_program'] = $1
129
-
130
- when /^\-\-?env-arg(?:ument)?\=(.*)/i
131
- options['env_program_arguments'] ||= []
132
- options['env_program_arguments'].push $1
133
-
134
- when /^\-\-?primary.*\=(.*)/i
135
- options['primary_namespace'] = $1
136
-
137
- when /^\-\-?add-secondary.*\=(.*)/i
138
- unless options['additional_secondary_namespaces'] then
139
- options['additional_secondary_namespaces'] = []
140
- end
141
- options['additional_secondary_namespaces'] << $1 if $1.length > 0
142
-
143
- when /^\-\-?secondary.*\=(.*)/i
144
- unless options['secondary_namespaces'] then
145
- options['secondary_namespaces'] = []
146
- end
147
- options['secondary_namespaces'] << $1 if $1.length > 0
148
-
149
- when /^\-\-?renew/
150
- options['renew'] = true
151
-
152
- else
153
- $stderr.print "Warning: ignoring invalid option #{x.inspect}\n"
154
- end
155
- end
156
-
157
- dbpath = File.join(location, dbname) unless dbpath
158
- if mode == :update then
159
- Bio::FlatFileIndex::update_index(dbpath, format, options, *args)
160
- else
161
- Bio::FlatFileIndex::makeindex(is_bdb, dbpath, format, options, *args)
162
- end
163
- end
164
-
165
-
166
- def do_search
167
- dbname = nil
168
- location = nil
169
- names = []
170
- while x = ARGV.shift
171
- case x
172
- when /\A\-\-?search/i
173
- #do nothing
174
- when /\A\-\-?location/i
175
- location = ARGV.shift.to_s.chomp('/')
176
- when /\A\-\-?dbname/i
177
- dbname = ARGV.shift
178
- when /\A\-\-?name(?:space)?(?:\=(.+))?/i
179
- if $1 then
180
- names << $1
181
- elsif x = ARGV.shift
182
- names << x
183
- end
184
- else
185
- ARGV.unshift x
186
- break
187
- end
188
- end
189
- dbname = ARGV.shift unless dbname
190
- dbname = File.join(location, dbname) unless location.to_s.empty?
191
- db = Bio::FlatFileIndex.open(dbname)
192
- ARGV.each do |key|
193
- $stderr.print "Searching for \'#{key}\'...\n"
194
- #r = db.search(key)
195
- #$stderr.print "OK, #{r.size} entry found\n"
196
- #if r.size > 0 then
197
- # print r
198
- #end
199
- begin
200
- if names.empty? then
201
- r = db.include?(key)
202
- else
203
- r = db.include_in_namespaces?(key, *names)
204
- end
205
- rescue RuntimeError
206
- $stderr.print "ERROR: #{$!}\n"
207
- next
208
- end
209
- r = [] unless r
210
- $stderr.print "OK, #{r.size} entry found\n"
211
- r.each do |i|
212
- print db.search_primary(i)
213
- end
214
- end
215
- db.close
216
- end
217
-
218
-
219
- def do_show_namespaces
220
- dbname = nil
221
- location = nil
222
- files = nil
223
- format = nil
224
- names = []
225
- while x = ARGV.shift
226
- case x
227
- when /\A\-\-?(show\-)?name(space)?s/i
228
- #do nothing
229
- when /\A\-\-?location/i
230
- location = ARGV.shift.to_s.chomp('/')
231
- when /\A\-\-?dbname/i
232
- dbname = ARGV.shift
233
- when /\A\-\-?format(?:\=(.+))?/i
234
- if $1 then
235
- format = $1
236
- elsif x = ARGV.shift
237
- format = x
238
- end
239
- when /\A\-\-?files/i
240
- files = ARGV
241
- break
242
- else
243
- ARGV.unshift x
244
- break
245
- end
246
- end
247
- if files then
248
- k = nil
249
- files.each do |x|
250
- k = Bio::FlatFile.autodetect_file(x)
251
- break if k
252
- end
253
- if k then
254
- $stderr.print "Format: #{k.to_s}\n"
255
- format = k
256
- else
257
- $stderr.print "ERROR: couldn't determine file format\n"
258
- return
259
- end
260
- end
261
- $stderr.print "Namespaces: (first line: primary namespace)\n"
262
- if format then
263
- parser = Bio::FlatFileIndex::Indexer::Parser.new(format)
264
- print parser.primary.name, "\n"
265
- puts parser.secondary.keys
266
- else
267
- dbname = ARGV.shift unless dbname
268
- dbname = File.join(location, dbname) unless location.to_s.empty?
269
- db = Bio::FlatFileIndex.open(dbname)
270
- puts db.namespaces
271
- db.close
272
- end
273
- end
274
-
275
- if ARGV.size > 1
276
- case ARGV[0]
277
- when /--make/, /--create/
278
- Bio::FlatFileIndex::DEBUG.out = true
279
- do_index
280
- when /--update/
281
- Bio::FlatFileIndex::DEBUG.out = true
282
- do_index(:update)
283
- when /\A\-\-?(show\-)?name(space)?s/i
284
- do_show_namespaces
285
- when /--search/
286
- do_search
287
- else #default is search
288
- do_search
289
- end
290
- else
291
- usage
292
- end
293
-
@@ -1,45 +0,0 @@
1
- #!/usr/bin/env ruby
2
- #
3
- # = biogetseq - OBDA sequence data retrieval (executable)
4
- #
5
- # Copyright:: Copyright (C) 2003
6
- # Toshiaki Katayama <k@bioruby.org>
7
- # License:: The Ruby License
8
- #
9
- # $Id: br_biogetseq.rb,v 1.4 2007/04/05 23:35:39 trevor Exp $
10
- #
11
-
12
- require 'bio'
13
-
14
- def usage
15
- print <<END
16
- #{$0} --dbname <dbname> [--namespace <namespace>] entry_id [entry_id]
17
- END
18
- exit 1
19
- end
20
-
21
- if ARGV.size < 3
22
- usage
23
- end
24
-
25
- while ARGV.first =~ /^-/
26
- case ARGV.shift
27
- when /^\-\-format/
28
- ARGV.shift
29
- raise NotImplementedError
30
- when /^\-\-dbname/
31
- dbname = ARGV.shift
32
- when /^\-\-namespace/
33
- namespace = ARGV.shift
34
- end
35
- end
36
-
37
- reg = Bio::Registry.new
38
- db = reg.get_database(dbname)
39
- if namespace
40
- db['namespace'] = namespace
41
- end
42
- ARGV.each do |entry|
43
- puts db.get_by_id(entry)
44
- end
45
-