rbbt-util 5.42.0 → 5.43.0

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.
Files changed (64) hide show
  1. checksums.yaml +4 -4
  2. data/lib/rbbt/annotations/util.rb +1 -1
  3. data/lib/rbbt/association/database.rb +2 -1
  4. data/lib/rbbt/association/index.rb +1 -0
  5. data/lib/rbbt/association/util.rb +13 -3
  6. data/lib/rbbt/entity.rb +6 -5
  7. data/lib/rbbt/hpc/orchestrate/batches.rb +1 -1
  8. data/lib/rbbt/hpc/orchestrate/chains.rb +3 -4
  9. data/lib/rbbt/knowledge_base/traverse.rb +24 -16
  10. data/lib/rbbt/persist/tsv/tokyocabinet.rb +1 -1
  11. data/lib/rbbt/resource/path.rb +7 -2
  12. data/lib/rbbt/resource.rb +1 -1
  13. data/lib/rbbt/tsv/parallel/traverse.rb +44 -0
  14. data/lib/rbbt/tsv/parser.rb +7 -6
  15. data/lib/rbbt/tsv/serializers.rb +1 -1
  16. data/lib/rbbt/tsv/util.rb +12 -0
  17. data/lib/rbbt/util/log/progress.rb +1 -1
  18. data/lib/rbbt/util/misc/bgzf.rb +5 -4
  19. data/lib/rbbt/util/misc/development.rb +4 -4
  20. data/lib/rbbt/util/misc.rb +1 -1
  21. data/lib/rbbt/workflow/remote_workflow/driver/rest.rb +8 -3
  22. data/lib/rbbt/workflow/remote_workflow/remote_step.rb +4 -0
  23. data/lib/rbbt/workflow/util/trace.rb +2 -2
  24. data/lib/rbbt/workflow.rb +2 -2
  25. data/test/rbbt/association/test_database.rb +0 -2
  26. data/test/rbbt/association/test_open.rb +1 -1
  27. data/test/rbbt/entity/test_identifiers.rb +7 -47
  28. data/test/rbbt/hpc/orchestrate/test_batches.rb +2 -45
  29. data/test/rbbt/hpc/orchestrate/test_chains.rb +13 -44
  30. data/test/rbbt/hpc/orchestrate/test_rules.rb +2 -35
  31. data/test/rbbt/hpc/test_batch.rb +18 -22
  32. data/test/rbbt/hpc/test_hpc_test_workflows.rb +0 -0
  33. data/test/rbbt/hpc/test_pbs.rb +1 -1
  34. data/test/rbbt/hpc/test_slurm.rb +6 -10
  35. data/test/rbbt/knowledge_base/test_enrichment.rb +5 -3
  36. data/test/rbbt/knowledge_base/test_entity.rb +26 -6
  37. data/test/rbbt/knowledge_base/test_query.rb +1 -1
  38. data/test/rbbt/knowledge_base/test_registry.rb +34 -41
  39. data/test/rbbt/knowledge_base/test_traverse.rb +106 -58
  40. data/test/rbbt/persist/test_tsv.rb +4 -4
  41. data/test/rbbt/persist/tsv/test_lmdb.rb +7 -5
  42. data/test/rbbt/test_entity.rb +8 -5
  43. data/test/rbbt/test_knowledge_base.rb +107 -30
  44. data/test/rbbt/test_packed_index.rb +5 -5
  45. data/test/rbbt/test_tsv.rb +1 -1
  46. data/test/rbbt/test_workflow.rb +83 -78
  47. data/test/rbbt/tsv/test_accessor.rb +4 -0
  48. data/test/rbbt/tsv/test_attach.rb +2 -5
  49. data/test/rbbt/tsv/test_index.rb +8 -2
  50. data/test/rbbt/tsv/test_manipulate.rb +0 -3
  51. data/test/rbbt/util/R/test_model.rb +0 -2
  52. data/test/rbbt/util/misc/test_bgzf.rb +3 -3
  53. data/test/rbbt/util/misc/test_communication.rb +5 -3
  54. data/test/rbbt/util/test_migrate.rb +1 -3
  55. data/test/rbbt/util/test_misc.rb +7 -2
  56. data/test/rbbt/util/test_procpath.rb +1 -1
  57. data/test/rbbt/util/test_python.rb +12 -8
  58. data/test/rbbt/workflow/step/test_dependencies.rb +0 -4
  59. data/test/rbbt/workflow/test_remote_workflow.rb +6 -5
  60. data/test/rbbt/workflow/util/test_archive.rb +4 -8
  61. data/test/rbbt/workflow/util/test_orchestrator.rb +5 -15
  62. data/test/test_helper.rb +25 -1
  63. metadata +5 -5
  64. data/test/rbbt/test_hpc.rb +0 -16
@@ -471,7 +471,7 @@ eum fugiat quo voluptas nulla pariatur?"
471
471
  end
472
472
 
473
473
  def test_snake_case
474
- ppp Misc.snake_case("KinaseSARfari")
474
+ assert_equal "kinase_SAR_fari", Misc.snake_case("KinaseSARFari")
475
475
  end
476
476
 
477
477
  def test_bootstrap
@@ -676,7 +676,7 @@ Commands:
676
676
  assert_equal "1.10.2-dirty", Misc.scan_version_text(txt, "bcftools")
677
677
 
678
678
  txt =<<-EOF
679
- The Genome Analysis Toolkit (GATK) v4.1.4.1
679
+ The Genome Analysis Toolkit (GATK) 4.1.4.1
680
680
  HTSJDK Version: 2.21.0
681
681
  Picard Version: 2.21.2
682
682
  EOF
@@ -719,5 +719,10 @@ Written by Mike Haertel and others, see <http://git.sv.gnu.org/cgit/grep.git/tre
719
719
  end
720
720
 
721
721
  end
722
+
723
+ def test_tokenize
724
+ iii Misc.tokenize("One Two 'this is Three'")
725
+ iii Misc.tokenize("some - 'Ex t=tr'")
726
+ end
722
727
  end
723
728
 
@@ -3,7 +3,7 @@ require 'rbbt/util/procpath'
3
3
 
4
4
  class TestProcPath < Test::Unit::TestCase
5
5
  def test_record_and_plot
6
- Log.with_severity 0 do
6
+ keyword_test :procpath do
7
7
  pid = Process.fork do
8
8
  a = ""
9
9
  (0..1000).each do
@@ -67,19 +67,23 @@ def python_print():
67
67
  end
68
68
 
69
69
  def test_keras
70
- defined = RbbtPython.run do
71
- pyimport "tensorflow.keras.models", as: :km
72
- defined?(km.Sequential)
70
+ keyword_test :tensorflow do
71
+ defined = RbbtPython.run do
72
+ pyimport "tensorflow.keras.models", as: :km
73
+ defined?(km.Sequential)
74
+ end
75
+ assert defined
73
76
  end
74
- assert defined
75
77
  end
76
78
 
77
79
  def test_keras_import
78
- defined = RbbtPython.run do
79
- pyfrom "tensorflow.keras.models", import: :Sequential
80
- defined?(self::Sequential)
80
+ keyword_test :tensorflow do
81
+ defined = RbbtPython.run do
82
+ pyfrom "tensorflow.keras.models", import: :Sequential
83
+ defined?(self::Sequential)
84
+ end
85
+ assert defined
81
86
  end
82
- assert defined
83
87
  end
84
88
 
85
89
  def test_iterate
@@ -169,7 +169,6 @@ class TestWorkflowDependency < Test::Unit::TestCase
169
169
 
170
170
  def test_task4
171
171
  size = 100000
172
- Log.severity = 0
173
172
  content = (0..size).to_a.collect{|num| "Line #{num}" } * "\n"
174
173
  last_line = nil
175
174
  TmpFile.with_file(content) do |input_file|
@@ -227,7 +226,6 @@ class TestWorkflowDependency < Test::Unit::TestCase
227
226
  size = 100000
228
227
  content = (1..size).to_a.collect{|num| "Line #{num}" } * "\n"
229
228
  last_line = nil
230
- Log.severity = 0
231
229
  TmpFile.with_file(content) do |input_file|
232
230
  begin
233
231
  job = DepWorkflow.job(:task6, "TEST", :input_file => input_file)
@@ -250,7 +248,6 @@ class TestWorkflowDependency < Test::Unit::TestCase
250
248
  size = 10000
251
249
  content = (0..size).to_a.collect{|num| "Line #{num}" } * "\n"
252
250
  last_line = nil
253
- Log.severity = 0
254
251
  TmpFile.with_file(content) do |input_file|
255
252
  begin
256
253
  job = DepWorkflow.job(:task8, "TEST", :input_file => input_file)
@@ -285,7 +282,6 @@ class TestWorkflowDependency < Test::Unit::TestCase
285
282
  end
286
283
 
287
284
  def test_resume
288
- Log.severity = 0
289
285
  job = ResumeWorkflow.job(:reverse)
290
286
  job.recursive_clean
291
287
  assert_raise do
@@ -59,7 +59,7 @@ class TestRemoteWorkflow < Test::Unit::TestCase
59
59
  end
60
60
 
61
61
  def test_rest
62
- Log.with_severity 0 do
62
+ keyword_test :rest do
63
63
 
64
64
  remote_workflow_server(TestWFRest) do |client|
65
65
  job = client.job(:hi, nil, {})
@@ -89,10 +89,11 @@ class TestRemoteWorkflow < Test::Unit::TestCase
89
89
 
90
90
 
91
91
  def test_ssh
92
- Log.severity = 0
93
- client = RemoteWorkflow.new "ssh://#{ENV["HOSTNAME"]}:Translation", "Translation"
94
- job = client.job("translate", "SSH-TEST-1", :genes => ["TP53","KRAS"])
95
- assert_equal 2, job.run.select{|l| l =~ /ENSG/}.length
92
+ keyword_test :ssh do
93
+ client = RemoteWorkflow.new "ssh://#{ENV["HOSTNAME"] || 'localhost'}:Translation", "Translation"
94
+ job = client.job("translate", "SSH-TEST-1", :genes => ["TP53","KRAS"])
95
+ assert_equal 2, job.run.select{|l| l =~ /ENSG/}.length
96
+ end
96
97
  end
97
98
  end
98
99
 
@@ -16,16 +16,12 @@ class TestClass < Test::Unit::TestCase
16
16
  job = ArchiveTestWF.job(:test_archive)
17
17
  job.run
18
18
 
19
- Log.with_severity 0 do
20
- TmpFile.with_file do |tmpdir|
21
- Misc.in_dir tmpdir do
22
- Step.migrate(job.path, :current, :delete => false, :print => false)
23
- end
24
- assert_equal "TEST", Open.read(File.join(tmpdir, 'var/jobs/ArchiveTestWF/test_archive/Default'))
19
+ TmpFile.with_file do |tmpdir|
20
+ Misc.in_dir tmpdir do
21
+ Step.migrate(job.path, :current, :delete => false, :print => false)
25
22
  end
23
+ assert_equal "TEST", Open.read(File.join(tmpdir, 'var/jobs/ArchiveTestWF/test_archive/Default'))
26
24
  end
27
-
28
-
29
25
  end
30
26
  end
31
27
 
@@ -66,9 +66,7 @@ TestWF:
66
66
  EOF
67
67
 
68
68
  orchestrator = Workflow::Orchestrator.new(TestWF::MULT, "cpus" => 30, "IO" => 4, "size" => 10 )
69
- Log.with_severity 0 do
70
- orchestrator.process(rules, jobs)
71
- end
69
+ orchestrator.process(rules, jobs)
72
70
 
73
71
  data = Workflow.trace jobs, :plot_data => true
74
72
  eend = data.column("End.second").values.collect{|v| v.to_f}.max
@@ -120,9 +118,7 @@ TestWF:
120
118
  EOF
121
119
 
122
120
  orchestrator = Workflow::Orchestrator.new(TestWF::MULT, "cpus" => 30, "IO" => 4, "size" => 10 )
123
- Log.with_severity 3 do
124
- orchestrator.process(rules, jobs)
125
- end
121
+ orchestrator.process(rules, jobs)
126
122
 
127
123
  jobs.each do |job|
128
124
  assert job.step(:c).dependencies.empty?
@@ -167,9 +163,7 @@ TestWF:
167
163
  EOF
168
164
 
169
165
  orchestrator = Workflow::Orchestrator.new(TestWF::MULT, "cpus" => 30, "IO" => 4, "size" => 10 )
170
- Log.with_severity 3 do
171
- orchestrator.process(rules, jobs)
172
- end
166
+ orchestrator.process(rules, jobs)
173
167
 
174
168
  jobs.each do |job|
175
169
  assert job.step(:c).dependencies.empty?
@@ -212,9 +206,7 @@ TestWF:
212
206
  EOF
213
207
 
214
208
  orchestrator = Workflow::Orchestrator.new(TestWF::MULT, "cpus" => 30, "IO" => 4, "size" => 10 )
215
- Log.with_severity 3 do
216
- orchestrator.process(rules, jobs)
217
- end
209
+ orchestrator.process(rules, jobs)
218
210
 
219
211
  jobs.each do |job|
220
212
  next unless job.task_name.to_s == 'd'
@@ -258,9 +250,7 @@ TestWF:
258
250
  EOF
259
251
 
260
252
  orchestrator = Workflow::Orchestrator.new(TestWF::MULT, "cpus" => 30, "IO" => 4, "size" => 10 )
261
- Log.with_severity 3 do
262
- orchestrator.process(rules, jobs)
263
- end
253
+ orchestrator.process(rules, jobs)
264
254
 
265
255
  jobs.each do |job|
266
256
  next unless job.task_name.to_s == 'd' || job.task_name.to_s == 'e'
data/test/test_helper.rb CHANGED
@@ -10,6 +10,7 @@ require 'rubygems'
10
10
 
11
11
  require 'rbbt'
12
12
  require 'rbbt/resource/path'
13
+ require 'rbbt/util/config'
13
14
 
14
15
 
15
16
  class TestServerLoaded < Exception; end
@@ -41,10 +42,33 @@ class Test::Unit::TestCase
41
42
  #end
42
43
  end
43
44
 
45
+ def config(*args)
46
+ Rbbt::Config.get *args
47
+ end
48
+
49
+ def keyword_test(key, &block)
50
+ test = config(:test, key)
51
+ if %w(true yes).include?(test.to_s.downcase)
52
+ block.call
53
+ else
54
+ Log.high "Not testing for #{key}"
55
+ end
56
+ end
57
+
58
+ def self.datadir_test
59
+ #Rbbt.root.test.data
60
+ Path.setup(File.join(File.dirname(__FILE__), 'data'))
61
+ end
62
+
44
63
  def self.datafile_test(file)
45
- Path.setup(File.join(File.dirname(__FILE__), 'data', file.to_s))
64
+ datadir_test[file.to_s]
46
65
  end
47
66
 
67
+ def datadir_test
68
+ Test::Unit::TestCase.datadir_test
69
+ end
70
+
71
+
48
72
  def datafile_test(file)
49
73
  Test::Unit::TestCase.datafile_test(file)
50
74
  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.42.0
4
+ version: 5.43.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Miguel Vazquez
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2024-02-23 00:00:00.000000000 Z
11
+ date: 2024-02-28 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rake
@@ -468,6 +468,7 @@ files:
468
468
  - test/rbbt/hpc/orchestrate/test_chains.rb
469
469
  - test/rbbt/hpc/orchestrate/test_rules.rb
470
470
  - test/rbbt/hpc/test_batch.rb
471
+ - test/rbbt/hpc/test_hpc_test_workflows.rb
471
472
  - test/rbbt/hpc/test_orchestrate.rb
472
473
  - test/rbbt/hpc/test_pbs.rb
473
474
  - test/rbbt/hpc/test_slurm.rb
@@ -489,7 +490,6 @@ files:
489
490
  - test/rbbt/test_association.rb
490
491
  - test/rbbt/test_entity.rb
491
492
  - test/rbbt/test_fix_width_table.rb
492
- - test/rbbt/test_hpc.rb
493
493
  - test/rbbt/test_knowledge_base.rb
494
494
  - test/rbbt/test_monitor.rb
495
495
  - test/rbbt/test_packed_index.rb
@@ -584,7 +584,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
584
584
  - !ruby/object:Gem::Version
585
585
  version: '0'
586
586
  requirements: []
587
- rubygems_version: 3.5.0.dev
587
+ rubygems_version: 3.5.6
588
588
  signing_key:
589
589
  specification_version: 4
590
590
  summary: Utilities for the Ruby Bioinformatics Toolkit (rbbt)
@@ -600,6 +600,7 @@ test_files:
600
600
  - test/rbbt/hpc/orchestrate/test_chains.rb
601
601
  - test/rbbt/hpc/orchestrate/test_rules.rb
602
602
  - test/rbbt/hpc/test_batch.rb
603
+ - test/rbbt/hpc/test_hpc_test_workflows.rb
603
604
  - test/rbbt/hpc/test_orchestrate.rb
604
605
  - test/rbbt/hpc/test_pbs.rb
605
606
  - test/rbbt/hpc/test_slurm.rb
@@ -621,7 +622,6 @@ test_files:
621
622
  - test/rbbt/test_association.rb
622
623
  - test/rbbt/test_entity.rb
623
624
  - test/rbbt/test_fix_width_table.rb
624
- - test/rbbt/test_hpc.rb
625
625
  - test/rbbt/test_knowledge_base.rb
626
626
  - test/rbbt/test_monitor.rb
627
627
  - test/rbbt/test_packed_index.rb
@@ -1,16 +0,0 @@
1
- require File.join(File.expand_path(File.dirname(__FILE__)), '..', 'test_helper.rb')
2
- require 'rbbt/hpc'
3
- require 'rbbt/workflow'
4
-
5
-
6
- class TestHPC < Test::Unit::TestCase
7
- def test_relay
8
-
9
- Log.severity = 0
10
- Workflow.require_workflow "Translation"
11
- job = Translation.job(:translate, nil, :genes => %w(TP53 KRAS))
12
- Marenostrum.relay job
13
-
14
- end
15
- end
16
-