rbbt-util 5.21.103 → 5.21.104
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/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
|