rbbt-util 5.17.58 → 5.17.59

Sign up to get free protection for your applications and to get access to all the features.
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