rbbt-util 5.21.103 → 5.21.104
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/rbbt/resource/rake.rb +8 -8
- data/lib/rbbt/util/misc/inspect.rb +18 -5
- data/lib/rbbt/workflow/accessor.rb +5 -0
- data/lib/rbbt/workflow/step/dependencies.rb +1 -1
- data/lib/rbbt/workflow/step/run.rb +1 -1
- data/lib/rbbt/workflow/step.rb +2 -2
- data/lib/rbbt/workflow.rb +4 -2
- metadata +65 -65
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: c0ffcca0065a417f82428c347e4283ec03ccfd75
|
4
|
+
data.tar.gz: 65a8de0c4d9e0bca0e23a8d0c27e7c2b89d9ca9c
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 871b8ef7151a8a47f91994061603859b7dfa57402b4631f74eb4f6e5f747524bb48a91ff6e1bef7abe27fb7194b3ac4c6416686c63de4c7531cf052d75b6ad7f
|
7
|
+
data.tar.gz: 1db58bc5d69b28a0d58b6913cce05dae2a113c8a7723fa3bc34f08532a8886b4a2079ebd806292d92d8977c9d09591306ff7840d171473f4ff504a572ddee898
|
data/lib/rbbt/resource/rake.rb
CHANGED
@@ -29,16 +29,16 @@ module Rake
|
|
29
29
|
Rake::Task.clear
|
30
30
|
Rake::FileTask.clear_files
|
31
31
|
|
32
|
-
if block_given?
|
33
|
-
yield
|
34
|
-
else
|
35
|
-
load rakefile
|
36
|
-
end
|
37
|
-
|
38
|
-
raise TaskNotFound if Rake::Task[task].nil?
|
39
|
-
|
40
32
|
t = nil
|
41
33
|
pid = Process.fork{
|
34
|
+
if block_given?
|
35
|
+
yield
|
36
|
+
else
|
37
|
+
load rakefile
|
38
|
+
end
|
39
|
+
|
40
|
+
raise TaskNotFound if Rake::Task[task].nil?
|
41
|
+
|
42
42
|
Misc.pre_fork
|
43
43
|
begin
|
44
44
|
Misc.in_dir(dir) do
|
@@ -220,6 +220,19 @@ module Misc
|
|
220
220
|
end
|
221
221
|
end
|
222
222
|
|
223
|
+
def self.txt_digest_str(txt)
|
224
|
+
"digest: " << digest(txt)
|
225
|
+
end
|
226
|
+
|
227
|
+
def self.mtime_str(path)
|
228
|
+
path = path.find if Path === path
|
229
|
+
if File.exists? path
|
230
|
+
"mtime: " << File.mtime(path).to_s
|
231
|
+
else
|
232
|
+
"mtime: not present"
|
233
|
+
end
|
234
|
+
end
|
235
|
+
|
223
236
|
|
224
237
|
def self.obj2str(obj)
|
225
238
|
_obj = obj
|
@@ -239,14 +252,14 @@ module Misc
|
|
239
252
|
if obj.directory?
|
240
253
|
"directory: #{obj.glob("**/*")}"
|
241
254
|
else
|
242
|
-
"file
|
255
|
+
"file: " << obj << "--" << mtime_str(obj)
|
243
256
|
end
|
244
257
|
else
|
245
258
|
obj + " (file missing)"
|
246
259
|
end
|
247
260
|
when String
|
248
261
|
if obj.length > HASH2MD5_MAX_STRING_LENGTH
|
249
|
-
sample_large_obj(obj, HASH2MD5_MAX_STRING_LENGTH)
|
262
|
+
sample_large_obj(obj, HASH2MD5_MAX_STRING_LENGTH) << "--" << txt_digest_str(obj)
|
250
263
|
else
|
251
264
|
obj
|
252
265
|
end
|
@@ -260,15 +273,15 @@ module Misc
|
|
260
273
|
remove_long_items(obj)
|
261
274
|
when File
|
262
275
|
if obj.respond_to? :filename and obj.filename
|
263
|
-
"<IO:" << obj.filename << ">"
|
276
|
+
"<IO:" << obj.filename << "--" << mtime_str(obj.filename) << ">"
|
264
277
|
else
|
265
|
-
"<IO:" << obj.path << ">"
|
278
|
+
"<IO:" << obj.path << "--" << mtime_str(obj.path) << ">"
|
266
279
|
end
|
267
280
|
when (defined? Step and Step)
|
268
281
|
"<IO:" << obj.path << ">"
|
269
282
|
else
|
270
283
|
if obj.respond_to? :filename and obj.filename
|
271
|
-
"<IO:" << obj.filename << ">"
|
284
|
+
"<IO:" << obj.filename << "--" << mtime_str(obj.filename) << ">"
|
272
285
|
else
|
273
286
|
obj_ins = obj.inspect
|
274
287
|
if obj_ins =~ /:0x0/
|
@@ -412,6 +412,10 @@ class Step
|
|
412
412
|
started? && ! (done? || error? || aborted?) && ! running?
|
413
413
|
end
|
414
414
|
|
415
|
+
def missing?
|
416
|
+
status == :done && ! Open.exists?(path)
|
417
|
+
end
|
418
|
+
|
415
419
|
def error?
|
416
420
|
status == :error
|
417
421
|
end
|
@@ -808,6 +812,7 @@ module Workflow
|
|
808
812
|
_inputs = IndiferentHash.setup(_inputs.dup)
|
809
813
|
dep = dependency.call jobname, _inputs, real_dependencies
|
810
814
|
if Hash === dep
|
815
|
+
dep[:workflow] ||= wf || self
|
811
816
|
task_info = (dep[:task] && dep[:workflow]) ? dep[:workflow].task_info(dep[:task]) : nil
|
812
817
|
inputs = assign_dep_inputs({}, dep[:inputs], real_dependencies, task_info)
|
813
818
|
dep = dep[:workflow].job(dep[:task], dep[:jobname], inputs)
|
@@ -124,7 +124,7 @@ class Step
|
|
124
124
|
return
|
125
125
|
end
|
126
126
|
|
127
|
-
if dependency.aborted?
|
127
|
+
if dependency.aborted? or (dependency.error? and dependency.recoverable_error?) or dependency.missing?
|
128
128
|
log_dependency_exec(dependency, "aborted (clean)")
|
129
129
|
dependency.clean
|
130
130
|
raise TryAgain
|
@@ -140,7 +140,7 @@ class Step
|
|
140
140
|
:issued => (issue_time = Time.now),
|
141
141
|
:name => name,
|
142
142
|
:clean_name => clean_name,
|
143
|
-
:workflow => @task.workflow.to_s,
|
143
|
+
:workflow => (@workflow || @task.workflow).to_s,
|
144
144
|
:task_name => @task.name,
|
145
145
|
:result_type => @task.result_type,
|
146
146
|
:result_description => @task.result_description
|
data/lib/rbbt/workflow/step.rb
CHANGED
@@ -5,7 +5,7 @@ require 'rbbt/util/semaphore'
|
|
5
5
|
require 'rbbt/workflow/accessor'
|
6
6
|
|
7
7
|
class Step
|
8
|
-
attr_accessor :clean_name, :path, :task, :inputs, :dependencies, :bindings
|
8
|
+
attr_accessor :clean_name, :path, :task, :workflow, :inputs, :dependencies, :bindings
|
9
9
|
attr_accessor :pid
|
10
10
|
attr_accessor :exec
|
11
11
|
attr_accessor :result, :mutex, :seen
|
@@ -50,7 +50,7 @@ class Step
|
|
50
50
|
end
|
51
51
|
|
52
52
|
def workflow
|
53
|
-
info[:workflow]
|
53
|
+
@workflow || info[:workflow]
|
54
54
|
end
|
55
55
|
|
56
56
|
def load_inputs_from_info
|
data/lib/rbbt/workflow.rb
CHANGED
@@ -307,8 +307,9 @@ module Workflow
|
|
307
307
|
|
308
308
|
Workflow.resolve_locals(inputs)
|
309
309
|
|
310
|
-
|
311
|
-
|
310
|
+
task_info = task_info(taskname)
|
311
|
+
task_inputs = task_info[:inputs]
|
312
|
+
defaults = IndiferentHash.setup(task_info[:input_defaults]).merge(task.input_defaults)
|
312
313
|
|
313
314
|
missing_inputs = []
|
314
315
|
task.required_inputs.each do |input|
|
@@ -346,6 +347,7 @@ module Workflow
|
|
346
347
|
end
|
347
348
|
|
348
349
|
job = get_job_step step_path, task, input_values, dependencies
|
350
|
+
job.workflow = self
|
349
351
|
job.clean_name = jobname
|
350
352
|
job
|
351
353
|
end
|
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.21.
|
4
|
+
version: 5.21.104
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Miguel Vazquez
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2017-11-
|
11
|
+
date: 2017-11-13 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rake
|
@@ -503,88 +503,88 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
503
503
|
version: '0'
|
504
504
|
requirements: []
|
505
505
|
rubyforge_project:
|
506
|
-
rubygems_version: 2.6.
|
506
|
+
rubygems_version: 2.6.8
|
507
507
|
signing_key:
|
508
508
|
specification_version: 4
|
509
509
|
summary: Utilities for the Ruby Bioinformatics Toolkit (rbbt)
|
510
510
|
test_files:
|
511
|
-
- test/
|
512
|
-
- test/rbbt/
|
513
|
-
- test/rbbt/
|
514
|
-
- test/rbbt/
|
515
|
-
- test/rbbt/
|
516
|
-
- test/rbbt/
|
517
|
-
- test/rbbt/
|
518
|
-
- test/rbbt/
|
519
|
-
- test/rbbt/
|
520
|
-
- test/rbbt/
|
521
|
-
- test/rbbt/
|
522
|
-
- test/rbbt/
|
523
|
-
- test/rbbt/
|
524
|
-
- test/rbbt/
|
525
|
-
- test/rbbt/util/R/test_eval.rb
|
526
|
-
- test/rbbt/util/R/test_model.rb
|
527
|
-
- test/rbbt/util/test_log.rb
|
528
|
-
- test/rbbt/util/test_simpleDSL.rb
|
529
|
-
- test/rbbt/util/log/test_progress.rb
|
530
|
-
- test/rbbt/util/test_tmpfile.rb
|
511
|
+
- test/test_helper.rb
|
512
|
+
- test/rbbt/test_annotations.rb
|
513
|
+
- test/rbbt/association/test_database.rb
|
514
|
+
- test/rbbt/association/test_item.rb
|
515
|
+
- test/rbbt/association/test_index.rb
|
516
|
+
- test/rbbt/association/test_open.rb
|
517
|
+
- test/rbbt/association/test_util.rb
|
518
|
+
- test/rbbt/test_association.rb
|
519
|
+
- test/rbbt/knowledge_base/test_syndicate.rb
|
520
|
+
- test/rbbt/knowledge_base/test_enrichment.rb
|
521
|
+
- test/rbbt/knowledge_base/test_query.rb
|
522
|
+
- test/rbbt/knowledge_base/test_entity.rb
|
523
|
+
- test/rbbt/knowledge_base/test_registry.rb
|
524
|
+
- test/rbbt/knowledge_base/test_traverse.rb
|
531
525
|
- test/rbbt/util/test_R.rb
|
532
|
-
- test/rbbt/util/
|
526
|
+
- test/rbbt/util/test_tmpfile.rb
|
527
|
+
- test/rbbt/util/test_filecache.rb
|
533
528
|
- test/rbbt/util/test_misc.rb
|
534
|
-
- test/rbbt/util/
|
535
|
-
- test/rbbt/util/
|
529
|
+
- test/rbbt/util/test_excel2tsv.rb
|
530
|
+
- test/rbbt/util/log/test_progress.rb
|
531
|
+
- test/rbbt/util/misc/test_multipart_payload.rb
|
532
|
+
- test/rbbt/util/misc/test_pipes.rb
|
533
|
+
- test/rbbt/util/misc/test_bgzf.rb
|
534
|
+
- test/rbbt/util/misc/test_lock.rb
|
535
|
+
- test/rbbt/util/misc/test_omics.rb
|
536
|
+
- test/rbbt/util/test_semaphore.rb
|
537
|
+
- test/rbbt/util/simpleopt/test_get.rb
|
536
538
|
- test/rbbt/util/simpleopt/test_parse.rb
|
537
539
|
- test/rbbt/util/simpleopt/test_setup.rb
|
538
|
-
- test/rbbt/util/
|
539
|
-
- test/rbbt/util/test_filecache.rb
|
540
|
+
- test/rbbt/util/test_open.rb
|
540
541
|
- test/rbbt/util/concurrency/test_processes.rb
|
541
542
|
- test/rbbt/util/concurrency/test_threads.rb
|
542
543
|
- test/rbbt/util/concurrency/processes/test_socket.rb
|
543
|
-
- test/rbbt/util/
|
544
|
+
- test/rbbt/util/test_log.rb
|
545
|
+
- test/rbbt/util/test_colorize.rb
|
546
|
+
- test/rbbt/util/test_cmd.rb
|
547
|
+
- test/rbbt/util/test_concurrency.rb
|
548
|
+
- test/rbbt/util/R/test_eval.rb
|
549
|
+
- test/rbbt/util/R/test_model.rb
|
550
|
+
- test/rbbt/util/test_simpleopt.rb
|
544
551
|
- test/rbbt/util/test_chain_methods.rb
|
545
|
-
- test/rbbt/
|
546
|
-
- test/rbbt/
|
547
|
-
- test/rbbt/tsv/test_change_id.rb
|
548
|
-
- test/rbbt/tsv/test_attach.rb
|
549
|
-
- test/rbbt/tsv/test_filter.rb
|
552
|
+
- test/rbbt/util/test_simpleDSL.rb
|
553
|
+
- test/rbbt/tsv/test_index.rb
|
550
554
|
- test/rbbt/tsv/test_parser.rb
|
551
|
-
- test/rbbt/tsv/test_accessor.rb
|
552
|
-
- test/rbbt/tsv/test_matrix.rb
|
553
555
|
- test/rbbt/tsv/test_field_index.rb
|
554
|
-
- test/rbbt/tsv/
|
555
|
-
- test/rbbt/tsv/
|
556
|
+
- test/rbbt/tsv/test_stream.rb
|
557
|
+
- test/rbbt/tsv/test_accessor.rb
|
558
|
+
- test/rbbt/tsv/test_change_id.rb
|
556
559
|
- test/rbbt/tsv/test_parallel.rb
|
557
|
-
- test/rbbt/tsv/test_manipulate.rb
|
558
|
-
- test/rbbt/tsv/test_excel.rb
|
559
560
|
- test/rbbt/tsv/parallel/test_through.rb
|
560
561
|
- test/rbbt/tsv/parallel/test_traverse.rb
|
561
|
-
- test/rbbt/tsv/
|
562
|
-
- test/rbbt/
|
563
|
-
- test/rbbt/
|
564
|
-
- test/rbbt/
|
565
|
-
- test/rbbt/
|
566
|
-
- test/rbbt/
|
567
|
-
- test/rbbt/
|
568
|
-
- test/rbbt/
|
569
|
-
- test/rbbt/
|
562
|
+
- test/rbbt/tsv/test_manipulate.rb
|
563
|
+
- test/rbbt/tsv/test_filter.rb
|
564
|
+
- test/rbbt/tsv/test_matrix.rb
|
565
|
+
- test/rbbt/tsv/test_util.rb
|
566
|
+
- test/rbbt/tsv/test_attach.rb
|
567
|
+
- test/rbbt/tsv/test_excel.rb
|
568
|
+
- test/rbbt/test_monitor.rb
|
569
|
+
- test/rbbt/test_workflow.rb
|
570
|
+
- test/rbbt/annotations/test_util.rb
|
571
|
+
- test/rbbt/test_packed_index.rb
|
572
|
+
- test/rbbt/workflow/test_task.rb
|
573
|
+
- test/rbbt/workflow/test_doc.rb
|
574
|
+
- test/rbbt/workflow/test_step.rb
|
575
|
+
- test/rbbt/workflow/step/test_dependencies.rb
|
576
|
+
- test/rbbt/entity/test_identifiers.rb
|
577
|
+
- test/rbbt/test_entity.rb
|
578
|
+
- test/rbbt/test_resource.rb
|
579
|
+
- test/rbbt/test_persist.rb
|
580
|
+
- test/rbbt/persist/tsv/test_tokyocabinet.rb
|
570
581
|
- test/rbbt/persist/tsv/test_cdb.rb
|
571
|
-
- test/rbbt/persist/tsv/test_lmdb.rb
|
572
|
-
- test/rbbt/persist/tsv/test_sharder.rb
|
573
582
|
- test/rbbt/persist/tsv/test_leveldb.rb
|
574
|
-
- test/rbbt/persist/tsv/
|
583
|
+
- test/rbbt/persist/tsv/test_kyotocabinet.rb
|
584
|
+
- test/rbbt/persist/tsv/test_sharder.rb
|
585
|
+
- test/rbbt/persist/tsv/test_lmdb.rb
|
575
586
|
- test/rbbt/persist/test_tsv.rb
|
576
587
|
- test/rbbt/test_tsv.rb
|
577
|
-
- test/rbbt/test_annotations.rb
|
578
588
|
- test/rbbt/test_fix_width_table.rb
|
579
|
-
- test/rbbt/
|
580
|
-
- test/rbbt/
|
581
|
-
- test/rbbt/annotations/test_util.rb
|
582
|
-
- test/rbbt/test_monitor.rb
|
583
|
-
- test/rbbt/test_persist.rb
|
584
|
-
- test/rbbt/knowledge_base/test_entity.rb
|
585
|
-
- test/rbbt/knowledge_base/test_registry.rb
|
586
|
-
- test/rbbt/knowledge_base/test_syndicate.rb
|
587
|
-
- test/rbbt/knowledge_base/test_query.rb
|
588
|
-
- test/rbbt/knowledge_base/test_enrichment.rb
|
589
|
-
- test/rbbt/knowledge_base/test_traverse.rb
|
590
|
-
- test/test_helper.rb
|
589
|
+
- test/rbbt/test_knowledge_base.rb
|
590
|
+
- test/rbbt/resource/test_path.rb
|