rbbt-util 5.42.0 → 5.43.0

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