rbbt-util 5.42.0 → 5.44.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (143) 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 +14 -4
  6. data/lib/rbbt/entity.rb +6 -5
  7. data/lib/rbbt/hpc/batch.rb +19 -17
  8. data/lib/rbbt/hpc/orchestrate/batches.rb +1 -1
  9. data/lib/rbbt/hpc/orchestrate/chains.rb +3 -4
  10. data/lib/rbbt/knowledge_base/traverse.rb +24 -16
  11. data/lib/rbbt/persist/tsv/tokyocabinet.rb +1 -1
  12. data/lib/rbbt/resource/path.rb +7 -2
  13. data/lib/rbbt/resource.rb +1 -1
  14. data/lib/rbbt/tsv/accessor.rb +6 -11
  15. data/lib/rbbt/tsv/dumper.rb +21 -10
  16. data/lib/rbbt/tsv/index.rb +2 -1
  17. data/lib/rbbt/tsv/parallel/traverse.rb +44 -0
  18. data/lib/rbbt/tsv/parser.rb +7 -6
  19. data/lib/rbbt/tsv/serializers.rb +1 -1
  20. data/lib/rbbt/tsv/util.rb +12 -0
  21. data/lib/rbbt/util/log/progress.rb +1 -1
  22. data/lib/rbbt/util/misc/bgzf.rb +5 -4
  23. data/lib/rbbt/util/misc/development.rb +4 -4
  24. data/lib/rbbt/util/misc/math.rb +0 -1
  25. data/lib/rbbt/util/misc.rb +1 -1
  26. data/lib/rbbt/util/open.rb +1 -1
  27. data/lib/rbbt/workflow/remote_workflow/driver/rest.rb +8 -3
  28. data/lib/rbbt/workflow/remote_workflow/remote_step.rb +4 -0
  29. data/lib/rbbt/workflow/step/info.rb +1 -0
  30. data/lib/rbbt/workflow/step.rb +2 -1
  31. data/lib/rbbt/workflow/util/trace.rb +2 -2
  32. data/lib/rbbt/workflow.rb +2 -2
  33. data/python/rbbt/__init__.py +2 -2
  34. data/share/rbbt_commands/workflow/task +1 -1
  35. metadata +4 -220
  36. data/test/rbbt/annotations/test_util.rb +0 -43
  37. data/test/rbbt/association/test_database.rb +0 -89
  38. data/test/rbbt/association/test_index.rb +0 -127
  39. data/test/rbbt/association/test_item.rb +0 -15
  40. data/test/rbbt/association/test_open.rb +0 -63
  41. data/test/rbbt/association/test_util.rb +0 -108
  42. data/test/rbbt/entity/test_identifiers.rb +0 -74
  43. data/test/rbbt/hpc/orchestrate/test_batches.rb +0 -113
  44. data/test/rbbt/hpc/orchestrate/test_chains.rb +0 -139
  45. data/test/rbbt/hpc/orchestrate/test_rules.rb +0 -92
  46. data/test/rbbt/hpc/test_batch.rb +0 -68
  47. data/test/rbbt/hpc/test_orchestrate.rb +0 -144
  48. data/test/rbbt/hpc/test_pbs.rb +0 -43
  49. data/test/rbbt/hpc/test_slurm.rb +0 -32
  50. data/test/rbbt/knowledge_base/test_enrichment.rb +0 -48
  51. data/test/rbbt/knowledge_base/test_entity.rb +0 -42
  52. data/test/rbbt/knowledge_base/test_query.rb +0 -46
  53. data/test/rbbt/knowledge_base/test_registry.rb +0 -81
  54. data/test/rbbt/knowledge_base/test_syndicate.rb +0 -48
  55. data/test/rbbt/knowledge_base/test_traverse.rb +0 -85
  56. data/test/rbbt/persist/test_tsv.rb +0 -88
  57. data/test/rbbt/persist/tsv/test_cdb.rb +0 -18
  58. data/test/rbbt/persist/tsv/test_kyotocabinet.rb +0 -27
  59. data/test/rbbt/persist/tsv/test_leveldb.rb +0 -18
  60. data/test/rbbt/persist/tsv/test_lmdb.rb +0 -18
  61. data/test/rbbt/persist/tsv/test_sharder.rb +0 -164
  62. data/test/rbbt/persist/tsv/test_tokyocabinet.rb +0 -262
  63. data/test/rbbt/resource/test_path.rb +0 -49
  64. data/test/rbbt/test_annotations.rb +0 -167
  65. data/test/rbbt/test_association.rb +0 -103
  66. data/test/rbbt/test_entity.rb +0 -249
  67. data/test/rbbt/test_fix_width_table.rb +0 -135
  68. data/test/rbbt/test_hpc.rb +0 -16
  69. data/test/rbbt/test_knowledge_base.rb +0 -149
  70. data/test/rbbt/test_monitor.rb +0 -11
  71. data/test/rbbt/test_packed_index.rb +0 -68
  72. data/test/rbbt/test_persist.rb +0 -85
  73. data/test/rbbt/test_resource.rb +0 -110
  74. data/test/rbbt/test_tsv.rb +0 -669
  75. data/test/rbbt/test_workflow.rb +0 -604
  76. data/test/rbbt/tsv/parallel/test_through.rb +0 -40
  77. data/test/rbbt/tsv/parallel/test_traverse.rb +0 -456
  78. data/test/rbbt/tsv/test_accessor.rb +0 -315
  79. data/test/rbbt/tsv/test_attach.rb +0 -718
  80. data/test/rbbt/tsv/test_change_id.rb +0 -61
  81. data/test/rbbt/tsv/test_csv.rb +0 -49
  82. data/test/rbbt/tsv/test_excel.rb +0 -171
  83. data/test/rbbt/tsv/test_field_index.rb +0 -19
  84. data/test/rbbt/tsv/test_filter.rb +0 -187
  85. data/test/rbbt/tsv/test_index.rb +0 -302
  86. data/test/rbbt/tsv/test_manipulate.rb +0 -337
  87. data/test/rbbt/tsv/test_marshal.rb +0 -24
  88. data/test/rbbt/tsv/test_matrix.rb +0 -20
  89. data/test/rbbt/tsv/test_parallel.rb +0 -7
  90. data/test/rbbt/tsv/test_parser.rb +0 -101
  91. data/test/rbbt/tsv/test_stream.rb +0 -253
  92. data/test/rbbt/tsv/test_util.rb +0 -52
  93. data/test/rbbt/util/R/test_eval.rb +0 -43
  94. data/test/rbbt/util/R/test_model.rb +0 -130
  95. data/test/rbbt/util/R/test_plot.rb +0 -38
  96. data/test/rbbt/util/concurrency/processes/test_socket.rb +0 -70
  97. data/test/rbbt/util/concurrency/test_processes.rb +0 -192
  98. data/test/rbbt/util/concurrency/test_threads.rb +0 -40
  99. data/test/rbbt/util/log/test_progress.rb +0 -111
  100. data/test/rbbt/util/misc/test_bgzf.rb +0 -48
  101. data/test/rbbt/util/misc/test_communication.rb +0 -11
  102. data/test/rbbt/util/misc/test_development.rb +0 -26
  103. data/test/rbbt/util/misc/test_format.rb +0 -10
  104. data/test/rbbt/util/misc/test_indiferent_hash.rb +0 -14
  105. data/test/rbbt/util/misc/test_lock.rb +0 -77
  106. data/test/rbbt/util/misc/test_multipart_payload.rb +0 -202
  107. data/test/rbbt/util/misc/test_omics.rb +0 -116
  108. data/test/rbbt/util/misc/test_pipes.rb +0 -343
  109. data/test/rbbt/util/misc/test_serialize.rb +0 -24
  110. data/test/rbbt/util/python/test_util.rb +0 -25
  111. data/test/rbbt/util/simpleopt/test_get.rb +0 -12
  112. data/test/rbbt/util/simpleopt/test_parse.rb +0 -10
  113. data/test/rbbt/util/simpleopt/test_setup.rb +0 -76
  114. data/test/rbbt/util/test_R.rb +0 -37
  115. data/test/rbbt/util/test_chain_methods.rb +0 -22
  116. data/test/rbbt/util/test_cmd.rb +0 -87
  117. data/test/rbbt/util/test_colorize.rb +0 -22
  118. data/test/rbbt/util/test_concurrency.rb +0 -6
  119. data/test/rbbt/util/test_config.rb +0 -69
  120. data/test/rbbt/util/test_excel2tsv.rb +0 -10
  121. data/test/rbbt/util/test_filecache.rb +0 -36
  122. data/test/rbbt/util/test_log.rb +0 -52
  123. data/test/rbbt/util/test_migrate.rb +0 -36
  124. data/test/rbbt/util/test_misc.rb +0 -723
  125. data/test/rbbt/util/test_open.rb +0 -200
  126. data/test/rbbt/util/test_procpath.rb +0 -23
  127. data/test/rbbt/util/test_python.rb +0 -140
  128. data/test/rbbt/util/test_semaphore.rb +0 -36
  129. data/test/rbbt/util/test_simpleDSL.rb +0 -55
  130. data/test/rbbt/util/test_simpleopt.rb +0 -11
  131. data/test/rbbt/util/test_ssh.rb +0 -10
  132. data/test/rbbt/util/test_tmpfile.rb +0 -32
  133. data/test/rbbt/workflow/step/test_dependencies.rb +0 -299
  134. data/test/rbbt/workflow/step/test_save_load_inputs.rb +0 -136
  135. data/test/rbbt/workflow/test_doc.rb +0 -30
  136. data/test/rbbt/workflow/test_remote_workflow.rb +0 -98
  137. data/test/rbbt/workflow/test_schedule.rb +0 -0
  138. data/test/rbbt/workflow/test_step.rb +0 -231
  139. data/test/rbbt/workflow/test_task.rb +0 -85
  140. data/test/rbbt/workflow/util/test_archive.rb +0 -31
  141. data/test/rbbt/workflow/util/test_data.rb +0 -67
  142. data/test/rbbt/workflow/util/test_orchestrator.rb +0 -273
  143. data/test/test_helper.rb +0 -90
@@ -20,10 +20,15 @@ class RemoteWorkflow
20
20
 
21
21
  def self.escape_url(url)
22
22
  base, _sep, query = url.partition("?")
23
- protocol, path = base.split("://")
24
- path = protocol if path.nil?
23
+ protocol, _sep, host_and_path = base.partition("://")
24
+ host_and_path = protocol if host_and_path.nil?
25
+
26
+ host, _sep, path = host_and_path.partition("/")
27
+
25
28
  path = path.split("/").collect{|p| CGI.escape(p) }* "/"
26
- base = protocol ? [protocol, path] * "://" : path
29
+
30
+ host_and_path = [host, path] * "/"
31
+ base = protocol ? [protocol, host_and_path] * "://" : host_and_path
27
32
 
28
33
  if query && ! query.empty?
29
34
  query = query.split("&").collect{|e| e.split("=").collect{|pe| CGI.escape(pe) } * "=" } * "&"
@@ -354,6 +354,10 @@ class RemoteStep < Step
354
354
  i = {:status => :waiting, :pid => Process.pid, :path => path}
355
355
  i[:dependencies] = dependencies.collect{|dep| [dep.task_name, dep.name, dep.path]} if dependencies
356
356
  end
357
+
358
+ def inspect
359
+ "RemoteWorkflow #{self.path}"
360
+ end
357
361
  end
358
362
 
359
363
  require 'rbbt/workflow/remote_workflow/remote_step/rest'
@@ -62,6 +62,7 @@ class Step
62
62
  def load_dependencies_from_info
63
63
  relocated = nil
64
64
  @dependencies = (self.info[:dependencies] || []).collect do |task,name,dep_path|
65
+ dep_path = task if dep_path.nil?
65
66
  if Open.exists?(dep_path) || Open.exists?(dep_path + '.info')
66
67
  Workflow._load_step dep_path
67
68
  else
@@ -303,7 +303,8 @@ class Step
303
303
 
304
304
  if result_description
305
305
  entity_info = info.dup
306
- entity_info.merge! info[:inputs] if info[:inputs]
306
+ # Also load entity_info in rbbt6
307
+ entity_info.merge! info[:inputs] if Hash === info[:inputs]
307
308
  res = prepare_result res, result_description, entity_info
308
309
  end
309
310
 
@@ -158,11 +158,11 @@ rbbt.png_plot('#{plot}', 'plot(timeline)', width=#{width}, height=#{height}, poi
158
158
  info[key] = dep_info[key]
159
159
  end
160
160
 
161
- dep.info[:config_keys].select do |kinfo|
161
+ dep.info[:config_keys].each do |kinfo|
162
162
  key, value, tokens = kinfo
163
163
 
164
164
  info[key.to_s] = value if report_keys.include? key.to_s
165
- end
165
+ end if dep.info[:config_keys]
166
166
  end
167
167
 
168
168
  summary = TSV.setup({}, "Task~Calls,Avg. Time,Total Time#:type=:list")
data/lib/rbbt/workflow.rb CHANGED
@@ -496,7 +496,7 @@ module Workflow
496
496
  end
497
497
 
498
498
  #overriden = true if dependencies.select{|d| d.overriden && d.clean_name != d.name }.any?
499
- overriden = true if not_overriden && dependencies.select{|d| Symbol === d.overriden }.any?
499
+ overriden = true if ! not_overriden && dependencies.select{|d| Symbol === d.overriden }.any?
500
500
 
501
501
  input_values = task.take_input_values(inputs)
502
502
  if real_inputs.empty? && Workflow::TAG != :inputs && ! overriden #&& ! dependencies.select{|d| d.overriden && d.clean_name != d.name }.any?
@@ -507,7 +507,7 @@ module Workflow
507
507
 
508
508
  job = get_job_step step_path, task, input_values, dependencies
509
509
  job.workflow = self
510
- job.overriden ||= overriden
510
+ job.overriden = overriden if job.overriden.nil?
511
511
  job.clean_name = jobname
512
512
 
513
513
  #iif [job, not_overriden]
@@ -67,10 +67,10 @@ def tsv_preamble(line, comment_char="#"):
67
67
  return header
68
68
 
69
69
 
70
- def tsv_header(filename, sep="\t", comment_char="#"):
70
+ def tsv_header(filename, sep="\t", comment_char="#", encoding='utf8'):
71
71
  import re
72
72
 
73
- f = open(filename)
73
+ f = open(filename, encoding=encoding)
74
74
  line = f.readline().strip()
75
75
 
76
76
  if (not line.startswith(comment_char)):
@@ -484,7 +484,7 @@ begin
484
484
 
485
485
  if server = options.delete(:relay)
486
486
  require 'rbbt/workflow/remote_workflow'
487
- relay_dependencies = options.delete(:relay_dependencies).split(",")
487
+ relay_dependencies = options.delete(:relay_dependencies).split(",") if options[:relay_dependencies]
488
488
  produce_dependencies_for_relay = options.delete(:produce_dependencies_for_relay)
489
489
 
490
490
  jobs_to_relay = relay_dependencies ? match_dependencies(relay_dependencies, job.rec_dependencies) : [job]
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.44.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-05-28 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rake
@@ -457,114 +457,6 @@ files:
457
457
  - share/rbbt_commands/workflow/write_info
458
458
  - share/unicorn.rb
459
459
  - share/workflow_config.ru
460
- - test/rbbt/annotations/test_util.rb
461
- - test/rbbt/association/test_database.rb
462
- - test/rbbt/association/test_index.rb
463
- - test/rbbt/association/test_item.rb
464
- - test/rbbt/association/test_open.rb
465
- - test/rbbt/association/test_util.rb
466
- - test/rbbt/entity/test_identifiers.rb
467
- - test/rbbt/hpc/orchestrate/test_batches.rb
468
- - test/rbbt/hpc/orchestrate/test_chains.rb
469
- - test/rbbt/hpc/orchestrate/test_rules.rb
470
- - test/rbbt/hpc/test_batch.rb
471
- - test/rbbt/hpc/test_orchestrate.rb
472
- - test/rbbt/hpc/test_pbs.rb
473
- - test/rbbt/hpc/test_slurm.rb
474
- - test/rbbt/knowledge_base/test_enrichment.rb
475
- - test/rbbt/knowledge_base/test_entity.rb
476
- - test/rbbt/knowledge_base/test_query.rb
477
- - test/rbbt/knowledge_base/test_registry.rb
478
- - test/rbbt/knowledge_base/test_syndicate.rb
479
- - test/rbbt/knowledge_base/test_traverse.rb
480
- - test/rbbt/persist/test_tsv.rb
481
- - test/rbbt/persist/tsv/test_cdb.rb
482
- - test/rbbt/persist/tsv/test_kyotocabinet.rb
483
- - test/rbbt/persist/tsv/test_leveldb.rb
484
- - test/rbbt/persist/tsv/test_lmdb.rb
485
- - test/rbbt/persist/tsv/test_sharder.rb
486
- - test/rbbt/persist/tsv/test_tokyocabinet.rb
487
- - test/rbbt/resource/test_path.rb
488
- - test/rbbt/test_annotations.rb
489
- - test/rbbt/test_association.rb
490
- - test/rbbt/test_entity.rb
491
- - test/rbbt/test_fix_width_table.rb
492
- - test/rbbt/test_hpc.rb
493
- - test/rbbt/test_knowledge_base.rb
494
- - test/rbbt/test_monitor.rb
495
- - test/rbbt/test_packed_index.rb
496
- - test/rbbt/test_persist.rb
497
- - test/rbbt/test_resource.rb
498
- - test/rbbt/test_tsv.rb
499
- - test/rbbt/test_workflow.rb
500
- - test/rbbt/tsv/parallel/test_through.rb
501
- - test/rbbt/tsv/parallel/test_traverse.rb
502
- - test/rbbt/tsv/test_accessor.rb
503
- - test/rbbt/tsv/test_attach.rb
504
- - test/rbbt/tsv/test_change_id.rb
505
- - test/rbbt/tsv/test_csv.rb
506
- - test/rbbt/tsv/test_excel.rb
507
- - test/rbbt/tsv/test_field_index.rb
508
- - test/rbbt/tsv/test_filter.rb
509
- - test/rbbt/tsv/test_index.rb
510
- - test/rbbt/tsv/test_manipulate.rb
511
- - test/rbbt/tsv/test_marshal.rb
512
- - test/rbbt/tsv/test_matrix.rb
513
- - test/rbbt/tsv/test_parallel.rb
514
- - test/rbbt/tsv/test_parser.rb
515
- - test/rbbt/tsv/test_stream.rb
516
- - test/rbbt/tsv/test_util.rb
517
- - test/rbbt/util/R/test_eval.rb
518
- - test/rbbt/util/R/test_model.rb
519
- - test/rbbt/util/R/test_plot.rb
520
- - test/rbbt/util/concurrency/processes/test_socket.rb
521
- - test/rbbt/util/concurrency/test_processes.rb
522
- - test/rbbt/util/concurrency/test_threads.rb
523
- - test/rbbt/util/log/test_progress.rb
524
- - test/rbbt/util/misc/test_bgzf.rb
525
- - test/rbbt/util/misc/test_communication.rb
526
- - test/rbbt/util/misc/test_development.rb
527
- - test/rbbt/util/misc/test_format.rb
528
- - test/rbbt/util/misc/test_indiferent_hash.rb
529
- - test/rbbt/util/misc/test_lock.rb
530
- - test/rbbt/util/misc/test_multipart_payload.rb
531
- - test/rbbt/util/misc/test_omics.rb
532
- - test/rbbt/util/misc/test_pipes.rb
533
- - test/rbbt/util/misc/test_serialize.rb
534
- - test/rbbt/util/python/test_util.rb
535
- - test/rbbt/util/simpleopt/test_get.rb
536
- - test/rbbt/util/simpleopt/test_parse.rb
537
- - test/rbbt/util/simpleopt/test_setup.rb
538
- - test/rbbt/util/test_R.rb
539
- - test/rbbt/util/test_chain_methods.rb
540
- - test/rbbt/util/test_cmd.rb
541
- - test/rbbt/util/test_colorize.rb
542
- - test/rbbt/util/test_concurrency.rb
543
- - test/rbbt/util/test_config.rb
544
- - test/rbbt/util/test_excel2tsv.rb
545
- - test/rbbt/util/test_filecache.rb
546
- - test/rbbt/util/test_log.rb
547
- - test/rbbt/util/test_migrate.rb
548
- - test/rbbt/util/test_misc.rb
549
- - test/rbbt/util/test_open.rb
550
- - test/rbbt/util/test_procpath.rb
551
- - test/rbbt/util/test_python.rb
552
- - test/rbbt/util/test_semaphore.rb
553
- - test/rbbt/util/test_simpleDSL.rb
554
- - test/rbbt/util/test_simpleopt.rb
555
- - test/rbbt/util/test_ssh.rb
556
- - test/rbbt/util/test_tmpfile.rb
557
- - test/rbbt/workflow/step/test_dependencies.rb
558
- - test/rbbt/workflow/step/test_save_load_inputs.rb
559
- - test/rbbt/workflow/test_doc.rb
560
- - test/rbbt/workflow/test_remote_workflow.rb
561
- - test/rbbt/workflow/test_schedule.rb
562
- - test/rbbt/workflow/test_step.rb
563
- - test/rbbt/workflow/test_task.rb
564
- - test/rbbt/workflow/util/test_archive.rb
565
- - test/rbbt/workflow/util/test_data.rb
566
- - test/rbbt/workflow/util/test_orchestrator.rb
567
- - test/test_helper.rb
568
460
  homepage: http://github.com/mikisvaz/rbbt-util
569
461
  licenses:
570
462
  - MIT
@@ -584,116 +476,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
584
476
  - !ruby/object:Gem::Version
585
477
  version: '0'
586
478
  requirements: []
587
- rubygems_version: 3.5.0.dev
479
+ rubygems_version: 3.5.10
588
480
  signing_key:
589
481
  specification_version: 4
590
482
  summary: Utilities for the Ruby Bioinformatics Toolkit (rbbt)
591
- test_files:
592
- - test/rbbt/annotations/test_util.rb
593
- - test/rbbt/association/test_database.rb
594
- - test/rbbt/association/test_index.rb
595
- - test/rbbt/association/test_item.rb
596
- - test/rbbt/association/test_open.rb
597
- - test/rbbt/association/test_util.rb
598
- - test/rbbt/entity/test_identifiers.rb
599
- - test/rbbt/hpc/orchestrate/test_batches.rb
600
- - test/rbbt/hpc/orchestrate/test_chains.rb
601
- - test/rbbt/hpc/orchestrate/test_rules.rb
602
- - test/rbbt/hpc/test_batch.rb
603
- - test/rbbt/hpc/test_orchestrate.rb
604
- - test/rbbt/hpc/test_pbs.rb
605
- - test/rbbt/hpc/test_slurm.rb
606
- - test/rbbt/knowledge_base/test_enrichment.rb
607
- - test/rbbt/knowledge_base/test_entity.rb
608
- - test/rbbt/knowledge_base/test_query.rb
609
- - test/rbbt/knowledge_base/test_registry.rb
610
- - test/rbbt/knowledge_base/test_syndicate.rb
611
- - test/rbbt/knowledge_base/test_traverse.rb
612
- - test/rbbt/persist/test_tsv.rb
613
- - test/rbbt/persist/tsv/test_cdb.rb
614
- - test/rbbt/persist/tsv/test_kyotocabinet.rb
615
- - test/rbbt/persist/tsv/test_leveldb.rb
616
- - test/rbbt/persist/tsv/test_lmdb.rb
617
- - test/rbbt/persist/tsv/test_sharder.rb
618
- - test/rbbt/persist/tsv/test_tokyocabinet.rb
619
- - test/rbbt/resource/test_path.rb
620
- - test/rbbt/test_annotations.rb
621
- - test/rbbt/test_association.rb
622
- - test/rbbt/test_entity.rb
623
- - test/rbbt/test_fix_width_table.rb
624
- - test/rbbt/test_hpc.rb
625
- - test/rbbt/test_knowledge_base.rb
626
- - test/rbbt/test_monitor.rb
627
- - test/rbbt/test_packed_index.rb
628
- - test/rbbt/test_persist.rb
629
- - test/rbbt/test_resource.rb
630
- - test/rbbt/test_tsv.rb
631
- - test/rbbt/test_workflow.rb
632
- - test/rbbt/tsv/parallel/test_through.rb
633
- - test/rbbt/tsv/parallel/test_traverse.rb
634
- - test/rbbt/tsv/test_accessor.rb
635
- - test/rbbt/tsv/test_attach.rb
636
- - test/rbbt/tsv/test_change_id.rb
637
- - test/rbbt/tsv/test_csv.rb
638
- - test/rbbt/tsv/test_excel.rb
639
- - test/rbbt/tsv/test_field_index.rb
640
- - test/rbbt/tsv/test_filter.rb
641
- - test/rbbt/tsv/test_index.rb
642
- - test/rbbt/tsv/test_manipulate.rb
643
- - test/rbbt/tsv/test_marshal.rb
644
- - test/rbbt/tsv/test_matrix.rb
645
- - test/rbbt/tsv/test_parallel.rb
646
- - test/rbbt/tsv/test_parser.rb
647
- - test/rbbt/tsv/test_stream.rb
648
- - test/rbbt/tsv/test_util.rb
649
- - test/rbbt/util/R/test_eval.rb
650
- - test/rbbt/util/R/test_model.rb
651
- - test/rbbt/util/R/test_plot.rb
652
- - test/rbbt/util/concurrency/processes/test_socket.rb
653
- - test/rbbt/util/concurrency/test_processes.rb
654
- - test/rbbt/util/concurrency/test_threads.rb
655
- - test/rbbt/util/log/test_progress.rb
656
- - test/rbbt/util/misc/test_bgzf.rb
657
- - test/rbbt/util/misc/test_communication.rb
658
- - test/rbbt/util/misc/test_development.rb
659
- - test/rbbt/util/misc/test_format.rb
660
- - test/rbbt/util/misc/test_indiferent_hash.rb
661
- - test/rbbt/util/misc/test_lock.rb
662
- - test/rbbt/util/misc/test_multipart_payload.rb
663
- - test/rbbt/util/misc/test_omics.rb
664
- - test/rbbt/util/misc/test_pipes.rb
665
- - test/rbbt/util/misc/test_serialize.rb
666
- - test/rbbt/util/python/test_util.rb
667
- - test/rbbt/util/simpleopt/test_get.rb
668
- - test/rbbt/util/simpleopt/test_parse.rb
669
- - test/rbbt/util/simpleopt/test_setup.rb
670
- - test/rbbt/util/test_R.rb
671
- - test/rbbt/util/test_chain_methods.rb
672
- - test/rbbt/util/test_cmd.rb
673
- - test/rbbt/util/test_colorize.rb
674
- - test/rbbt/util/test_concurrency.rb
675
- - test/rbbt/util/test_config.rb
676
- - test/rbbt/util/test_excel2tsv.rb
677
- - test/rbbt/util/test_filecache.rb
678
- - test/rbbt/util/test_log.rb
679
- - test/rbbt/util/test_migrate.rb
680
- - test/rbbt/util/test_misc.rb
681
- - test/rbbt/util/test_open.rb
682
- - test/rbbt/util/test_procpath.rb
683
- - test/rbbt/util/test_python.rb
684
- - test/rbbt/util/test_semaphore.rb
685
- - test/rbbt/util/test_simpleDSL.rb
686
- - test/rbbt/util/test_simpleopt.rb
687
- - test/rbbt/util/test_ssh.rb
688
- - test/rbbt/util/test_tmpfile.rb
689
- - test/rbbt/workflow/step/test_dependencies.rb
690
- - test/rbbt/workflow/step/test_save_load_inputs.rb
691
- - test/rbbt/workflow/test_doc.rb
692
- - test/rbbt/workflow/test_remote_workflow.rb
693
- - test/rbbt/workflow/test_schedule.rb
694
- - test/rbbt/workflow/test_step.rb
695
- - test/rbbt/workflow/test_task.rb
696
- - test/rbbt/workflow/util/test_archive.rb
697
- - test/rbbt/workflow/util/test_data.rb
698
- - test/rbbt/workflow/util/test_orchestrator.rb
699
- - test/test_helper.rb
483
+ test_files: []
@@ -1,43 +0,0 @@
1
- require File.join(File.expand_path(File.dirname(__FILE__)), '../..', 'test_helper.rb')
2
- require 'rbbt/annotations'
3
-
4
- module TestEntityString
5
- extend Entity
6
- self.annotation :code
7
- end
8
-
9
- class TestAnnotation < Test::Unit::TestCase
10
- def test_marshal
11
- a = "STRING"
12
- a = TestEntityString.setup(a)
13
-
14
- #assert !(Annotated === Marshal.load(Marshal.dump(a)))
15
- assert_equal a, Marshal.load(Marshal.dump(a))
16
- end
17
-
18
- def test_marshal_array
19
- a = ["STRING"]
20
- TestEntityString.setup(a)
21
-
22
- #assert !(Annotated === Marshal.load(Marshal.dump(a)))
23
- assert Annotated === a
24
- assert Annotated === a.first
25
- assert_equal a, Marshal.load(Marshal.dump(a))
26
- end
27
-
28
- def test_hash
29
- e = TestEntityString.setup("TEST", :code => 10)
30
- assert_equal "TEST", Annotated.to_hash(e)[:literal]
31
- assert_equal 10, Annotated.to_hash(e)[:info][:code]
32
- end
33
-
34
- def test_traverse_cpus
35
- strings = (1..10).to_a.collect{|n| n.to_s }
36
- res = TSV.traverse strings, :cpus => 2, :into => [] do |s|
37
- TestEntityString.setup(s, :code => s.to_i)
38
- end
39
-
40
- assert TestEntityString === res.first
41
- end
42
- end
43
-
@@ -1,89 +0,0 @@
1
- require File.expand_path(File.dirname(__FILE__) + '/../../test_helper')
2
- require 'rbbt-util'
3
- require 'rbbt/association'
4
- require 'rbbt/association'
5
- require 'rbbt/association/database'
6
-
7
- class TestAssociationDatabase < Test::Unit::TestCase
8
-
9
- def effect_options
10
- effect_options = {
11
- :source => "SG=~Associated Gene Name",
12
- :target => "TG=~Associated Gene Name=>Ensembl Gene ID",
13
- :persist => false,
14
- :identifiers => datafile_test('identifiers'),
15
- }
16
- end
17
-
18
- def effect_tsv
19
- effect =<<-END
20
- #: :sep=" "#:type=:double
21
- #SG TG Effect directed?
22
- MDM2 TP53 inhibition false
23
- TP53 NFKB1|GLI1 activation|activation true|true
24
- END
25
-
26
-
27
- effect_tsv = TSV.open effect, effect_options.dup
28
- end
29
-
30
- def effect_database
31
- effect_database = Association.database(effect_tsv)
32
- end
33
-
34
- def test_tsv
35
- assert_equal %w(NFKB1 GLI1), effect_tsv["TP53"]["TG"]
36
- end
37
-
38
-
39
- def test_open_new_tsv
40
- tsv = Association.database effect_tsv, :fields => ["Effect"], :target => "TG=~Associated Gene Name=>Ensembl Gene ID"
41
- assert_equal ["Ensembl Gene ID", "Effect"], tsv.fields
42
- assert_equal "SG", tsv.key_field
43
- assert tsv.include? "MDM2"
44
- end
45
-
46
- def test_open_new_tsv_reverse
47
- tsv = Association.database effect_tsv, :fields => ["Effect"], :target => "SG=~Associated Gene Name=>Ensembl Gene ID", :zipped => true
48
- assert_equal ["Ensembl Gene ID", "Effect"], tsv.fields
49
- assert_equal "TG", tsv.key_field
50
- assert tsv.include? "NFKB1"
51
- end
52
-
53
- def test_database_translate
54
- database = Association.database(effect_tsv, effect_options.merge({:source => "SG=~Associated Gene Name=>Ensembl Gene ID", :target => "TG"}))
55
- assert_equal %w(inhibition), database["ENSG00000135679"]["Effect"]
56
- assert_equal %w(activation activation), database["ENSG00000141510"]["Effect"]
57
- end
58
-
59
- def test_database
60
- assert_equal %w(inhibition), effect_database["MDM2"]["Effect"]
61
- assert_equal %w(activation activation), effect_database["TP53"]["Effect"]
62
- end
63
-
64
- def test_index_list
65
- file = datafile_test('gene_ages')
66
- tsv = Association.database(file)
67
- assert_equal [["Bilateria"], ["Euteleostomi"], ["Duplicate"]], tsv["ENSG00000000003"]
68
- end
69
-
70
- def test_gene_ages
71
- file = datafile_test('gene_ages')
72
- assert Association.database(file, :source => "FamilyAge", :merge => true, :target => "Ensembl Gene ID", :persist => false).values.first.length > 1
73
- end
74
-
75
- def __test_reorder_multiple_mismatch
76
-
77
- text =<<-EOF
78
- #: :filename=BLADDER_11_and_12#:namespace=Hsa/feb2014#:type=:double
79
- #Genomic Mutation Ensembl Gene ID affected damaged splicing broken Sample
80
- 12:54423561:A ENSG00000273049|ENSG00000197757|ENSG00000198353|ENSG00000273046 false|true|false|false false|true|false|false false|false|false|false false|true|false|false 51106212
81
- EOF
82
-
83
- tsv = TSV.open(StringIO.new(text))
84
-
85
- index = Association.index(tsv, :source => "Sample", :target => "Genomic Mutation", :merge => true, :persist_update => true)
86
- assert_equal 4, index["51106212~12:54423561:A"][0].split(";;").length
87
-
88
- end
89
- end
@@ -1,127 +0,0 @@
1
- require File.expand_path(File.dirname(__FILE__) + '/../../test_helper')
2
- require 'rbbt/util/misc'
3
- require 'rbbt/association'
4
- require 'rbbt/association/index'
5
-
6
- class TestAssociationIndex < Test::Unit::TestCase
7
-
8
- EFFECT =<<-END
9
- #: :sep=" "#:type=:double
10
- #SG TG Effect directed?
11
- MDM2 TP53 inhibition false
12
- TP53 NFKB1|GLI1 activation|activation true|true
13
- END
14
-
15
- EFFECT_OPTIONS = {
16
- :source => "SG=~Associated Gene Name",
17
- :target => "TG=~Associated Gene Name=>Ensembl Gene ID",
18
- :persist => false,
19
- :identifiers => datafile_test('identifiers'),
20
- :namespace => "Hsa"
21
- }
22
-
23
- EFFECT_TSV = TSV.open EFFECT, EFFECT_OPTIONS.dup
24
-
25
- def test_index_no_persist_string
26
- tsv = Association.index(EFFECT, EFFECT_OPTIONS.merge(:source => "TG", :target => "SG=~Associated Gene Name"), :persist => false)
27
- tsv.unnamed = false
28
- assert_equal "inhibition", tsv["TP53~MDM2"]["Effect"]
29
- end
30
-
31
- def test_index_no_persist_string_undirected
32
- tsv = Association.index(EFFECT, EFFECT_OPTIONS.merge(:undirected => true, :source => "TG", :target => "SG=~Associated Gene Name"), :persist => false)
33
- tsv.unnamed = false
34
- assert_equal "inhibition", tsv["TP53~MDM2"]["Effect"]
35
- end
36
-
37
- def test_index_persist_string
38
- tsv = Association.index(EFFECT, EFFECT_OPTIONS.merge(:source => "SG", :target => "TG=~Associated Gene Name"), :persist => true, :update => true)
39
- tsv.unnamed = false
40
- assert_equal "inhibition", tsv["MDM2~TP53"]["Effect"]
41
- assert_equal %w(TP53~NFKB1 TP53~GLI1).sort, tsv.match("TP53").sort
42
- end
43
-
44
- def test_index_persist_reverse
45
- tsv = Association.index(EFFECT, EFFECT_OPTIONS.merge(:source => "TG", :target => "SG=~Associated Gene Name"), :persist => true, :update => true).reverse
46
- tsv.unnamed = false
47
- assert_equal "inhibition", tsv["MDM2~TP53"]["Effect"]
48
- assert_equal %w(MDM2~TP53), tsv.match("MDM2")
49
- end
50
-
51
- def test_index_persist_undirected
52
- tsv = Association.index(EFFECT, EFFECT_OPTIONS.merge(:undirected => true, :source => "TG=~Associated Gene Name", :target => "SG=~Associated Gene Name"), :persist => true)
53
- tsv.unnamed = false
54
- assert_equal "inhibition", tsv["MDM2~TP53"]["Effect"]
55
- assert_equal "inhibition", tsv["TP53~MDM2"]["Effect"]
56
- assert_equal %w(MDM2~TP53), tsv.match("MDM2")
57
- end
58
-
59
- def test_index_persist_directed_subset
60
- tsv = Association.index(EFFECT, EFFECT_OPTIONS.merge(:undirected => true, :source => "TG=~Associated Gene Name", :target => "SG=~Associated Gene Name"), :persist => true)
61
- tsv.unnamed = false
62
- assert_equal %w(TP53~GLI1 TP53~MDM2).sort, tsv.subset(["TP53"], ["GLI1","MDM2"]).sort
63
- assert_equal %w(MDM2~TP53).sort, tsv.subset(["MDM2"], :all).sort
64
- assert_equal %w(GLI1~TP53).sort, tsv.subset(["GLI1"], :all).sort
65
- assert_equal %w(TP53~GLI1).sort, tsv.subset(:all, ["GLI1"]).sort
66
- end
67
-
68
- def test_index_persist_undirected_subset
69
- tsv = Association.index(EFFECT, EFFECT_OPTIONS.merge(:undirected => false, :source => "SG=~Associated Gene Name", :target => "TG=~Associated Gene Name"), :persist => true)
70
- tsv.unnamed = false
71
- assert_equal %w(TP53~GLI1 TP53~NFKB1).sort, tsv.subset(["TP53"], ["GLI1","MDM2", "NFKB1"]).sort
72
- end
73
-
74
- def test_index_flat
75
- require 'rbbt/sources/tfacts'
76
- file = TFactS.regulators
77
- tsv = Association.index(file, :type => :flat, :source => "Transcription Factor Associated Gene Name=~Associated Gene Name", :merge => true)
78
- assert tsv.match("TP53").length > 10
79
- end
80
-
81
- def test_index_flat_to_matrix
82
- require 'rbbt/sources/tfacts'
83
- file = TFactS.regulators
84
- tsv = Association.index(file, :type => :flat, :source => "Transcription Factor Associated Gene Name=~Associated Gene Name", :merge => true)
85
- assert(tsv.to_matrix(false))
86
- end
87
-
88
- def test_filter_no_block
89
- require 'rbbt/sources/tfacts'
90
- file = TFactS.regulators
91
- tsv = Association.index(EFFECT, EFFECT_OPTIONS.merge(:undirected => false, :source => "SG=~Associated Gene Name", :target => "TG=~Associated Gene Name"), :persist => true)
92
- tsv.unnamed = false
93
- matches = tsv.filter :directed?
94
- assert_equal 2, matches.length
95
- end
96
-
97
- def test_filter_no_block_value
98
- require 'rbbt/sources/tfacts'
99
- file = TFactS.regulators
100
- tsv = Association.index(EFFECT, EFFECT_OPTIONS.merge(:undirected => false, :source => "SG=~Associated Gene Name", :target => "TG=~Associated Gene Name"), :persist => true)
101
- tsv.unnamed = false
102
- matches = tsv.filter :Effect, "inhibition"
103
- assert_equal ["MDM2~TP53"], matches
104
- end
105
-
106
- def test_filter_block_value_field
107
- require 'rbbt/sources/tfacts'
108
- file = TFactS.regulators
109
- tsv = Association.index(EFFECT, EFFECT_OPTIONS.merge(:undirected => false, :source => "SG=~Associated Gene Name", :target => "TG=~Associated Gene Name"), :persist => true)
110
- tsv.unnamed = false
111
- matches = tsv.filter :Effect do |value|
112
- return value.include? "inhibition"
113
- end
114
- assert_equal ["MDM2~TP53"], matches
115
- end
116
-
117
- def test_filter_block_no_value_field
118
- require 'rbbt/sources/tfacts'
119
- file = TFactS.regulators
120
- tsv = Association.index(EFFECT, EFFECT_OPTIONS.merge(:undirected => false, :source => "SG=~Associated Gene Name", :target => "TG=~Associated Gene Name"), :persist => true)
121
- tsv.unnamed = false
122
- matches = tsv.filter do |key,values|
123
- return values.flatten.include? "inhibition"
124
- end
125
- assert_equal ["MDM2~TP53"], matches
126
- end
127
- end
@@ -1,15 +0,0 @@
1
- $LOAD_PATH.unshift(File.join(File.dirname(__FILE__), '../../..', 'lib'))
2
- $LOAD_PATH.unshift(File.dirname(__FILE__))
3
- require 'test/unit'
4
- require 'rbbt/tsv'
5
- require 'rbbt/association/item'
6
-
7
- class TestAssociationItem < Test::Unit::TestCase
8
- def test_incidence
9
- pairs = [[:A, :a], [:B, :b]].collect{|p| "#{p.first.to_s}~#{p.last.to_s}"}
10
- assert TSV === AssociationItem.incidence(pairs)
11
- assert_equal 2, AssociationItem.incidence(pairs).length
12
- assert_equal 2, AssociationItem.incidence(pairs).fields.length
13
- end
14
- end
15
-