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.
- checksums.yaml +4 -4
- data/lib/rbbt/annotations/util.rb +1 -1
- data/lib/rbbt/association/database.rb +2 -1
- data/lib/rbbt/association/index.rb +1 -0
- data/lib/rbbt/association/util.rb +14 -4
- data/lib/rbbt/entity.rb +6 -5
- data/lib/rbbt/hpc/batch.rb +19 -17
- data/lib/rbbt/hpc/orchestrate/batches.rb +1 -1
- data/lib/rbbt/hpc/orchestrate/chains.rb +3 -4
- data/lib/rbbt/knowledge_base/traverse.rb +24 -16
- data/lib/rbbt/persist/tsv/tokyocabinet.rb +1 -1
- data/lib/rbbt/resource/path.rb +7 -2
- data/lib/rbbt/resource.rb +1 -1
- data/lib/rbbt/tsv/accessor.rb +6 -11
- data/lib/rbbt/tsv/dumper.rb +21 -10
- data/lib/rbbt/tsv/index.rb +2 -1
- data/lib/rbbt/tsv/parallel/traverse.rb +44 -0
- data/lib/rbbt/tsv/parser.rb +7 -6
- data/lib/rbbt/tsv/serializers.rb +1 -1
- data/lib/rbbt/tsv/util.rb +12 -0
- data/lib/rbbt/util/log/progress.rb +1 -1
- data/lib/rbbt/util/misc/bgzf.rb +5 -4
- data/lib/rbbt/util/misc/development.rb +4 -4
- data/lib/rbbt/util/misc/math.rb +0 -1
- data/lib/rbbt/util/misc.rb +1 -1
- data/lib/rbbt/util/open.rb +1 -1
- data/lib/rbbt/workflow/remote_workflow/driver/rest.rb +8 -3
- data/lib/rbbt/workflow/remote_workflow/remote_step.rb +4 -0
- data/lib/rbbt/workflow/step/info.rb +1 -0
- data/lib/rbbt/workflow/step.rb +2 -1
- data/lib/rbbt/workflow/util/trace.rb +2 -2
- data/lib/rbbt/workflow.rb +2 -2
- data/python/rbbt/__init__.py +2 -2
- data/share/rbbt_commands/workflow/task +1 -1
- metadata +4 -220
- data/test/rbbt/annotations/test_util.rb +0 -43
- data/test/rbbt/association/test_database.rb +0 -89
- data/test/rbbt/association/test_index.rb +0 -127
- data/test/rbbt/association/test_item.rb +0 -15
- data/test/rbbt/association/test_open.rb +0 -63
- data/test/rbbt/association/test_util.rb +0 -108
- data/test/rbbt/entity/test_identifiers.rb +0 -74
- data/test/rbbt/hpc/orchestrate/test_batches.rb +0 -113
- data/test/rbbt/hpc/orchestrate/test_chains.rb +0 -139
- data/test/rbbt/hpc/orchestrate/test_rules.rb +0 -92
- data/test/rbbt/hpc/test_batch.rb +0 -68
- data/test/rbbt/hpc/test_orchestrate.rb +0 -144
- data/test/rbbt/hpc/test_pbs.rb +0 -43
- data/test/rbbt/hpc/test_slurm.rb +0 -32
- data/test/rbbt/knowledge_base/test_enrichment.rb +0 -48
- data/test/rbbt/knowledge_base/test_entity.rb +0 -42
- data/test/rbbt/knowledge_base/test_query.rb +0 -46
- data/test/rbbt/knowledge_base/test_registry.rb +0 -81
- data/test/rbbt/knowledge_base/test_syndicate.rb +0 -48
- data/test/rbbt/knowledge_base/test_traverse.rb +0 -85
- data/test/rbbt/persist/test_tsv.rb +0 -88
- data/test/rbbt/persist/tsv/test_cdb.rb +0 -18
- data/test/rbbt/persist/tsv/test_kyotocabinet.rb +0 -27
- data/test/rbbt/persist/tsv/test_leveldb.rb +0 -18
- data/test/rbbt/persist/tsv/test_lmdb.rb +0 -18
- data/test/rbbt/persist/tsv/test_sharder.rb +0 -164
- data/test/rbbt/persist/tsv/test_tokyocabinet.rb +0 -262
- data/test/rbbt/resource/test_path.rb +0 -49
- data/test/rbbt/test_annotations.rb +0 -167
- data/test/rbbt/test_association.rb +0 -103
- data/test/rbbt/test_entity.rb +0 -249
- data/test/rbbt/test_fix_width_table.rb +0 -135
- data/test/rbbt/test_hpc.rb +0 -16
- data/test/rbbt/test_knowledge_base.rb +0 -149
- data/test/rbbt/test_monitor.rb +0 -11
- data/test/rbbt/test_packed_index.rb +0 -68
- data/test/rbbt/test_persist.rb +0 -85
- data/test/rbbt/test_resource.rb +0 -110
- data/test/rbbt/test_tsv.rb +0 -669
- data/test/rbbt/test_workflow.rb +0 -604
- data/test/rbbt/tsv/parallel/test_through.rb +0 -40
- data/test/rbbt/tsv/parallel/test_traverse.rb +0 -456
- data/test/rbbt/tsv/test_accessor.rb +0 -315
- data/test/rbbt/tsv/test_attach.rb +0 -718
- data/test/rbbt/tsv/test_change_id.rb +0 -61
- data/test/rbbt/tsv/test_csv.rb +0 -49
- data/test/rbbt/tsv/test_excel.rb +0 -171
- data/test/rbbt/tsv/test_field_index.rb +0 -19
- data/test/rbbt/tsv/test_filter.rb +0 -187
- data/test/rbbt/tsv/test_index.rb +0 -302
- data/test/rbbt/tsv/test_manipulate.rb +0 -337
- data/test/rbbt/tsv/test_marshal.rb +0 -24
- data/test/rbbt/tsv/test_matrix.rb +0 -20
- data/test/rbbt/tsv/test_parallel.rb +0 -7
- data/test/rbbt/tsv/test_parser.rb +0 -101
- data/test/rbbt/tsv/test_stream.rb +0 -253
- data/test/rbbt/tsv/test_util.rb +0 -52
- data/test/rbbt/util/R/test_eval.rb +0 -43
- data/test/rbbt/util/R/test_model.rb +0 -130
- data/test/rbbt/util/R/test_plot.rb +0 -38
- data/test/rbbt/util/concurrency/processes/test_socket.rb +0 -70
- data/test/rbbt/util/concurrency/test_processes.rb +0 -192
- data/test/rbbt/util/concurrency/test_threads.rb +0 -40
- data/test/rbbt/util/log/test_progress.rb +0 -111
- data/test/rbbt/util/misc/test_bgzf.rb +0 -48
- data/test/rbbt/util/misc/test_communication.rb +0 -11
- data/test/rbbt/util/misc/test_development.rb +0 -26
- data/test/rbbt/util/misc/test_format.rb +0 -10
- data/test/rbbt/util/misc/test_indiferent_hash.rb +0 -14
- data/test/rbbt/util/misc/test_lock.rb +0 -77
- data/test/rbbt/util/misc/test_multipart_payload.rb +0 -202
- data/test/rbbt/util/misc/test_omics.rb +0 -116
- data/test/rbbt/util/misc/test_pipes.rb +0 -343
- data/test/rbbt/util/misc/test_serialize.rb +0 -24
- data/test/rbbt/util/python/test_util.rb +0 -25
- data/test/rbbt/util/simpleopt/test_get.rb +0 -12
- data/test/rbbt/util/simpleopt/test_parse.rb +0 -10
- data/test/rbbt/util/simpleopt/test_setup.rb +0 -76
- data/test/rbbt/util/test_R.rb +0 -37
- data/test/rbbt/util/test_chain_methods.rb +0 -22
- data/test/rbbt/util/test_cmd.rb +0 -87
- data/test/rbbt/util/test_colorize.rb +0 -22
- data/test/rbbt/util/test_concurrency.rb +0 -6
- data/test/rbbt/util/test_config.rb +0 -69
- data/test/rbbt/util/test_excel2tsv.rb +0 -10
- data/test/rbbt/util/test_filecache.rb +0 -36
- data/test/rbbt/util/test_log.rb +0 -52
- data/test/rbbt/util/test_migrate.rb +0 -36
- data/test/rbbt/util/test_misc.rb +0 -723
- data/test/rbbt/util/test_open.rb +0 -200
- data/test/rbbt/util/test_procpath.rb +0 -23
- data/test/rbbt/util/test_python.rb +0 -140
- data/test/rbbt/util/test_semaphore.rb +0 -36
- data/test/rbbt/util/test_simpleDSL.rb +0 -55
- data/test/rbbt/util/test_simpleopt.rb +0 -11
- data/test/rbbt/util/test_ssh.rb +0 -10
- data/test/rbbt/util/test_tmpfile.rb +0 -32
- data/test/rbbt/workflow/step/test_dependencies.rb +0 -299
- data/test/rbbt/workflow/step/test_save_load_inputs.rb +0 -136
- data/test/rbbt/workflow/test_doc.rb +0 -30
- data/test/rbbt/workflow/test_remote_workflow.rb +0 -98
- data/test/rbbt/workflow/test_schedule.rb +0 -0
- data/test/rbbt/workflow/test_step.rb +0 -231
- data/test/rbbt/workflow/test_task.rb +0 -85
- data/test/rbbt/workflow/util/test_archive.rb +0 -31
- data/test/rbbt/workflow/util/test_data.rb +0 -67
- data/test/rbbt/workflow/util/test_orchestrator.rb +0 -273
- 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,
|
24
|
-
|
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
|
-
|
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
|
data/lib/rbbt/workflow/step.rb
CHANGED
@@ -303,7 +303,8 @@ class Step
|
|
303
303
|
|
304
304
|
if result_description
|
305
305
|
entity_info = info.dup
|
306
|
-
entity_info
|
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].
|
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
|
510
|
+
job.overriden = overriden if job.overriden.nil?
|
511
511
|
job.clean_name = jobname
|
512
512
|
|
513
513
|
#iif [job, not_overriden]
|
data/python/rbbt/__init__.py
CHANGED
@@ -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.
|
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-
|
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.
|
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
|
-
|