unipept 0.7.1 → 0.8.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (59) hide show
  1. checksums.yaml +4 -4
  2. data/.rubocop.yml +26 -0
  3. data/.travis.yml +7 -0
  4. data/Gemfile +8 -10
  5. data/Gemfile.lock +35 -21
  6. data/README.md +6 -4
  7. data/Rakefile +11 -10
  8. data/VERSION +1 -1
  9. data/bin/peptfilter +2 -44
  10. data/bin/prot2pept +4 -49
  11. data/bin/unipept +2 -197
  12. data/bin/uniprot +4 -53
  13. data/lib/batch_iterator.rb +73 -0
  14. data/lib/batch_order.rb +20 -0
  15. data/lib/commands/peptfilter.rb +118 -0
  16. data/lib/commands/prot2pept.rb +61 -0
  17. data/lib/commands/unipept/api_runner.rb +199 -0
  18. data/lib/commands/unipept/config.rb +29 -0
  19. data/lib/commands/unipept/pept2lca.rb +12 -0
  20. data/lib/commands/unipept/pept2prot.rb +13 -0
  21. data/lib/{unipept/commands → commands/unipept}/pept2taxa.rb +7 -0
  22. data/lib/commands/unipept/taxa2lca.rb +18 -0
  23. data/lib/{unipept/commands → commands/unipept}/taxonomy.rb +3 -0
  24. data/lib/commands/unipept.rb +226 -0
  25. data/lib/commands/uniprot.rb +69 -0
  26. data/lib/commands.rb +10 -0
  27. data/lib/configuration.rb +45 -0
  28. data/lib/formatters.rb +252 -0
  29. data/lib/version.rb +3 -0
  30. data/test/commands/test_peptfilter.rb +170 -0
  31. data/test/commands/test_prot2pept.rb +82 -0
  32. data/test/commands/test_unipept.rb +37 -0
  33. data/test/commands/test_uniprot.rb +136 -0
  34. data/test/commands/unipept/test_api_runner.rb +486 -0
  35. data/test/commands/unipept/test_config.rb +64 -0
  36. data/test/commands/unipept/test_pept2lca.rb +40 -0
  37. data/test/commands/unipept/test_pept2prot.rb +39 -0
  38. data/test/commands/unipept/test_pept2taxa.rb +39 -0
  39. data/test/commands/unipept/test_taxa2lca.rb +39 -0
  40. data/test/commands/unipept/test_taxonomy.rb +37 -0
  41. data/test/helper.rb +69 -23
  42. data/test/test_bach_order.rb +57 -0
  43. data/test/test_base.rb +6 -0
  44. data/test/test_batch_iterator.rb +87 -0
  45. data/test/test_configuration.rb +43 -0
  46. data/test/test_formatters.rb +140 -0
  47. data/unipept.gemspec +55 -33
  48. metadata +62 -40
  49. data/lib/unipept/batch_order.rb +0 -28
  50. data/lib/unipept/commands/api_runner.rb +0 -239
  51. data/lib/unipept/commands/pept2lca.rb +0 -6
  52. data/lib/unipept/commands/pept2prot.rb +0 -20
  53. data/lib/unipept/commands/taxa2lca.rb +0 -12
  54. data/lib/unipept/commands.rb +0 -7
  55. data/lib/unipept/configuration.rb +0 -29
  56. data/lib/unipept/formatters.rb +0 -135
  57. data/lib/unipept/version.rb +0 -3
  58. data/lib/unipept.rb +0 -8
  59. data/test/test_unipept.rb +0 -7
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: unipept
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.7.1
4
+ version: 0.8.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Toon Willems
@@ -10,7 +10,7 @@ authors:
10
10
  autorequire:
11
11
  bindir: bin
12
12
  cert_chain: []
13
- date: 2015-05-20 00:00:00.000000000 Z
13
+ date: 2015-06-12 00:00:00.000000000 Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: cri
@@ -41,75 +41,75 @@ dependencies:
41
41
  - !ruby/object:Gem::Version
42
42
  version: '0.6'
43
43
  - !ruby/object:Gem::Dependency
44
- name: shoulda
44
+ name: rake
45
45
  requirement: !ruby/object:Gem::Requirement
46
46
  requirements:
47
- - - "~>"
47
+ - - ">="
48
48
  - !ruby/object:Gem::Version
49
- version: '3.5'
49
+ version: '0'
50
50
  type: :development
51
51
  prerelease: false
52
52
  version_requirements: !ruby/object:Gem::Requirement
53
53
  requirements:
54
- - - "~>"
54
+ - - ">="
55
55
  - !ruby/object:Gem::Version
56
- version: '3.5'
56
+ version: '0'
57
57
  - !ruby/object:Gem::Dependency
58
- name: rdoc
58
+ name: minitest
59
59
  requirement: !ruby/object:Gem::Requirement
60
60
  requirements:
61
- - - "~>"
61
+ - - ">="
62
62
  - !ruby/object:Gem::Version
63
- version: '3.12'
63
+ version: '0'
64
64
  type: :development
65
65
  prerelease: false
66
66
  version_requirements: !ruby/object:Gem::Requirement
67
67
  requirements:
68
- - - "~>"
68
+ - - ">="
69
69
  - !ruby/object:Gem::Version
70
- version: '3.12'
70
+ version: '0'
71
71
  - !ruby/object:Gem::Dependency
72
- name: bundler
72
+ name: rubocop
73
73
  requirement: !ruby/object:Gem::Requirement
74
74
  requirements:
75
- - - "~>"
75
+ - - ">="
76
76
  - !ruby/object:Gem::Version
77
- version: '1.0'
77
+ version: '0'
78
78
  type: :development
79
79
  prerelease: false
80
80
  version_requirements: !ruby/object:Gem::Requirement
81
81
  requirements:
82
- - - "~>"
82
+ - - ">="
83
83
  - !ruby/object:Gem::Version
84
- version: '1.0'
84
+ version: '0'
85
85
  - !ruby/object:Gem::Dependency
86
86
  name: jeweler
87
87
  requirement: !ruby/object:Gem::Requirement
88
88
  requirements:
89
- - - "~>"
89
+ - - ">="
90
90
  - !ruby/object:Gem::Version
91
- version: '2.0'
91
+ version: '0'
92
92
  type: :development
93
93
  prerelease: false
94
94
  version_requirements: !ruby/object:Gem::Requirement
95
95
  requirements:
96
- - - "~>"
96
+ - - ">="
97
97
  - !ruby/object:Gem::Version
98
- version: '2.0'
98
+ version: '0'
99
99
  - !ruby/object:Gem::Dependency
100
- name: simplecov
100
+ name: coveralls
101
101
  requirement: !ruby/object:Gem::Requirement
102
102
  requirements:
103
- - - "~>"
103
+ - - ">="
104
104
  - !ruby/object:Gem::Version
105
- version: '0.8'
105
+ version: '0'
106
106
  type: :development
107
107
  prerelease: false
108
108
  version_requirements: !ruby/object:Gem::Requirement
109
109
  requirements:
110
- - - "~>"
110
+ - - ">="
111
111
  - !ruby/object:Gem::Version
112
- version: '0.8'
112
+ version: '0'
113
113
  description: |2
114
114
  Command line interface to the Unipept (http://unipept.ugent.be) web services
115
115
  (pept2lca, taxa2lca, pept2taxa and taxonomy) and some utility commands for
@@ -126,6 +126,8 @@ extra_rdoc_files:
126
126
  - README.md
127
127
  files:
128
128
  - ".document"
129
+ - ".rubocop.yml"
130
+ - ".travis.yml"
129
131
  - Gemfile
130
132
  - Gemfile.lock
131
133
  - LICENSE.txt
@@ -136,20 +138,40 @@ files:
136
138
  - bin/prot2pept
137
139
  - bin/unipept
138
140
  - bin/uniprot
139
- - lib/unipept.rb
140
- - lib/unipept/batch_order.rb
141
- - lib/unipept/commands.rb
142
- - lib/unipept/commands/api_runner.rb
143
- - lib/unipept/commands/pept2lca.rb
144
- - lib/unipept/commands/pept2prot.rb
145
- - lib/unipept/commands/pept2taxa.rb
146
- - lib/unipept/commands/taxa2lca.rb
147
- - lib/unipept/commands/taxonomy.rb
148
- - lib/unipept/configuration.rb
149
- - lib/unipept/formatters.rb
150
- - lib/unipept/version.rb
141
+ - lib/batch_iterator.rb
142
+ - lib/batch_order.rb
143
+ - lib/commands.rb
144
+ - lib/commands/peptfilter.rb
145
+ - lib/commands/prot2pept.rb
146
+ - lib/commands/unipept.rb
147
+ - lib/commands/unipept/api_runner.rb
148
+ - lib/commands/unipept/config.rb
149
+ - lib/commands/unipept/pept2lca.rb
150
+ - lib/commands/unipept/pept2prot.rb
151
+ - lib/commands/unipept/pept2taxa.rb
152
+ - lib/commands/unipept/taxa2lca.rb
153
+ - lib/commands/unipept/taxonomy.rb
154
+ - lib/commands/uniprot.rb
155
+ - lib/configuration.rb
156
+ - lib/formatters.rb
157
+ - lib/version.rb
158
+ - test/commands/test_peptfilter.rb
159
+ - test/commands/test_prot2pept.rb
160
+ - test/commands/test_unipept.rb
161
+ - test/commands/test_uniprot.rb
162
+ - test/commands/unipept/test_api_runner.rb
163
+ - test/commands/unipept/test_config.rb
164
+ - test/commands/unipept/test_pept2lca.rb
165
+ - test/commands/unipept/test_pept2prot.rb
166
+ - test/commands/unipept/test_pept2taxa.rb
167
+ - test/commands/unipept/test_taxa2lca.rb
168
+ - test/commands/unipept/test_taxonomy.rb
151
169
  - test/helper.rb
152
- - test/test_unipept.rb
170
+ - test/test_bach_order.rb
171
+ - test/test_base.rb
172
+ - test/test_batch_iterator.rb
173
+ - test/test_configuration.rb
174
+ - test/test_formatters.rb
153
175
  - unipept.gemspec
154
176
  homepage: https://github.com/unipept/unipept-cli/
155
177
  licenses:
@@ -171,7 +193,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
171
193
  version: '0'
172
194
  requirements: []
173
195
  rubyforge_project:
174
- rubygems_version: 2.2.2
196
+ rubygems_version: 2.1.11
175
197
  signing_key:
176
198
  specification_version: 4
177
199
  summary: Command line interface to Unipept web services.
@@ -1,28 +0,0 @@
1
- module Unipept
2
-
3
- class BatchOrder
4
-
5
- attr_reader :order
6
-
7
- def initialize
8
- @order = {}
9
- @current = 0
10
- end
11
-
12
- def wait(i, &block)
13
- if i == @current
14
- # start writing + those who have been waiting as well
15
- block.call
16
- @current += 1
17
- while order[@current]
18
- order.delete(@current).call
19
- @current += 1
20
- end
21
- else
22
- @order[i] = block
23
- end
24
- end
25
-
26
- end
27
-
28
- end
@@ -1,239 +0,0 @@
1
- require 'set'
2
-
3
- module Unipept::Commands
4
- class ApiRunner < Cri::CommandRunner
5
- def initialize(args, opts, cmd)
6
- super
7
- @configuration = Unipept::Configuration.new
8
- set_configuration
9
-
10
- @user_agent = 'Unipept CLI - unipept ' + Unipept::VERSION
11
-
12
- @url = "#{@host}/api/v1/#{cmd.name}.json"
13
- @message_url = "#{@host}/api/v1/messages.json"
14
- end
15
-
16
- def set_configuration
17
- # find host in opts first
18
- if options[:host]
19
- host = options[:host]
20
- else
21
- host = @configuration['host']
22
- end
23
-
24
- # No host has been set?
25
- if host.nil? || host.empty?
26
- puts 'WARNING: no host has been set, you can set the host with `unipept config host http://localhost:3000/`'
27
- exit 1
28
- end
29
- unless host.start_with? 'http://'
30
- host = "http://#{host}"
31
- end
32
-
33
- @host = host
34
- end
35
-
36
- def input_iterator
37
- # Argument over file input over stdin
38
- if !arguments.empty?
39
- arguments.each
40
- else
41
- if options[:input]
42
- IO.foreach(options[:input])
43
- else
44
- STDIN.each_line
45
- end
46
- end
47
- end
48
-
49
- def batch_size
50
- 100
51
- end
52
-
53
- def url_options(sub_part)
54
- filter = options[:select] ? options[:select] : []
55
- if filter.empty?
56
- names = true
57
- else
58
- names = filter.any? { |f| /.*name.*/.match f }
59
- end
60
- { input: sub_part,
61
- equate_il: options[:equate],
62
- extra: options[:all],
63
- names: names
64
- }
65
- end
66
-
67
- def get_server_message
68
- return if options[:quiet]
69
- return unless STDOUT.tty?
70
- last_fetched = @configuration['last_fetch_date']
71
- if last_fetched.nil? || (last_fetched + 60 * 60 * 24) < Time.now
72
- version = Unipept::VERSION
73
- resp = Typhoeus.get(@message_url, params: { version: version })
74
- puts resp.body unless resp.body.chomp.empty?
75
- @configuration['last_fetch_date'] = Time.now
76
- @configuration.save
77
- end
78
- end
79
-
80
- def run
81
- get_server_message
82
-
83
- formatter = Unipept::Formatter.new_for_format(options[:format])
84
- peptides = input_iterator
85
-
86
- filter_list = options[:select] ? options[:select] : []
87
- # Parse filter list: convert to regex and split on commas
88
- filter_list = filter_list.map { |f| f.include?(',') ? f.split(',') : f }.flatten.map { |f| glob_to_regex(f) }
89
-
90
- batch_order = Unipept::BatchOrder.new
91
-
92
- printed_header = false
93
- result = []
94
-
95
- hydra = Typhoeus::Hydra.new(max_concurrency: 10)
96
- num_req = 0
97
-
98
- peptide_iterator(peptides) do |sub_division, i, fasta_input|
99
- request = Typhoeus::Request.new(
100
- @url,
101
- method: :post,
102
- body: url_options(sub_division),
103
- accept_encoding: 'gzip',
104
- headers: { 'User-Agent' => @user_agent }
105
- )
106
- request.on_complete do |resp|
107
- if resp.success?
108
- # if JSON parsing goes wrong
109
- sub_result = JSON[resp.response_body] rescue []
110
- sub_result = [sub_result] unless sub_result.is_a? Array
111
-
112
- sub_result.map! { |r| r.select! { |k, _v| filter_list.any? { |f| f.match k } } } unless filter_list.empty?
113
-
114
- if options[:xml]
115
- result << sub_result
116
- end
117
-
118
- # wait till it's our turn to write
119
- batch_order.wait(i) do
120
- unless sub_result.empty?
121
- unless printed_header
122
- write_to_output formatter.header(sub_result, fasta_input)
123
- printed_header = true
124
- end
125
- write_to_output formatter.format(sub_result, fasta_input)
126
- end
127
- end
128
-
129
- elsif resp.timed_out?
130
-
131
- batch_order.wait(i) do
132
- $stderr.puts 'request timed out, continuing anyway, but results might be incomplete'
133
- save_error('request timed out, continuing anyway, but results might be incomplete')
134
- end
135
-
136
- elsif resp.code == 0
137
-
138
- batch_order.wait(i) do
139
- $stderr.puts 'could not get an http response, continuing anyway, but results might be incomplete'
140
- save_error(resp.return_message)
141
- end
142
-
143
- else
144
-
145
- batch_order.wait(i) do
146
- $stderr.puts "received a non-successful http response #{resp.code}, continuing anyway, but results might be incomplete"
147
- save_error("Got #{resp.code}: #{resp.response_body}\nRequest headers: #{resp.request.options}\nRequest body:\n#{resp.request.encoded_body}\n\n")
148
- end
149
-
150
- end
151
- end
152
-
153
- hydra.queue request
154
-
155
- num_req += 1
156
- if num_req % 200 == 0
157
- hydra.run
158
- end
159
- end
160
-
161
- hydra.run
162
-
163
- begin
164
- download_xml(result)
165
- rescue
166
- STDERR.puts 'Something went wrong while downloading xml information! please check the output'
167
- end
168
- end
169
-
170
- def save_error(message)
171
- path = File.expand_path(File.join(Dir.home, '.unipept', "unipept-#{Time.now.strftime('%F-%T')}.log"))
172
- FileUtils.mkdir_p File.dirname(path)
173
- File.open(path, 'w') do |f|
174
- f.write message
175
- end
176
- $stderr.puts "API request failed! log can be found in #{path}"
177
- end
178
-
179
- def write_to_output(string)
180
- if options[:output]
181
- File.open(options[:output], 'a') do |f|
182
- f.write string
183
- end
184
- else
185
- puts string
186
- end
187
- end
188
-
189
- def download_xml(result)
190
- if options[:xml]
191
- File.open(options[:xml] + '.xml', 'wb') do |f|
192
- f.write Typhoeus.get("http://eutils.ncbi.nlm.nih.gov/entrez/eutils/efetch.fcgi?db=taxonomy&id=#{result.first.map { |h| h['taxon_id'] }.join(',')}&retmode=xml").response_body
193
- end
194
- end
195
- end
196
-
197
- def peptide_iterator(peptides, &block)
198
- first = peptides.next rescue return
199
- if first.start_with? '>'
200
- # FASTA MODE ENGAGED
201
- fasta_header = first.chomp
202
- peptides.each_slice(batch_size).with_index do |sub, i|
203
- fasta_input = []
204
- # Use a set so we don't ask data twice
205
- newsub = Set.new
206
-
207
- # Iterate to find fasta headers
208
- sub.each do |s|
209
- s.chomp!
210
- if s.start_with? '>'
211
- # Save the FASTA header when found
212
- fasta_header = s
213
- else
214
- # Add the input pair to our input list
215
- fasta_input << [fasta_header, s]
216
- newsub << s
217
- end
218
- end
219
-
220
- block.call(newsub.to_a, i, fasta_input)
221
- end
222
- else
223
- # shame we have to be this explicit, but it appears to be the only way
224
- Enumerator.new do |y|
225
- y << first
226
- loop do
227
- y << peptides.next
228
- end
229
- end.each_slice(batch_size).with_index(&block)
230
- end
231
- end
232
-
233
- private
234
-
235
- def glob_to_regex(string)
236
- /^#{string.gsub('*', '.*')}$/
237
- end
238
- end
239
- end
@@ -1,6 +0,0 @@
1
- require_relative 'api_runner'
2
- module Unipept::Commands
3
- class Pept2lca < ApiRunner
4
- end
5
- end
6
-
@@ -1,20 +0,0 @@
1
- require_relative 'api_runner'
2
-
3
- module Unipept::Commands
4
- class Pept2prot < ApiRunner
5
- def download_xml(result)
6
- if options[:xml]
7
- FileUtils.mkdir_p(options[:xml])
8
- result.first.each do |prot|
9
- File.open(options[:xml] + "/#{prot['uniprot_id']}.xml", "wb") do |f|
10
- f.write Typhoeus.get("http://www.uniprot.org/uniprot/#{prot['uniprot_id']}.xml").response_body
11
- end
12
- end
13
- end
14
- end
15
-
16
- def batch_size
17
- 10
18
- end
19
- end
20
- end
@@ -1,12 +0,0 @@
1
- require_relative 'api_runner'
2
- module Unipept::Commands
3
- class Taxa2lca < ApiRunner
4
- def peptide_iterator(peptides, &block)
5
- block.call(peptides.to_a, 0)
6
- end
7
-
8
- def batch_size
9
- raise "NOT NEEDED FOR TAXA2LCA"
10
- end
11
- end
12
- end
@@ -1,7 +0,0 @@
1
- ['pept2lca','pept2taxa','pept2prot','taxa2lca','taxonomy'].each do |cmd|
2
- require_relative File.join('commands',cmd)
3
- end
4
- module Unipept
5
- module Commands
6
- end
7
- end
@@ -1,29 +0,0 @@
1
- module Unipept
2
- class Configuration
3
-
4
- attr_reader :config
5
- attr_reader :file_name
6
-
7
- def initialize
8
- @file_name = File.join(Dir.home, ".unipeptrc")
9
- if !File.exists? file_name
10
- @config = {}
11
- else
12
- @config = YAML.load_file file_name
13
- end
14
- end
15
-
16
- def save
17
- File.open(file_name, 'w') { |f| f.write config.to_yaml }
18
- end
19
-
20
- def [](*args)
21
- config.[](*args)
22
- end
23
-
24
- def []=(*args)
25
- config.[]=(*args)
26
- end
27
-
28
- end
29
- end
@@ -1,135 +0,0 @@
1
- module Unipept
2
- class Formatter
3
-
4
- def self.formatters
5
- @@formatters ||= {}
6
- end
7
-
8
- def self.new_for_format(format)
9
- begin
10
- formatters[format].new
11
- rescue
12
- formatters[self.default].new
13
- end
14
- end
15
-
16
- def self.register(format)
17
- self.formatters[format.to_s] = self
18
- end
19
-
20
- def self.available
21
- self.formatters.keys
22
- end
23
-
24
- def self.default
25
- 'csv'
26
- end
27
-
28
- def header(sample_data, fasta_mapper = nil)
29
- ""
30
- end
31
-
32
- # JSON formatted data goes in, something other comes out
33
- def format(data, fasta_mapper = nil)
34
- data
35
- end
36
- end
37
-
38
- class JSONFormatter < Formatter
39
- require 'json'
40
- register :json
41
-
42
- def format(data, fasta_mapper = nil)
43
- # TODO: add fasta header based on fasta_mapper information
44
- data.to_json
45
- end
46
-
47
- end
48
- class CSVFormatter < Formatter
49
- require 'csv'
50
-
51
- register :csv
52
-
53
- def header(data, fasta_input = nil)
54
- CSV.generate do |csv|
55
- first = data.first
56
- if first.kind_of? Array
57
- first = first.first
58
- end
59
- if fasta_input
60
- csv << (['fasta_header'] + first.keys).map(&:to_s) if first
61
- else
62
- csv << first.keys.map(&:to_s) if first
63
- end
64
- end
65
- end
66
-
67
- def format(data, fasta_input = nil)
68
- CSV.generate do |csv|
69
-
70
- if fasta_input
71
- # Process the output from {key1: value1, key2: value2, ...}
72
- # to {value => {key1: value1, key2: value2, ...}}
73
- data_dict = {}
74
- data.each do |d|
75
- data_dict[d.values.first.to_s] ||= []
76
- data_dict[d.values.first.to_s] << d
77
- end
78
-
79
- # Iterate over the input
80
- fasta_input.each do |input_pair|
81
- fasta_header, id = input_pair
82
-
83
- # Retrieve the corresponding API result (if any)
84
- unless data_dict[id].nil?
85
- data_dict[id].each do |r|
86
- csv << ([fasta_header] + r.values).map { |v| v == "" ? nil : v }
87
- end
88
- end
89
- end
90
-
91
- else
92
-
93
- data.each do |o|
94
- csv << o.values.map { |v| v == "" ? nil : v }
95
- end
96
-
97
- end
98
- end
99
- end
100
- end
101
-
102
- class XMLFormatter < Formatter
103
-
104
- # Monkey patch (do as to_xml, but saner)
105
-
106
- class ::Object
107
- def to_xml(name = nil)
108
- name ? %{<#{name}>#{self.to_s}</#{name}>} : self.to_s
109
- end
110
- end
111
-
112
- class ::Array
113
- def to_xml(array_name = :array, item_name = :item)
114
- %|<#{array_name} size="#{self.size}">| + self.map{|n|n.to_xml( :item )}.join+"</#{array_name}>"
115
- end
116
- end
117
-
118
- class ::Hash
119
- def to_xml(name = nil)
120
- data = to_a.map{|k,v|v.to_xml(k)}.join
121
- name ? "<#{name}>#{data}</#{name}>" : data
122
- end
123
- end
124
-
125
- register :xml
126
-
127
- def format(data, fasta_mapper = nil)
128
- # TODO: add fasta header based on fasta_mapper information
129
- data.to_xml
130
- end
131
-
132
- end
133
-
134
-
135
- end
@@ -1,3 +0,0 @@
1
- module Unipept
2
- VERSION = File.read(File.join(File.dirname(__FILE__), '..', '..', 'VERSION')).strip
3
- end
data/lib/unipept.rb DELETED
@@ -1,8 +0,0 @@
1
- require_relative 'unipept/formatters'
2
- require_relative 'unipept/configuration'
3
- require_relative 'unipept/batch_order'
4
- require_relative 'unipept/commands'
5
- require_relative 'unipept/version'
6
-
7
- module Unipept
8
- end
data/test/test_unipept.rb DELETED
@@ -1,7 +0,0 @@
1
- require 'helper'
2
-
3
- class TestUnipept < Test::Unit::TestCase
4
- should "probably rename this file and start testing for real" do
5
- flunk "hey buddy, you should probably rename this file and start testing for real"
6
- end
7
- end