unipept 0.3.5 → 0.4.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/VERSION +1 -1
- data/bin/unipept +26 -17
- data/lib/unipept/formatters.rb +2 -2
- 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: cb4cf2b51a09b13a5707a1cf5817f252663834d8
|
4
|
+
data.tar.gz: 1ca2701b05ffc2ed85261f51306b82f04742f74a
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 6c630669079cab95179b87a39803f16aa4d248ae5103be29d91fe5e9c3bf5aced6c2ee58e3e2022cc55f609a580f6acc72ae74337e67045ce0fd0c7be4ede5c5
|
7
|
+
data.tar.gz: e3931b23b6f89796a19ad0db836d9cd750a20012399ce70ef9f471c4751f819b855a9ae13f5625c01a26a6c9c9cd33fbbaf5e8ac416d669511aff408a3d524c2
|
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.
|
1
|
+
0.4.0
|
data/bin/unipept
CHANGED
@@ -14,7 +14,8 @@ class ApiRunner < Cri::CommandRunner
|
|
14
14
|
|
15
15
|
def initialize(args, opts, cmd)
|
16
16
|
super
|
17
|
-
|
17
|
+
@configuration = Unipept::Configuration.new
|
18
|
+
host = @configuration['host']
|
18
19
|
if host.nil? || host.empty?
|
19
20
|
puts "WARNING: no host has been set, you can set the host with `unipept config host http://localhost:3000/`"
|
20
21
|
exit 1
|
@@ -24,11 +25,12 @@ class ApiRunner < Cri::CommandRunner
|
|
24
25
|
end
|
25
26
|
|
26
27
|
@url = "#{host}/api/v1/#{mapping[cmd.name]}.json"
|
28
|
+
@message_url = "#{host}/api/v1/messages.json"
|
27
29
|
end
|
28
30
|
|
29
31
|
|
30
32
|
def mapping
|
31
|
-
{'pept2taxa' => '
|
33
|
+
{'pept2taxa' => 'pept2taxa', 'pept2lca' => 'pept2lca'}
|
32
34
|
end
|
33
35
|
|
34
36
|
def input_iterator
|
@@ -50,14 +52,28 @@ class ApiRunner < Cri::CommandRunner
|
|
50
52
|
else
|
51
53
|
names = filter.any? {|f| /.*name.*/.match f}
|
52
54
|
end
|
53
|
-
{:
|
55
|
+
{:input => sub_part,
|
54
56
|
:equate_il => options[:equate],
|
55
|
-
:
|
57
|
+
:extra => options[:extra],
|
56
58
|
:names => names,
|
57
59
|
}
|
58
60
|
end
|
59
61
|
|
62
|
+
def get_server_message
|
63
|
+
return if options[:quiet]
|
64
|
+
last_fetched = @configuration['last_fetch_date']
|
65
|
+
if last_fetched.nil? || (last_fetched + 60 * 60 * 24) < Time.now
|
66
|
+
version = File.read(File.join(File.dirname(__FILE__), "..", "VERSION"))
|
67
|
+
puts Typhoeus.get(@message_url, params: {version: version}).body
|
68
|
+
|
69
|
+
@configuration['last_fetch_date'] = Time.now
|
70
|
+
@configuration.save
|
71
|
+
end
|
72
|
+
end
|
73
|
+
|
60
74
|
def run
|
75
|
+
get_server_message
|
76
|
+
|
61
77
|
formatter = Unipept::Formatter.new_for_format(options[:format])
|
62
78
|
peptides = input_iterator
|
63
79
|
|
@@ -168,10 +184,6 @@ class Taxa2lca < ApiRunner
|
|
168
184
|
{"taxa2lca" => "taxa2lca"}
|
169
185
|
end
|
170
186
|
|
171
|
-
def url_options(sub_part)
|
172
|
-
{:taxon_ids => sub_part, :full_lineage => options[:lineage]}
|
173
|
-
end
|
174
|
-
|
175
187
|
def peptide_iterator(peptides, &block)
|
176
188
|
block.call(peptides.to_a, 0)
|
177
189
|
end
|
@@ -185,11 +197,7 @@ end
|
|
185
197
|
class Pept2prot < ApiRunner
|
186
198
|
|
187
199
|
def mapping
|
188
|
-
{"pept2prot" => "
|
189
|
-
end
|
190
|
-
|
191
|
-
def url_options(sub_part)
|
192
|
-
{:sequences => sub_part, :equate_il => options[:equate], :extra => options[:all]}
|
200
|
+
{"pept2prot" => "pept2prot"}
|
193
201
|
end
|
194
202
|
|
195
203
|
def download_xml(result)
|
@@ -212,6 +220,7 @@ end
|
|
212
220
|
root_cmd = Cri::Command.new_basic_root.modify do
|
213
221
|
name 'unipept'
|
214
222
|
flag :v, :version, "print version"
|
223
|
+
flag :q, :quiet, "don't show update messages"
|
215
224
|
option :i, :input, "input file", :argument => :required
|
216
225
|
option :o, :output, "output file", :argument => :required
|
217
226
|
option :f, :format, "output format (available: #{Unipept::Formatter.available.join "," }) (default: #{Unipept::Formatter.default})", :argument => :required
|
@@ -246,7 +255,7 @@ root_cmd.define_command('pept2taxa') do
|
|
246
255
|
|
247
256
|
flag :e, :equate, "equate I and L"
|
248
257
|
option :s, :select, "select the attributes", :argument => :required, :multiple => true
|
249
|
-
option :
|
258
|
+
option :a, :extra, "Show full lineage"
|
250
259
|
option :x, :xml, "Download taxonomy from NCBI as xml (specify output filename)", :argument => :required
|
251
260
|
|
252
261
|
runner ApiRunner
|
@@ -260,7 +269,7 @@ root_cmd.define_command('pept2lca') do
|
|
260
269
|
|
261
270
|
flag :e, :equate, "equate I and L"
|
262
271
|
option :s, :select, "select the attributes", :argument => :required, :multiple => true
|
263
|
-
option :
|
272
|
+
option :a, :extra, "Show full lineage"
|
264
273
|
|
265
274
|
runner ApiRunner
|
266
275
|
end
|
@@ -272,7 +281,7 @@ root_cmd.define_command('taxa2lca') do
|
|
272
281
|
description 'Search Unipept for the given taxon ids and return the lowest common ancestor'
|
273
282
|
|
274
283
|
option :s, :select, "select the attributes", :argument => :required, :multiple => true
|
275
|
-
option :
|
284
|
+
option :a, :extra, "Show full lineage"
|
276
285
|
|
277
286
|
runner Taxa2lca
|
278
287
|
end
|
@@ -286,7 +295,7 @@ root_cmd.define_command('pept2prot') do
|
|
286
295
|
flag :e, :equate, "equate I and L"
|
287
296
|
option :s, :select, "select the attributes", :argument => :required, :multiple => true
|
288
297
|
option :x, :xml, "download uniprot record in specified directory", :argument => :required
|
289
|
-
flag :a, :
|
298
|
+
flag :a, :extra, "include all information. WARNING: will take much longer!"
|
290
299
|
|
291
300
|
runner Pept2prot
|
292
301
|
end
|
data/lib/unipept/formatters.rb
CHANGED
@@ -63,9 +63,9 @@ module Unipept
|
|
63
63
|
CSV.generate do |csv|
|
64
64
|
data.each do |o|
|
65
65
|
if o.kind_of? Array
|
66
|
-
o.each {|h| csv << h.values }
|
66
|
+
o.each {|h| csv << h.values.map { |v| v == "" ? nil : v }}
|
67
67
|
else
|
68
|
-
csv << o.values
|
68
|
+
csv << o.values.map { |v| v == "" ? nil : v }
|
69
69
|
end
|
70
70
|
end
|
71
71
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: unipept
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.4.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Toon Willems
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2014-05-
|
11
|
+
date: 2014-05-13 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: shoulda
|