rbbt-util 5.17.58 → 5.17.59

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: ee31ce6439a3f9de23c9c37452dc0b40037a0815
4
- data.tar.gz: 4928e05c224b503008194c134ba51a67b1071376
3
+ metadata.gz: 849b316f4dfa60ed5c29ef8da518739f1e367f5b
4
+ data.tar.gz: ae52b18f5d3ad480fabd97b1d6c335ec6d761015
5
5
  SHA512:
6
- metadata.gz: 1b0c9aca5781800e9ce22b786e4d319463acdd65113f3e23a92fabef4db823c025e72bfd8b6c0a9265e818ee650dad5288dff21a649ef4fa5f4ab0bddc90c22a
7
- data.tar.gz: a606383b7f88098aacfd0575a1b2765b64e38ebb0bf1820a59599748b99f95d5f5070d30755534486fe4ce7d6260920bb5e815bd8bfe8384ed148b55b07833a4
6
+ metadata.gz: 71e1e58112898babac4e3314fe5cd6199b8401f77724d1282eb91915fd1c5399dcb2acd0bd5c2d4e8928f6530536bbce7186b44117a71abc567b827ffca9a2e6
7
+ data.tar.gz: ee609ff5e22ce8d218416af0e3a4c958dc58b63033f70eecec04b1f89961643a98197ee7d6815712d7ece7ef4b7edab2f240dff502818ccd21b7c2fd039bd03e
@@ -33,6 +33,7 @@ class WorkflowRESTClient
33
33
  if TSV === v
34
34
  fixed_inputs[k] = v.to_s
35
35
  else
36
+ next if input_types[k].nil?
36
37
  case input_types[k].to_sym
37
38
  when :tsv, :array, :file, :text
38
39
  fixed_inputs[k] = (String === v and Open.exists?(v)) ? Open.open(v) : v
@@ -11,6 +11,7 @@ class WorkflowRESTClient
11
11
  end
12
12
  end
13
13
  end
14
+
14
15
  def initialize(base_url, task = nil, base_name = nil, inputs = nil, result_type = nil, result_description = nil, is_exec = false)
15
16
  @base_url, @task, @base_name, @inputs, @result_type, @result_description, @is_exec = base_url, task, base_name, inputs, result_type, result_description, is_exec
16
17
  @mutex = Mutex.new
@@ -23,10 +24,12 @@ class WorkflowRESTClient
23
24
  end
24
25
 
25
26
  def task_name
27
+ init_job
26
28
  (Array === @url ? @url.first : @url).split("/")[-2]
27
29
  end
28
30
 
29
31
  def info(check_lock=false)
32
+ @info = nil unless @info and @info[:status] and @info[:status].to_sym == :done
30
33
  @info ||= begin
31
34
  init_job unless url
32
35
  info = WorkflowRESTClient.get_json(File.join(url, 'info'))
@@ -58,8 +61,10 @@ class WorkflowRESTClient
58
61
 
59
62
  #{{{ MANAGEMENT
60
63
 
61
- def init_job(cache_type = :asynchronous)
62
- @name ||= Persist.memory("RemoteSteps", :jobname => @name, :inputs => inputs) do
64
+ def init_job(cache_type = nil)
65
+ cache_type = :asynchronous if cache_type.nil? and not @is_exec
66
+ cache_type = :exec if cache_type.nil?
67
+ @name ||= Persist.memory("RemoteSteps", :workflow => self, :task => task, :jobname => @name, :inputs => inputs, :cache_type => cache_type) do
63
68
  WorkflowRESTClient.post_jobname(File.join(base_url, task.to_s), inputs.merge(:jobname => @name||@base_name, :_cache_type => cache_type))
64
69
  end
65
70
  @url = File.join(base_url, task.to_s, @name)
@@ -118,7 +123,8 @@ class WorkflowRESTClient
118
123
  end
119
124
 
120
125
  def path
121
- url
126
+ init_job
127
+ @url + '?_format=raw'
122
128
  end
123
129
 
124
130
  def run(noload = false)
@@ -222,6 +222,9 @@ module Misc
222
222
  end
223
223
  end
224
224
 
225
+ def self.sort_genomic_locations(stream)
226
+ sort_stream(stream, '#', '-k1,1 -k2,2n -t:')
227
+ end
225
228
 
226
229
  def self.intersect_streams_read(io, sep=":")
227
230
  line = io.gets.strip
@@ -279,7 +279,7 @@ class Step
279
279
  end
280
280
 
281
281
  def dirty?
282
- rec_dependencies.collect{|dependency| dependency.path }.uniq.reject{|path| path.exists?}.any?
282
+ rec_dependencies.collect{|dependency| dependency.path }.uniq.reject{|path| not Path === path or path.exists?}.any?
283
283
  end
284
284
 
285
285
  def done?
@@ -545,7 +545,9 @@ module Workflow
545
545
  options.each{|i,v|
546
546
  case v
547
547
  when Symbol
548
- rec_dependency = (real_dependencies + real_dependencies.collect{|d| d.rec_dependencies}).flatten.compact.uniq.select{|d| d.task.name.to_sym == v }.first
548
+ all_d = (real_dependencies + real_dependencies.collect{|d| d.rec_dependencies} ).flatten.compact.uniq
549
+ rec_dependency = all_d.select{|d| d.task_name.to_sym == v }.first
550
+
549
551
  if rec_dependency.nil?
550
552
  _inputs[i] = v
551
553
  else
@@ -55,7 +55,7 @@ module Workflow
55
55
  DependencyBlock.setup block, dependency if dependency.any?
56
56
  @dependencies << block
57
57
  else
58
- if Module === dependency.first
58
+ if Module === dependency.first or (defined? WorkflowRESTClient and WorkflowRESTClient === dependency.first)
59
59
  @dependencies << dependency
60
60
  else
61
61
  @dependencies.concat dependency
@@ -230,7 +230,7 @@ class Step
230
230
 
231
231
  # A step result with no info_file means that it was manually
232
232
  # placed. In that case, do not consider its dependencies
233
- return [] if Open.exists?(self.path.to_s) and not Open.exists? self.info_file
233
+ return [] if not WorkflowRESTClient::RemoteStep === self and Open.exists?(self.path.to_s) and not Open.exists? self.info_file
234
234
 
235
235
  return [] if dependencies.nil? or dependencies.empty?
236
236
 
@@ -96,7 +96,7 @@ class Step
96
96
  end
97
97
 
98
98
  def checks
99
- rec_dependencies.collect{|dependency| dependency.path }.uniq
99
+ rec_dependencies.collect{|dependency| (defined? WorkflowRESTClient and WorkflowRESTClient::RemoteStep === dependency) ? nil : dependency.path }.compact.uniq
100
100
  end
101
101
 
102
102
 
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rbbt-util
3
3
  version: !ruby/object:Gem::Version
4
- version: 5.17.58
4
+ version: 5.17.59
5
5
  platform: ruby
6
6
  authors:
7
7
  - Miguel Vazquez
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-07-13 00:00:00.000000000 Z
11
+ date: 2015-07-14 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rake