unipept 1.2.0 → 1.3.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.
- checksums.yaml +4 -4
- data/.travis.yml +1 -0
- data/VERSION +1 -1
- data/lib/commands/unipept.rb +1 -0
- data/lib/commands/unipept/api_runner.rb +4 -2
- data/lib/formatters.rb +9 -1
- data/test/commands/unipept/test_api_runner.rb +23 -1
- data/test/test_formatters.rb +1 -1
- data/unipept.gemspec +3 -3
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 6e803f0d77ccd06f8b983f3fac7d51ebc5c170e6
|
4
|
+
data.tar.gz: f30e852d61c6a69c250306148fc2fa1a064f63f7
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: fb053972592c1c18b33304c6f39d7db8ebcfcb8dedf1ed99c53a9ad8d73121feff1b8f806c6b7f80bc75bab0c03e9ae272122020ab716093fd9d7a30e1a16c2f
|
7
|
+
data.tar.gz: 7664a300163ceed13732c7286b017e9e28e08ebfc39072b15321cce85d12db60d26de79a52f50f4d70aa2528f4e222e1b451fd3f027fa6072e293895dbe66799
|
data/.travis.yml
CHANGED
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
1.
|
1
|
+
1.3.0
|
data/lib/commands/unipept.rb
CHANGED
@@ -51,6 +51,7 @@ module Unipept
|
|
51
51
|
EOS
|
52
52
|
flag :v, :version, 'displays the version'
|
53
53
|
flag :q, :quiet, 'disable service messages'
|
54
|
+
flag nil, :'no-header', 'disable header in csv output', hidden: true
|
54
55
|
option :i, :input, 'read input from file', argument: :required
|
55
56
|
option nil, :batch, 'specify the batch size', argument: :required, hidden: true
|
56
57
|
option nil, :parallel, 'specify the number of parallel requests', argument: :required, hidden: true
|
@@ -15,6 +15,7 @@ module Unipept
|
|
15
15
|
@host = host
|
16
16
|
@user_agent = 'Unipept CLI - unipept ' + Unipept::VERSION
|
17
17
|
@url = "#{@host}/api/v1/#{cmd.name}.json"
|
18
|
+
@fasta = false
|
18
19
|
end
|
19
20
|
|
20
21
|
# Returns the host. If a value is defined by both an option and the config
|
@@ -86,7 +87,7 @@ module Unipept
|
|
86
87
|
def selected_fields
|
87
88
|
return @selected_fields unless @selected_fields.nil?
|
88
89
|
fields = [*options[:select]].map { |f| f.split(',') }.flatten
|
89
|
-
fields.concat(required_fields)
|
90
|
+
fields.concat(required_fields) if @fasta && !fields.empty?
|
90
91
|
@selected_fields = fields.map { |f| glob_to_regex(f) }
|
91
92
|
end
|
92
93
|
|
@@ -114,6 +115,7 @@ module Unipept
|
|
114
115
|
|
115
116
|
batch_iterator.iterate(input_iterator) do |input_slice, batch_id, fasta_mapper|
|
116
117
|
last_id = batch_id
|
118
|
+
@fasta = !fasta_mapper.nil?
|
117
119
|
request = ::RetryableTyphoeus::Request.new(
|
118
120
|
@url,
|
119
121
|
method: :post,
|
@@ -165,7 +167,7 @@ module Unipept
|
|
165
167
|
|
166
168
|
lambda do
|
167
169
|
unless result.empty?
|
168
|
-
output_writer.write_line formatter.header(result, fasta_mapper) if batch_id.zero?
|
170
|
+
output_writer.write_line formatter.header(result, fasta_mapper) if batch_id.zero? && !options[:"no-header"]
|
169
171
|
output_writer.write_line formatter.format(result, fasta_mapper, batch_id.zero?)
|
170
172
|
end
|
171
173
|
end
|
data/lib/formatters.rb
CHANGED
@@ -32,7 +32,7 @@ module Unipept
|
|
32
32
|
#
|
33
33
|
# @return [Array<String>] The list of available formatters
|
34
34
|
def self.available
|
35
|
-
formatters.keys
|
35
|
+
formatters.select { |_key, value| !value.hidden? }.keys
|
36
36
|
end
|
37
37
|
|
38
38
|
# @return [String] The type of the default formatter: csv
|
@@ -45,6 +45,10 @@ module Unipept
|
|
45
45
|
raise NotImplementedError, 'This must be implemented in a subclass.'
|
46
46
|
end
|
47
47
|
|
48
|
+
def self.hidden?
|
49
|
+
false
|
50
|
+
end
|
51
|
+
|
48
52
|
# Returns the header row for the given sample_data and fasta_mapper. This
|
49
53
|
# row is output only once at the beginning of the output
|
50
54
|
#
|
@@ -263,6 +267,10 @@ module Unipept
|
|
263
267
|
'blast'
|
264
268
|
end
|
265
269
|
|
270
|
+
def self.hidden?
|
271
|
+
true
|
272
|
+
end
|
273
|
+
|
266
274
|
def header(_data, _fasta_mapper = nil)
|
267
275
|
''
|
268
276
|
end
|
@@ -170,14 +170,24 @@ module Unipept
|
|
170
170
|
assert_equal([], runner.selected_fields)
|
171
171
|
end
|
172
172
|
|
173
|
-
def
|
173
|
+
def test_required_fields_are_selected_for_fasta
|
174
174
|
runner = new_runner('test', host: 'http://param_host', select: 'field')
|
175
175
|
def runner.required_fields
|
176
176
|
['test']
|
177
177
|
end
|
178
|
+
runner.instance_variable_set(:@fasta, true)
|
178
179
|
assert_equal([/^field$/, /^test$/], runner.selected_fields)
|
179
180
|
end
|
180
181
|
|
182
|
+
def test_required_fields_are_not_selected_if_not_fasta
|
183
|
+
runner = new_runner('test', host: 'http://param_host', select: 'field')
|
184
|
+
def runner.required_fields
|
185
|
+
['test']
|
186
|
+
end
|
187
|
+
runner.instance_variable_set(:@fasta, false)
|
188
|
+
assert_equal([/^field$/], runner.selected_fields)
|
189
|
+
end
|
190
|
+
|
181
191
|
def test_single_selected_fields
|
182
192
|
runner = new_runner('test', host: 'http://param_host', select: 'field')
|
183
193
|
assert_equal([/^field$/], runner.selected_fields)
|
@@ -308,6 +318,18 @@ module Unipept
|
|
308
318
|
assert_equal('value2,value2', lines.next.chomp)
|
309
319
|
end
|
310
320
|
|
321
|
+
def test_success_no_header_option_handle_response
|
322
|
+
runner = new_runner('test', Hash[:host, 'test', :'no-header', true])
|
323
|
+
response = new_response(success: true, response_body: '[{"key1":"value1","key2":"value1"},{"key1":"value2","key2":"value2"}]')
|
324
|
+
lambda = runner.handle_response(response, 0, nil)
|
325
|
+
assert(lambda.lambda?)
|
326
|
+
out, err = capture_io_while(&lambda)
|
327
|
+
lines = out.each_line
|
328
|
+
assert_equal('', err)
|
329
|
+
assert_equal('value1,value1', lines.next.chomp)
|
330
|
+
assert_equal('value2,value2', lines.next.chomp)
|
331
|
+
end
|
332
|
+
|
311
333
|
def test_success_no_header_handle_response
|
312
334
|
runner = new_runner
|
313
335
|
response = new_response(success: true, response_body: '[{"key1":"value1","key2":"value1"},{"key1":"value2","key2":"value2"}]')
|
data/test/test_formatters.rb
CHANGED
data/unipept.gemspec
CHANGED
@@ -2,16 +2,16 @@
|
|
2
2
|
# DO NOT EDIT THIS FILE DIRECTLY
|
3
3
|
# Instead, edit Jeweler::Tasks in Rakefile, and run 'rake gemspec'
|
4
4
|
# -*- encoding: utf-8 -*-
|
5
|
-
# stub: unipept 1.
|
5
|
+
# stub: unipept 1.3.0 ruby lib
|
6
6
|
|
7
7
|
Gem::Specification.new do |s|
|
8
8
|
s.name = "unipept".freeze
|
9
|
-
s.version = "1.
|
9
|
+
s.version = "1.3.0"
|
10
10
|
|
11
11
|
s.required_rubygems_version = Gem::Requirement.new(">= 0".freeze) if s.respond_to? :required_rubygems_version=
|
12
12
|
s.require_paths = ["lib".freeze]
|
13
13
|
s.authors = ["Toon Willems".freeze, "Bart Mesuere".freeze, "Tom Naessens".freeze]
|
14
|
-
s.date = "2017-01-
|
14
|
+
s.date = "2017-01-28"
|
15
15
|
s.description = " Command line interface to the Unipept (http://unipept.ugent.be) web services\n (pept2lca, taxa2lca, pept2taxa, pept2prot and taxonomy) and some utility\n commands for handling proteins using the command line.\n".freeze
|
16
16
|
s.email = "unipept@ugent.be".freeze
|
17
17
|
s.executables = ["unipept".freeze, "prot2pept".freeze, "peptfilter".freeze, "uniprot".freeze]
|
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: 1.
|
4
|
+
version: 1.3.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: 2017-01-
|
13
|
+
date: 2017-01-28 00:00:00.000000000 Z
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
16
16
|
name: cri
|