rbbt-util 5.43.0 → 5.44.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (121) hide show
  1. checksums.yaml +4 -4
  2. data/lib/rbbt/association/util.rb +1 -1
  3. data/lib/rbbt/hpc/batch.rb +19 -17
  4. data/lib/rbbt/tsv/accessor.rb +6 -11
  5. data/lib/rbbt/tsv/dumper.rb +21 -10
  6. data/lib/rbbt/tsv/index.rb +2 -1
  7. data/lib/rbbt/util/misc/math.rb +0 -1
  8. data/lib/rbbt/util/open.rb +1 -1
  9. data/lib/rbbt/workflow/step/info.rb +1 -0
  10. data/lib/rbbt/workflow/step.rb +2 -1
  11. data/python/rbbt/__init__.py +2 -2
  12. data/share/rbbt_commands/workflow/task +1 -1
  13. metadata +4 -220
  14. data/test/rbbt/annotations/test_util.rb +0 -43
  15. data/test/rbbt/association/test_database.rb +0 -87
  16. data/test/rbbt/association/test_index.rb +0 -127
  17. data/test/rbbt/association/test_item.rb +0 -15
  18. data/test/rbbt/association/test_open.rb +0 -63
  19. data/test/rbbt/association/test_util.rb +0 -108
  20. data/test/rbbt/entity/test_identifiers.rb +0 -34
  21. data/test/rbbt/hpc/orchestrate/test_batches.rb +0 -70
  22. data/test/rbbt/hpc/orchestrate/test_chains.rb +0 -108
  23. data/test/rbbt/hpc/orchestrate/test_rules.rb +0 -59
  24. data/test/rbbt/hpc/test_batch.rb +0 -64
  25. data/test/rbbt/hpc/test_hpc_test_workflows.rb +0 -0
  26. data/test/rbbt/hpc/test_orchestrate.rb +0 -144
  27. data/test/rbbt/hpc/test_pbs.rb +0 -43
  28. data/test/rbbt/hpc/test_slurm.rb +0 -28
  29. data/test/rbbt/knowledge_base/test_enrichment.rb +0 -50
  30. data/test/rbbt/knowledge_base/test_entity.rb +0 -62
  31. data/test/rbbt/knowledge_base/test_query.rb +0 -46
  32. data/test/rbbt/knowledge_base/test_registry.rb +0 -74
  33. data/test/rbbt/knowledge_base/test_syndicate.rb +0 -48
  34. data/test/rbbt/knowledge_base/test_traverse.rb +0 -133
  35. data/test/rbbt/persist/test_tsv.rb +0 -88
  36. data/test/rbbt/persist/tsv/test_cdb.rb +0 -18
  37. data/test/rbbt/persist/tsv/test_kyotocabinet.rb +0 -27
  38. data/test/rbbt/persist/tsv/test_leveldb.rb +0 -18
  39. data/test/rbbt/persist/tsv/test_lmdb.rb +0 -20
  40. data/test/rbbt/persist/tsv/test_sharder.rb +0 -164
  41. data/test/rbbt/persist/tsv/test_tokyocabinet.rb +0 -262
  42. data/test/rbbt/resource/test_path.rb +0 -49
  43. data/test/rbbt/test_annotations.rb +0 -167
  44. data/test/rbbt/test_association.rb +0 -103
  45. data/test/rbbt/test_entity.rb +0 -252
  46. data/test/rbbt/test_fix_width_table.rb +0 -135
  47. data/test/rbbt/test_knowledge_base.rb +0 -226
  48. data/test/rbbt/test_monitor.rb +0 -11
  49. data/test/rbbt/test_packed_index.rb +0 -68
  50. data/test/rbbt/test_persist.rb +0 -85
  51. data/test/rbbt/test_resource.rb +0 -110
  52. data/test/rbbt/test_tsv.rb +0 -669
  53. data/test/rbbt/test_workflow.rb +0 -609
  54. data/test/rbbt/tsv/parallel/test_through.rb +0 -40
  55. data/test/rbbt/tsv/parallel/test_traverse.rb +0 -456
  56. data/test/rbbt/tsv/test_accessor.rb +0 -319
  57. data/test/rbbt/tsv/test_attach.rb +0 -715
  58. data/test/rbbt/tsv/test_change_id.rb +0 -61
  59. data/test/rbbt/tsv/test_csv.rb +0 -49
  60. data/test/rbbt/tsv/test_excel.rb +0 -171
  61. data/test/rbbt/tsv/test_field_index.rb +0 -19
  62. data/test/rbbt/tsv/test_filter.rb +0 -187
  63. data/test/rbbt/tsv/test_index.rb +0 -308
  64. data/test/rbbt/tsv/test_manipulate.rb +0 -334
  65. data/test/rbbt/tsv/test_marshal.rb +0 -24
  66. data/test/rbbt/tsv/test_matrix.rb +0 -20
  67. data/test/rbbt/tsv/test_parallel.rb +0 -7
  68. data/test/rbbt/tsv/test_parser.rb +0 -101
  69. data/test/rbbt/tsv/test_stream.rb +0 -253
  70. data/test/rbbt/tsv/test_util.rb +0 -52
  71. data/test/rbbt/util/R/test_eval.rb +0 -43
  72. data/test/rbbt/util/R/test_model.rb +0 -128
  73. data/test/rbbt/util/R/test_plot.rb +0 -38
  74. data/test/rbbt/util/concurrency/processes/test_socket.rb +0 -70
  75. data/test/rbbt/util/concurrency/test_processes.rb +0 -192
  76. data/test/rbbt/util/concurrency/test_threads.rb +0 -40
  77. data/test/rbbt/util/log/test_progress.rb +0 -111
  78. data/test/rbbt/util/misc/test_bgzf.rb +0 -48
  79. data/test/rbbt/util/misc/test_communication.rb +0 -13
  80. data/test/rbbt/util/misc/test_development.rb +0 -26
  81. data/test/rbbt/util/misc/test_format.rb +0 -10
  82. data/test/rbbt/util/misc/test_indiferent_hash.rb +0 -14
  83. data/test/rbbt/util/misc/test_lock.rb +0 -77
  84. data/test/rbbt/util/misc/test_multipart_payload.rb +0 -202
  85. data/test/rbbt/util/misc/test_omics.rb +0 -116
  86. data/test/rbbt/util/misc/test_pipes.rb +0 -343
  87. data/test/rbbt/util/misc/test_serialize.rb +0 -24
  88. data/test/rbbt/util/python/test_util.rb +0 -25
  89. data/test/rbbt/util/simpleopt/test_get.rb +0 -12
  90. data/test/rbbt/util/simpleopt/test_parse.rb +0 -10
  91. data/test/rbbt/util/simpleopt/test_setup.rb +0 -76
  92. data/test/rbbt/util/test_R.rb +0 -37
  93. data/test/rbbt/util/test_chain_methods.rb +0 -22
  94. data/test/rbbt/util/test_cmd.rb +0 -87
  95. data/test/rbbt/util/test_colorize.rb +0 -22
  96. data/test/rbbt/util/test_concurrency.rb +0 -6
  97. data/test/rbbt/util/test_config.rb +0 -69
  98. data/test/rbbt/util/test_excel2tsv.rb +0 -10
  99. data/test/rbbt/util/test_filecache.rb +0 -36
  100. data/test/rbbt/util/test_log.rb +0 -52
  101. data/test/rbbt/util/test_migrate.rb +0 -34
  102. data/test/rbbt/util/test_misc.rb +0 -728
  103. data/test/rbbt/util/test_open.rb +0 -200
  104. data/test/rbbt/util/test_procpath.rb +0 -23
  105. data/test/rbbt/util/test_python.rb +0 -144
  106. data/test/rbbt/util/test_semaphore.rb +0 -36
  107. data/test/rbbt/util/test_simpleDSL.rb +0 -55
  108. data/test/rbbt/util/test_simpleopt.rb +0 -11
  109. data/test/rbbt/util/test_ssh.rb +0 -10
  110. data/test/rbbt/util/test_tmpfile.rb +0 -32
  111. data/test/rbbt/workflow/step/test_dependencies.rb +0 -295
  112. data/test/rbbt/workflow/step/test_save_load_inputs.rb +0 -136
  113. data/test/rbbt/workflow/test_doc.rb +0 -30
  114. data/test/rbbt/workflow/test_remote_workflow.rb +0 -99
  115. data/test/rbbt/workflow/test_schedule.rb +0 -0
  116. data/test/rbbt/workflow/test_step.rb +0 -231
  117. data/test/rbbt/workflow/test_task.rb +0 -85
  118. data/test/rbbt/workflow/util/test_archive.rb +0 -27
  119. data/test/rbbt/workflow/util/test_data.rb +0 -67
  120. data/test/rbbt/workflow/util/test_orchestrator.rb +0 -263
  121. data/test/test_helper.rb +0 -114
@@ -1,144 +0,0 @@
1
- require File.join(File.expand_path(File.dirname(__FILE__)), '../..', 'test_helper.rb')
2
- require 'rbbt/workflow'
3
- require 'rbbt/hpc/orchestrate'
4
-
5
- module TestWFA
6
- extend Workflow
7
-
8
- task :a1 => :string do self.task_name.to_s end
9
-
10
- dep :a1
11
- task :a2 => :string do self.task_name.to_s end
12
-
13
- dep :a2
14
- task :a3 => :string do self.task_name.to_s end
15
- end
16
-
17
- module TestWFB
18
- extend Workflow
19
-
20
- dep TestWFA, :a2
21
- task :b1 => :string do self.task_name.to_s end
22
-
23
- dep :b1
24
- task :b2 => :string do self.task_name.to_s end
25
- end
26
-
27
- module TestWFC
28
- extend Workflow
29
-
30
- dep TestWFA, :a1
31
- dep_task :c1, TestWFB, :b2
32
-
33
- task :c2 => :string do self.task_name.to_s end
34
-
35
- dep :c1
36
- dep :c2
37
- task :c3 => :string do self.task_name.to_s end
38
- end
39
-
40
- class TestOrchestrate < Test::Unit::TestCase
41
-
42
- RULES = IndiferentHash.setup(YAML.load(<<-EOF))
43
- ---
44
- defaults:
45
- queue: first_queue
46
- time: 1h
47
- log: 2
48
- config_keys: key1 value1 token1
49
- chains:
50
- chain_a:
51
- workflow: TestWFA
52
- tasks: a1, a2, a3
53
- config_keys: key2 value2 token2, key3 value3 token3.1 token3.2
54
- chain_b:
55
- workflow: TestWFB
56
- tasks: b1, b2
57
- chain_b2:
58
- comment: This chain is not valid, it is missing a2
59
- tasks: TestWFA#a1, TestWFA#a3, TestWFB#b1, TestWFB#b2
60
- TestWFA:
61
- defaults:
62
- log: 4
63
- config_keys: key4 value4 token4
64
- a1:
65
- cpus: 10
66
- config_keys: key5 value5 token5
67
- TestWFC:
68
- defaults:
69
- skip: true
70
- log: 4
71
- EOF
72
-
73
- def test_parse_chains
74
- chains = HPC::Orchestration.parse_chains RULES
75
- assert chains[:chain_a][:tasks]["TestWFA"].include?("a1")
76
- end
77
-
78
- def test_task_options
79
- rules = HPC::Orchestration.task_specific_rules RULES, "TestWFA", :a1
80
- assert_equal 10, rules[:cpus]
81
- assert_equal 4, rules[:log]
82
- end
83
-
84
- def test_job_workload
85
- job = TestWFB.job(:b2, nil)
86
- job.recursive_clean
87
-
88
- workload = HPC::Orchestration.job_workload(job)
89
-
90
- assert workload.include? job
91
- end
92
-
93
- def test_job_chains
94
- job = TestWFB.job(:b2, nil)
95
-
96
- job.recursive_clean
97
- job_chains = HPC::Orchestration.job_chains(RULES, job)
98
- assert_equal 3, job_chains.length
99
-
100
- TestWFB.job(:b1).run
101
- job_chains = HPC::Orchestration.job_chains(RULES, job)
102
- assert_equal 0, job_chains.length
103
-
104
- job.recursive_clean
105
- TestWFA.job(:a1).run
106
- job_chains = HPC::Orchestration.job_chains(RULES, job)
107
- assert_equal 2, job_chains.length
108
- end
109
-
110
- def test_job_batches
111
- job = TestWFB.job(:b2, nil)
112
-
113
- job.recursive_clean
114
- batches = HPC::Orchestration.job_batches(RULES, job)
115
- assert_equal 2, batches.length
116
-
117
- assert_equal job.rec_dependencies.length + 1, batches.inject(0){|acc,e| acc += e[:jobs].length }
118
- end
119
-
120
- def test_job_batches_skip
121
- job = TestWFC.job(:c1, nil)
122
-
123
- job.recursive_clean
124
- batches = HPC::Orchestration.job_batches(RULES, job)
125
- assert_equal 2, batches.length
126
-
127
- assert_equal job.rec_dependencies.length + 1, batches.inject(0){|acc,e| acc += e[:jobs].length }
128
- end
129
-
130
- def test_job_batches_skip_2
131
- job = TestWFC.job(:c3, nil)
132
-
133
- job.recursive_clean
134
- batches = HPC::Orchestration.job_batches(RULES, job)
135
- assert_equal 4, batches.length
136
-
137
- assert_equal job.rec_dependencies.length + 1, batches.inject(0){|acc,e| acc += e[:jobs].length }
138
-
139
- batches
140
- end
141
-
142
-
143
- end
144
-
@@ -1,43 +0,0 @@
1
- require File.expand_path(__FILE__).sub(%r(/test/.*), '/test/test_helper.rb')
2
- require File.expand_path(__FILE__).sub(%r(.*/test/), '').sub(/test_(.*)\.rb/,'\1')
3
-
4
- require 'rbbt/workflow'
5
-
6
- class TestPBS < Test::Unit::TestCase
7
- def workflow
8
- @workflow ||= Module.new do
9
- extend Workflow
10
-
11
- def self.to_s
12
- "TestWorkflow"
13
- end
14
-
15
- input :name, :string
16
- task :hello => :string do |name|
17
- "hello #{name}"
18
- end
19
- end
20
- end
21
-
22
- def test_template
23
- job = workflow.job(:hello, "TEST", :name => "world")
24
-
25
- TmpFile.with_file do |batch_dir|
26
-
27
- template = HPC::PBS.job_template(job, :batch_dir => batch_dir, :lua_modules => 'java')
28
- assert_include template, "rbbt workflow task TestWorkflow hello"
29
-
30
- end
31
- end
32
-
33
- def __test_run_job
34
- job = Sample.job(:mutect2, "small", :reference => "hg38")
35
-
36
- job.clean
37
-
38
- jobid = HPC::SLURM.run_job(job, :workflows => "HTS", :batch_modules => 'java', :env_cmd => '_JAVA_OPTIONS="-Xms1g -Xmx${MAX_MEMORY}m"', :queue => :debug, :time => '01:00:00', :config_keys => "HTS_light", :task_cpus => '10', :tail => true, :clean_task => "HTS#mutect2")
39
- assert jobid.to_s =~ /^\d+$/
40
- end
41
-
42
- end
43
-
@@ -1,28 +0,0 @@
1
- require File.join(File.expand_path(File.dirname(__FILE__)), '../..', 'test_helper.rb')
2
- require 'rbbt/hpc/slurm'
3
- require 'rbbt/workflow'
4
-
5
- require_relative 'hpc_test_workflows'
6
- class TestSLURM < Test::Unit::TestCase
7
- def test_template
8
- job = TestWFA.job(:a2, "TEST")
9
-
10
- TmpFile.with_file do |batch_dir|
11
-
12
- template = HPC::SLURM.job_template(job, :batch_dir => batch_dir, :batch_modules => 'java', :time => '10min')
13
- assert_include template, "rbbt workflow task TestWFA a2"
14
- assert_include template, "00:10:00"
15
- end
16
- end
17
-
18
- def __test_run_job
19
- job = Sample.job(:mutect2, "small", :reference => "hg38")
20
-
21
- job.clean
22
-
23
- jobid = HPC::SLURM.run_job(job, :workflows => "HTS", :batch_modules => 'java', :env_cmd => '_JAVA_OPTIONS="-Xms1g -Xmx${MAX_MEMORY}m"', :queue => :debug, :time => '01:00:00', :config_keys => "HTS_light", :task_cpus => '10', :tail => true, :clean_task => "HTS#mutect2")
24
- assert jobid.to_s =~ /^\d+$/
25
- end
26
-
27
- end
28
-
@@ -1,50 +0,0 @@
1
- require File.expand_path(File.dirname(__FILE__) + '../../../test_helper')
2
- require 'rbbt/util/tmpfile'
3
- require 'test/unit'
4
- require 'rbbt/knowledge_base'
5
- require 'rbbt/knowledge_base/enrichment'
6
-
7
-
8
- class TestKnowledgeBaseEnrichment < Test::Unit::TestCase
9
- def knowledge_base(file)
10
-
11
- effect =StringIO.new <<-END
12
- #: :sep=" "#:type=:double
13
- #SG TG Effect
14
- MDM2 TP53 inhibition
15
- TP53 NFKB1|GLI1 activation|activation true|true
16
- END
17
-
18
- effect_options = {
19
- :source => "SG=~Associated Gene Name",
20
- :target => "TG=~Associated Gene Name=>Ensembl Gene ID",
21
- :persist => false,
22
- :identifiers => datafile_test('identifiers'),
23
- :undirected => true,
24
- :namespace => "Hsa"
25
- }
26
-
27
- effect_tsv = TSV.open effect, effect_options.dup
28
-
29
- knowledge_base = KnowledgeBase.new file, "Hsa/feb2014"
30
- knowledge_base.format = {"Gene" => "Ensembl Gene ID"}
31
-
32
- knowledge_base.register :effects, effect_tsv, effect_options.dup
33
- knowledge_base.register :gene_ages, datafile_test('gene_ages')
34
- knowledge_base.register :nature, datafile_test('nature'), :source => "UniProt/SwissProt Accession", :target => "NCI Nature Pathway ID"
35
-
36
- knowledge_base
37
- end
38
-
39
- def test_enrichment
40
- keyword_test :R do
41
- TmpFile.with_file do |tmp_kb|
42
- genes = %w(P17706-2 LMAN1 P17706-1 P29353-2 JAK3 Q8NFM1 EIF2AK2 JAK1 SRC PIAS1 KPNB1 KPNA2 STAT3 PTPN1 ATR CREBBP PTPRA SGK1 P46108-1 NCK2 O00145 PTPN1 CBL SORBS1 IRS1 SHC1 AKT2 GRB2 SOS1 RPS6KB1 AKT1 DOK1 RASA1 NCK1 FOXO3 RAPGEF1 TRIP10 EIF4EBP1 PDPK1 GRB14 PTPN11 INS GRB10 CAV1 EIF4B RPS6KB1 EEF2 EEF2K AKT1 TSC1 TSC2 CLIP1 DDIT4 SGK1 PDPK1 DEPTOR SREBF1 CYCS IRS1 RPS6KA1 BNIP3 RRN3 RICTOR IKBKB AKT1S1 PXN PML EIF4A1 PPARGC1A YY1 PRKCA RPTOR PDCD4 SIK1 P10636-8 BRSK1 MYC SMARCD3 STK11 ETV4 MARK4 MAP2 MARK2 CRTC2 PSEN2 MST4 CTSD BRSK2 SIK2 ESR1 CAB39 STK11IP SMAD4 CREB1 PRKACA EZR TP53 GSK3B SIK3 CDC37 HSP90AA1 )
43
- assert knowledge_base(tmp_kb).enrichment(:nature, genes).any?
44
- end
45
- end
46
- end
47
-
48
- end
49
-
50
-
@@ -1,62 +0,0 @@
1
- require File.expand_path(File.dirname(__FILE__) + '../../../test_helper')
2
- require 'rbbt-util'
3
- require 'rbbt/util/tmpfile'
4
- require 'test/unit'
5
- require 'rbbt/knowledge_base'
6
- require 'rbbt/knowledge_base/entity'
7
-
8
- module Gene
9
- extend Entity
10
- end
11
-
12
- class TestKnowledgeEnity < Test::Unit::TestCase
13
-
14
- EFFECT =StringIO.new <<-END
15
- #: :sep=" "#:type=:double
16
- #SG TG Effect
17
- MDM2 TP53 inhibition
18
- TP53 NFKB1|GLI1 activation|activation true|true
19
- END
20
-
21
- EFFECT_OPTIONS = {
22
- :source => "SG=~Associated Gene Name",
23
- :target => "TG=~Associated Gene Name=>Ensembl Gene ID",
24
- :undirected => true,
25
- :persist => true,
26
- :namespace => "Hsa"
27
- }
28
- Gene.add_identifiers datafile_test('identifiers')
29
-
30
- EFFECT_TSV = TSV.open EFFECT, EFFECT_OPTIONS.dup
31
-
32
- def with_kb(&block)
33
- keyword_test :organism do
34
- require 'rbbt/sources/organism'
35
- organism = Organism.default_code("Hsa")
36
- TmpFile.with_file do |tmpdir|
37
- kb = KnowledgeBase.new tmpdir, "Hsa"
38
- kb.format = {"Gene" => "Associated Gene Name"}
39
-
40
- kb.register :effects, EFFECT_TSV, EFFECT_OPTIONS.dup
41
-
42
- yield kb
43
- end
44
- end
45
- end
46
-
47
- def test_entity_options
48
- with_kb do |kb|
49
- kb.entity_options = {"Gene" => {:organism => "Mmu"}}
50
- assert_include kb.children(:effects, "TP53").target_entity.to("Associated Gene Name"), "GLI1"
51
- assert_equal "Mmu", kb.children(:effects, "TP53").target_entity.organism
52
- end
53
- end
54
-
55
- def test_source_type
56
- with_kb do |kb|
57
- assert_match "Gene", kb.source_type(:effects).to_s
58
- end
59
- end
60
-
61
- end
62
-
@@ -1,46 +0,0 @@
1
- require File.expand_path(File.dirname(__FILE__) + '../../../test_helper')
2
- require 'rbbt/util/tmpfile'
3
- require 'test/unit'
4
- require 'rbbt/knowledge_base'
5
- require 'rbbt/knowledge_base/query'
6
-
7
- class TestKnowledgeBaseQuery < Test::Unit::TestCase
8
-
9
- EFFECT =StringIO.new <<-END
10
- #: :sep=" "#:type=:double
11
- #SG TG Effect
12
- MDM2 TP53 inhibition
13
- TP53 NFKB1|GLI1 activation|activation true|true
14
- END
15
-
16
- EFFECT_OPTIONS = {
17
- :source => "SG=~Associated Gene Name=>Ensembl Gene ID",
18
- :target => "TG=~Associated Gene Name=>Ensembl Gene ID",
19
- :persist => false,
20
- :identifiers => datafile_test('identifiers'),
21
- :undirected => true,
22
- :namespace => "Hsa"
23
- }
24
-
25
- EFFECT_TSV = TSV.open EFFECT, EFFECT_OPTIONS.dup
26
-
27
- KNOWLEDGE_BASE = KnowledgeBase.new Rbbt.tmp.test.kb_foo2, "Hsa"
28
- KNOWLEDGE_BASE.format = {"Gene" => "Ensembl Gene ID"}
29
-
30
- KNOWLEDGE_BASE.register :effects, EFFECT_TSV, EFFECT_OPTIONS.dup
31
-
32
- def test_subset_all_persist
33
- Misc.benchmark(1000) do
34
- assert_equal 6, KNOWLEDGE_BASE.subset(:effects, :all).length
35
-
36
- assert_equal 4, KNOWLEDGE_BASE.subset(:effects, :all).target_entity.uniq.length
37
- assert_equal %w(Effect), KNOWLEDGE_BASE.subset(:effects, :all).info.first.keys
38
- end
39
- end
40
-
41
- def test_subset_all_persist_format
42
- assert KNOWLEDGE_BASE.subset(:effects, :all).target_entity.reject{|e| e =~ /^ENS/}.empty?
43
- end
44
-
45
- end
46
-
@@ -1,74 +0,0 @@
1
- require File.expand_path(File.dirname(__FILE__) + '../../../test_helper')
2
- require 'rbbt/util/tmpfile'
3
- require 'test/unit'
4
- require 'rbbt/knowledge_base'
5
- require 'rbbt/knowledge_base/registry'
6
-
7
-
8
- class TestKnowledgeBaseRegistry < Test::Unit::TestCase
9
-
10
- EFFECT =StringIO.new <<-END
11
- #: :sep=" "#:type=:double
12
- #SG TG Effect
13
- MDM2 TP53 inhibition
14
- TP53 NFKB1|GLI1 activation|activation true|true
15
- END
16
-
17
- EFFECT_OPTIONS = {
18
- :source => "SG=~Associated Gene Name",
19
- :target => "TG=~Associated Gene Name=>Ensembl Gene ID",
20
- :persist => false,
21
- :identifiers => datafile_test('identifiers'),
22
- :undirected => true,
23
- :namespace => "Hsa"
24
- }
25
-
26
- EFFECT_TSV = TSV.open EFFECT, EFFECT_OPTIONS.dup
27
-
28
- def with_kb(&block)
29
- keyword_test :organism do
30
- require 'rbbt/sources/organism'
31
- organism = Organism.default_code("Hsa")
32
- TmpFile.with_file do |tmpdir|
33
- kb = KnowledgeBase.new tmpdir
34
- kb.namespace = organism
35
- kb.format = {"Gene" => "Associated Gene Name"}
36
-
37
- kb.register :effects, EFFECT_TSV, EFFECT_OPTIONS
38
- kb.register :pina, datafile_test('pina'),
39
- :source => "UniProt/SwissProt Accession",
40
- :target => "Interactor UniProt/SwissProt Accession=~UniProt/SwissProt Accession",
41
- :undirected => true
42
-
43
- kb.register :gene_ages, datadir_test.gene_ages, :source => "=>Associated Gene Name"
44
-
45
- kb.register :CollecTRI, datadir_test.CollecTRI,
46
- :source => "Transcription Factor=~Associated Gene Name",
47
- :target => "Target Gene=~Associated Gene Name",
48
- :fields => ["[ExTRI] Confidence", "[ExTRI] PMID"]
49
-
50
- yield kb
51
- end
52
- end
53
- end
54
-
55
- def test_database
56
- with_kb do |kb|
57
- assert_equal "Associated Gene Name", kb.get_database(:effects, :source_format => "Associated Gene Name").key_field
58
- end
59
- end
60
-
61
- def test_index
62
- with_kb do |kb|
63
- assert kb.get_index(:effects, :source_format => "Associated Gene Name", :target_format => "Ensembl Gene ID", :persist => false).include? "MDM2~ENSG00000141510"
64
- end
65
- end
66
-
67
- def test_index_persist
68
- with_kb do |kb|
69
- assert kb.get_index(:effects, :source_format => "Associated Gene Name", :target_format => "Ensembl Gene ID", :persist => true).include? "MDM2~ENSG00000141510"
70
- end
71
- end
72
-
73
- end
74
-
@@ -1,48 +0,0 @@
1
- require File.expand_path(File.dirname(__FILE__) + '../../../test_helper')
2
- require 'rbbt/util/tmpfile'
3
- require 'test/unit'
4
- require 'rbbt/knowledge_base'
5
- require 'rbbt/knowledge_base/query'
6
-
7
- module Gene
8
- extend Entity
9
- end
10
- class TestKnowledgeBaseSyndicate < Test::Unit::TestCase
11
-
12
- EFFECT =StringIO.new <<-END
13
- #: :sep=" "#:type=:double
14
- #SG TG Effect
15
- MDM2 TP53 inhibition
16
- TP53 NFKB1|GLI1 activation|activation true|true
17
- END
18
-
19
- EFFECT_OPTIONS = {
20
- :source => "SG=~Associated Gene Name",
21
- :target => "TG=~Associated Gene Name=>Ensembl Gene ID",
22
- :persist => false,
23
- :identifiers => datafile_test('identifiers'),
24
- :undirected => true,
25
- :namespace => "Hsa"
26
- }
27
-
28
- EFFECT_TSV = TSV.open EFFECT, EFFECT_OPTIONS.dup
29
-
30
- KNOWLEDGE_BASE = KnowledgeBase.new '/tmp/kb.foo2', "Hsa"
31
- KNOWLEDGE_BASE.format = {"Gene" => "Ensembl Gene ID"}
32
- KNOWLEDGE_BASE.entity_options["Gene"] = {:organism => "Mmu", :test_option => "TEST"}
33
-
34
- KNOWLEDGE_BASE.register :effects, EFFECT_TSV, EFFECT_OPTIONS.dup
35
-
36
- def test_syndicate_entity_options
37
- Gene.add_identifiers datafile_test('identifiers')
38
- kb = KnowledgeBase.new "/tmp/kb.foo3", "Hsa"
39
- kb.format = {"Gene" => "Associated Gene Name"}
40
- kb.syndicate :orig, KNOWLEDGE_BASE
41
- assert_equal "Mmu", KNOWLEDGE_BASE.entity_options_for("Gene", "effects")[:organism]
42
- assert_equal "Mmu", kb.get_index("effects@orig").entity_options["Gene"][:organism]
43
- assert_equal "Mmu", kb.get_database("effects@orig").entity_options["Gene"][:organism]
44
- assert_equal "Mmu", kb.entity_options_for("Gene", "effects@orig")[:organism]
45
- assert_equal "Mmu", kb.children("effects@orig", "TP53").source_entity.organism
46
- end
47
- end
48
-
@@ -1,133 +0,0 @@
1
- require File.join(File.expand_path(File.dirname(__FILE__)), '../..', 'test_helper.rb')
2
- require 'rbbt/knowledge_base/traverse'
3
- require 'rbbt/workflow'
4
-
5
- class TestKnowledgeBaseTraverse < Test::Unit::TestCase
6
- def with_kb(&block)
7
- keyword_test :organism do
8
- require 'rbbt/sources/organism'
9
- organism = Organism.default_code("Hsa")
10
- TmpFile.with_file do |tmpdir|
11
- kb = KnowledgeBase.new tmpdir
12
- kb.namespace = organism
13
- kb.format = {"Gene" => "Associated Gene Name"}
14
-
15
- kb.register :gene_ages, datadir_test.gene_ages, :source => "=>Associated Gene Name"
16
-
17
- kb.register :CollecTRI, datadir_test.CollecTRI,
18
- :source => "Transcription Factor=~Associated Gene Name",
19
- :target => "Target Gene=~Associated Gene Name",
20
- :fields => ["[ExTRI] Confidence", "[ExTRI] PMID"]
21
-
22
- yield kb
23
- end
24
- end
25
- end
26
-
27
- def test_traverse_simple
28
- with_kb do |kb|
29
- rules = []
30
- rules << "SMAD4 gene_ages ?1"
31
- res = kb.traverse rules
32
- assert_include res.first["?1"], "Bilateria"
33
- end
34
- end
35
-
36
- def test_traverse_CollecTRI
37
- with_kb do |kb|
38
- rules = []
39
- rules << "SMAD4 CollecTRI ?1 - '[ExTRI] Confidence=High'"
40
- res = kb.traverse rules
41
- assert res.last.any?
42
- end
43
- end
44
-
45
-
46
- def test_traverse
47
- with_kb do |kb|
48
- rules = []
49
- rules << "?1 CollecTRI SMAD7"
50
- rules << "?1 gene_ages ?2"
51
- rules << "SMAD4 gene_ages ?2"
52
- res = kb.traverse rules
53
- assert res.first["?1"].include? "MYC"
54
- end
55
- end
56
-
57
- def test_target
58
- with_kb do |kb|
59
- rules = []
60
- rules << "?target =CollecTRI SMAD7"
61
- rules << "?1 CollecTRI ?target"
62
- rules << "?1 gene_ages ?2"
63
- rules << "SMAD4 gene_ages ?2"
64
- res = kb.traverse rules
65
- assert res.first["?1"].include? "MYC"
66
- end
67
- end
68
-
69
- def test_target_translate
70
- with_kb do |kb|
71
- rules = []
72
- rules << "?target =CollecTRI ENSG00000101665"
73
- rules << "?1 CollecTRI ?target"
74
- res = kb.traverse rules
75
- assert res.first["?1"].include? "MYC"
76
- end
77
- end
78
-
79
- def test_target_attribute
80
- with_kb do |kb|
81
- rules = []
82
- rules << "?1 CollecTRI SMAD7"
83
- all = kb.traverse rules
84
-
85
- rules = []
86
- rules << "?1 CollecTRI SMAD7 - '[ExTRI] Confidence'=High"
87
- low = kb.traverse rules
88
-
89
- assert low.last.length < all.last.length
90
- end
91
- end
92
-
93
- def test_traverse_same_age
94
- with_kb do |kb|
95
- rules_str=<<-EOF
96
- ?target1 =gene_ages SMAD7
97
- ?target2 =gene_ages SMAD4
98
- ?target1 gene_ages ?age
99
- ?target2 gene_ages ?age
100
- ?1 gene_ages ?age
101
- EOF
102
- rules = rules_str.split "\n"
103
- res = kb.traverse rules
104
- assert_include res.first["?1"], "MET"
105
- end
106
- end
107
-
108
- def test_traverse_same_age_acc
109
- with_kb do |kb|
110
- rules_str=<<-EOF
111
- ?target1 =gene_ages SMAD7
112
- ?target2 =gene_ages SMAD4
113
- ?age{
114
- ?target1 gene_ages ?age
115
- ?target2 gene_ages ?age
116
- }
117
- ?1 gene_ages ?age
118
- EOF
119
- rules = rules_str.split "\n"
120
- res = kb.traverse rules
121
- assert_include res.first["?1"], "MET"
122
- end
123
- end
124
-
125
- def test_wildcard_db
126
- with_kb do |kb|
127
- rules = []
128
- rules << "SMAD4 ?db ?1"
129
- res = kb.traverse rules
130
- end
131
- end
132
- end
133
-