rbbt-util 5.32.0 → 5.32.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/lib/rbbt/hpc/lsf.rb +1 -1
- data/lib/rbbt/persist/tsv/adapter.rb +1 -1
- data/lib/rbbt/resource.rb +10 -7
- data/lib/rbbt/tsv/csv.rb +5 -0
- data/lib/rbbt/tsv/parser.rb +2 -2
- data/lib/rbbt/tsv/stream.rb +1 -0
- data/lib/rbbt/util/misc/pipes.rb +1 -1
- data/lib/rbbt/workflow.rb +21 -6
- data/lib/rbbt/workflow/definition.rb +1 -0
- data/lib/rbbt/workflow/doc.rb +18 -3
- data/lib/rbbt/workflow/step/accessor.rb +1 -0
- data/lib/rbbt/workflow/usage.rb +2 -2
- data/lib/rbbt/workflow/util/archive.rb +1 -1
- data/lib/rbbt/workflow/util/trace.rb +25 -10
- data/share/rbbt_commands/migrate +3 -3
- data/share/rbbt_commands/workflow/forget_deps +17 -5
- data/test/rbbt/persist/tsv/test_tokyocabinet.rb +1 -1
- metadata +81 -80
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 2bc1c3443b09a4274a030b64479091e506ed1e165371d999eb154b750b2806b3
|
4
|
+
data.tar.gz: 83d0ae91ee88ed3283985b5d7101759bbb45db37fbb54271bc7f16fae8ab4f52
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 0b83533d504d6d66b06083a7f19a689e9b3f82fefbc26278d9bd9af0efbdfb010f87cc609bf90396bb17257a643715e335ac8127f9ff1f11ccdd52f639b77ca8
|
7
|
+
data.tar.gz: a4b93ca7d481120edde1d65f529984e652c261f365c67bea6d1c463d360733006d29486d3851d0b071ba2005cb90cf71382eb5665c7d4e1828a25f322b570ce7
|
data/lib/rbbt/hpc/lsf.rb
CHANGED
@@ -8,7 +8,7 @@ module HPC
|
|
8
8
|
def self.batch_system_variables
|
9
9
|
<<-EOF
|
10
10
|
let TOTAL_PROCESORS="$(cat /proc/cpuinfo|grep ^processor |wc -l)"
|
11
|
-
let MAX_MEMORY_DEFAULT="$(grep MemTotal /proc/meminfo|grep -o "[[:digit:]]*") / ( (1024 * $TOTAL_PROCESORS) / $
|
11
|
+
let MAX_MEMORY_DEFAULT="$(grep MemTotal /proc/meminfo|grep -o "[[:digit:]]*") / ( (1024 * $TOTAL_PROCESORS) / $LSB_MAX_NUM_PROCESSORS )"
|
12
12
|
[ ! -z $LSB_MAX_MEM_RUSAGE ] && let MAX_MEMORY="$LSB_MAX_MEM_RUSAGE" || MAX_MEMORY="$MAX_MEMORY_DEFAULT"
|
13
13
|
export MAX_MEMORY_DEFAULT
|
14
14
|
export MAX_MEMORY
|
data/lib/rbbt/resource.rb
CHANGED
@@ -6,6 +6,7 @@ require 'set'
|
|
6
6
|
|
7
7
|
|
8
8
|
module Resource
|
9
|
+
class ResourceNotFound < RbbtException; end
|
9
10
|
|
10
11
|
class << self
|
11
12
|
attr_accessor :lock_dir
|
@@ -154,16 +155,18 @@ module Resource
|
|
154
155
|
rake_dir, content = rake_for(path)
|
155
156
|
rake_dir = Path.setup(rake_dir.dup, self.pkgdir, self)
|
156
157
|
else
|
157
|
-
|
158
|
-
|
158
|
+
if path !~ /\.(gz|bgz)$/
|
159
|
+
begin
|
160
|
+
produce(path.annotate(path + '.gz'), force)
|
161
|
+
rescue ResourceNotFound
|
159
162
|
begin
|
160
|
-
produce(path.annotate(path + '.gz'), force)
|
161
|
-
rescue
|
162
163
|
produce(path.annotate(path + '.bgz'), force)
|
164
|
+
rescue ResourceNotFound
|
165
|
+
raise ResourceNotFound, "Resource is missing and does not seem to be claimed: #{ self } -- #{ path } "
|
163
166
|
end
|
164
167
|
end
|
165
|
-
|
166
|
-
raise "Resource is missing and does not seem to be claimed: #{ self } -- #{ path } "
|
168
|
+
else
|
169
|
+
raise ResourceNotFound, "Resource is missing and does not seem to be claimed: #{ self } -- #{ path } "
|
167
170
|
end
|
168
171
|
end
|
169
172
|
|
@@ -174,7 +177,7 @@ module Resource
|
|
174
177
|
end
|
175
178
|
|
176
179
|
if type and not File.exist?(final_path) or force
|
177
|
-
Log.medium "Producing: #{ final_path }"
|
180
|
+
Log.medium "Producing: (#{self.to_s}) #{ final_path }"
|
178
181
|
lock_filename = Persist.persistence_path(final_path, {:dir => Resource.lock_dir})
|
179
182
|
|
180
183
|
Misc.lock lock_filename do
|
data/lib/rbbt/tsv/csv.rb
CHANGED
@@ -8,6 +8,7 @@ module TSV
|
|
8
8
|
noheaders = ! headers
|
9
9
|
|
10
10
|
type = options.delete :type
|
11
|
+
cast = options.delete :cast
|
11
12
|
merge = options.delete :merge
|
12
13
|
key_field = options.delete :key_field
|
13
14
|
fields = options.delete :fields
|
@@ -46,6 +47,10 @@ module TSV
|
|
46
47
|
else
|
47
48
|
key, *values = row
|
48
49
|
end
|
50
|
+
|
51
|
+
if cast
|
52
|
+
values = values.collect{|v| v.send cast }
|
53
|
+
end
|
49
54
|
|
50
55
|
case type
|
51
56
|
when :double, :flat
|
data/lib/rbbt/tsv/parser.rb
CHANGED
@@ -40,7 +40,7 @@ module TSV
|
|
40
40
|
# Process fields line
|
41
41
|
|
42
42
|
preamble << line if line
|
43
|
-
while line
|
43
|
+
while line && (TrueClass === @header_hash || (String === @header_hash && Misc.fixutf8(line) =~ /^#{@header_hash}/ ))
|
44
44
|
@fields = line.split(@sep, -1)
|
45
45
|
@key_field = @fields.shift
|
46
46
|
@key_field = @key_field[(0 + header_hash.length)..-1] if String === @header_hash
|
@@ -49,7 +49,7 @@ module TSV
|
|
49
49
|
line = (@header_hash != "" ? stream.gets : nil)
|
50
50
|
line = Misc.fixutf8 line.chomp if line
|
51
51
|
preamble << line if line
|
52
|
-
@header_hash = false if TrueClass === @header_hash
|
52
|
+
@header_hash = false if TrueClass === @header_hash || @header_hash == ""
|
53
53
|
end
|
54
54
|
|
55
55
|
@preamble = preamble[0..-3] * "\n"
|
data/lib/rbbt/tsv/stream.rb
CHANGED
data/lib/rbbt/util/misc/pipes.rb
CHANGED
data/lib/rbbt/workflow.rb
CHANGED
@@ -187,17 +187,21 @@ module Workflow
|
|
187
187
|
clean_name = wf_name.sub(/::.*/,'')
|
188
188
|
Log.info{"Looking for '#{wf_name}' in '#{clean_name}'"}
|
189
189
|
require_workflow clean_name
|
190
|
-
|
190
|
+
workflow = Misc.string2const Misc.camel_case(wf_name)
|
191
|
+
workflow.load_documentation
|
192
|
+
return workflow
|
191
193
|
end
|
192
194
|
|
193
195
|
Log.high{"Loading workflow #{wf_name}"}
|
194
196
|
require_local_workflow(wf_name) or
|
195
197
|
(Workflow.autoinstall and `rbbt workflow install #{Misc.snake_case(wf_name)} || rbbt workflow install #{wf_name}` and require_local_workflow(wf_name)) or raise("Workflow not found or could not be loaded: #{ wf_name }")
|
196
|
-
begin
|
197
|
-
|
198
|
-
|
199
|
-
|
200
|
-
|
198
|
+
workflow = begin
|
199
|
+
Misc.string2const Misc.camel_case(wf_name)
|
200
|
+
rescue
|
201
|
+
Workflow.workflows.last || true
|
202
|
+
end
|
203
|
+
workflow.load_documentation
|
204
|
+
workflow
|
201
205
|
end
|
202
206
|
|
203
207
|
attr_accessor :description
|
@@ -596,6 +600,17 @@ module Workflow
|
|
596
600
|
true
|
597
601
|
end
|
598
602
|
end
|
603
|
+
|
604
|
+
if ! Open.exists?(step.info_file)
|
605
|
+
begin
|
606
|
+
workflow = step.path.split("/")[-3]
|
607
|
+
task_name = step.path.split("/")[-2]
|
608
|
+
workflow = Kernel.const_get workflow
|
609
|
+
step.task = workflow.tasks[task_name.to_sym]
|
610
|
+
rescue
|
611
|
+
Log.exception $!
|
612
|
+
end
|
613
|
+
end
|
599
614
|
step
|
600
615
|
end
|
601
616
|
|
@@ -74,6 +74,7 @@ module Workflow
|
|
74
74
|
def dep_task(name, workflow, oname, *rest, &block)
|
75
75
|
dep(workflow, oname, *rest, &block)
|
76
76
|
extension workflow.tasks[oname].extension if workflow.tasks.include?(oname) unless @extension
|
77
|
+
returns workflow.tasks[oname].result_description if workflow.tasks.include?(oname) unless @result_description
|
77
78
|
task name do
|
78
79
|
raise RbbtException, "dependency not found in dep_task" if dependencies.empty?
|
79
80
|
dep = dependencies.last
|
data/lib/rbbt/workflow/doc.rb
CHANGED
@@ -45,10 +45,25 @@ module Workflow
|
|
45
45
|
end
|
46
46
|
|
47
47
|
def load_documentation
|
48
|
-
@documentation
|
48
|
+
return if @documentation
|
49
|
+
@documentation ||= Workflow.parse_workflow_doc documentation_markdown
|
49
50
|
@documentation[:tasks].each do |task, description|
|
50
|
-
|
51
|
-
|
51
|
+
if task.include? "#"
|
52
|
+
workflow, task = task.split("#")
|
53
|
+
workflow = begin
|
54
|
+
Kernel.const_get workflow
|
55
|
+
rescue
|
56
|
+
next
|
57
|
+
end
|
58
|
+
else
|
59
|
+
workflow = self
|
60
|
+
end
|
61
|
+
|
62
|
+
if workflow.tasks.include? task.to_sym
|
63
|
+
workflow.tasks[task.to_sym].description = description
|
64
|
+
else
|
65
|
+
Log.low "Documentation for #{ task }, but not a #{ workflow.to_s } task"
|
66
|
+
end
|
52
67
|
end
|
53
68
|
end
|
54
69
|
|
@@ -97,6 +97,7 @@ class Step
|
|
97
97
|
Open.ln_s(value.path, path)
|
98
98
|
when type.to_s == "file"
|
99
99
|
if String === value && File.exists?(value)
|
100
|
+
value = File.expand_path(value)
|
100
101
|
Open.ln_s(value, path)
|
101
102
|
else
|
102
103
|
value = value.collect{|v| v = "#{v}" if Path === v; v }if Array === value
|
data/lib/rbbt/workflow/usage.rb
CHANGED
@@ -122,7 +122,7 @@ module Workflow
|
|
122
122
|
last = _prov_tasks(workflow.dep_tree(task_name))
|
123
123
|
|
124
124
|
if child
|
125
|
-
description << "->" << task_name.to_s
|
125
|
+
description << "-> " << task_name.to_s
|
126
126
|
elsif first
|
127
127
|
description << "" << task_name.to_s
|
128
128
|
else
|
@@ -198,7 +198,7 @@ module Workflow
|
|
198
198
|
puts Misc.format_definition_list_item(name.to_s, description, Log.terminal_width, 20, :yellow)
|
199
199
|
|
200
200
|
prov_string = prov_string(dep_tree(name))
|
201
|
-
puts Log.color
|
201
|
+
puts Misc.format_paragraph Log.color(:blue, "-> " + prov_string) if prov_string && ! prov_string.empty?
|
202
202
|
end
|
203
203
|
|
204
204
|
else
|
@@ -10,6 +10,9 @@ module Workflow
|
|
10
10
|
started = job.info[:started]
|
11
11
|
ddone = job.info[:done]
|
12
12
|
|
13
|
+
started = Time.parse started if String === started
|
14
|
+
ddone = Time.parse ddone if String === ddone
|
15
|
+
|
13
16
|
code = [job.workflow, job.task_name].compact.collect{|s| s.to_s} * " · "
|
14
17
|
code = job.name + " - " + code
|
15
18
|
|
@@ -70,8 +73,8 @@ module Workflow
|
|
70
73
|
|
71
74
|
start = data.column("Start.second").values.flatten.collect{|v| v.to_f}.min
|
72
75
|
eend = data.column("End.second").values.flatten.collect{|v| v.to_f}.max
|
73
|
-
total = eend - start
|
74
|
-
Log.info "Total time elapsed: #{total} seconds"
|
76
|
+
total = eend - start unless eend.nil? || start.nil?
|
77
|
+
Log.info "Total time elapsed: #{total} seconds" if total
|
75
78
|
|
76
79
|
data
|
77
80
|
end
|
@@ -140,7 +143,13 @@ rbbt.png_plot('#{plot}', 'plot(timeline)', width=#{width}, height=#{height}, poi
|
|
140
143
|
info = tasks_info[task] ||= IndiferentHash.setup({})
|
141
144
|
dep_info = IndiferentHash.setup(dep.info)
|
142
145
|
|
143
|
-
|
146
|
+
ddone = dep_info[:done]
|
147
|
+
started = dep_info[:started]
|
148
|
+
|
149
|
+
started = Time.parse started if String === started
|
150
|
+
ddone = Time.parse ddone if String === ddone
|
151
|
+
|
152
|
+
time = ddone - started
|
144
153
|
info[:time] ||= []
|
145
154
|
info[:time] << time
|
146
155
|
|
@@ -178,19 +187,25 @@ rbbt.png_plot('#{plot}', 'plot(timeline)', width=#{width}, height=#{height}, poi
|
|
178
187
|
jobs = []
|
179
188
|
seed_jobs.each do |step|
|
180
189
|
jobs += step.rec_dependencies + [step]
|
181
|
-
|
182
190
|
step.info[:archived_info].each do |path,ainfo|
|
183
191
|
archived_step = Step.new path
|
184
|
-
|
185
|
-
|
186
|
-
end.define_method :info do
|
192
|
+
|
193
|
+
archived_step.define_singleton_method :info do
|
187
194
|
ainfo
|
188
195
|
end
|
196
|
+
|
197
|
+
#class << archived_step
|
198
|
+
# self
|
199
|
+
#end.define_method :info do
|
200
|
+
# ainfo
|
201
|
+
#end
|
202
|
+
|
189
203
|
jobs << archived_step
|
190
204
|
end if step.info[:archived_info]
|
205
|
+
|
191
206
|
end
|
192
207
|
|
193
|
-
jobs = jobs.uniq.sort_by{|job| t = job.info[:
|
208
|
+
jobs = jobs.uniq.sort_by{|job| t = job.info[:started] || Open.mtime(job.path) || Time.now; Time === t ? t : Time.parse(t) }
|
194
209
|
|
195
210
|
data = trace_job_times(jobs, options[:fix_gap])
|
196
211
|
|
@@ -200,10 +215,10 @@ rbbt.png_plot('#{plot}', 'plot(timeline)', width=#{width}, height=#{height}, poi
|
|
200
215
|
|
201
216
|
raise "No jobs to process" if data.size == 0
|
202
217
|
|
203
|
-
plot, size, width, height = options.values_at :plot, :width, :height
|
218
|
+
plot, size, width, height = options.values_at :plot, :size, :width, :height
|
204
219
|
|
205
220
|
size = 800 if size.nil?
|
206
|
-
width = size * 2 if width.nil?
|
221
|
+
width = size.to_i * 2 if width.nil?
|
207
222
|
height = size if height.nil?
|
208
223
|
|
209
224
|
plot_trace_job_times(data, plot, width, height) if plot
|
data/share/rbbt_commands/migrate
CHANGED
@@ -94,12 +94,12 @@ real_paths.each do |source|
|
|
94
94
|
end
|
95
95
|
|
96
96
|
if options[:target]
|
97
|
-
target_path = [options[:target], target] * ":"
|
97
|
+
target_path = [options[:target], "'" + target + "'"] * ":"
|
98
98
|
else
|
99
|
-
target_path = target
|
99
|
+
target_path = "'" + target + "'"
|
100
100
|
end
|
101
101
|
|
102
|
-
cmd = "rsync -avztAXHP --copy-unsafe-links #{test_str} #{excludes_str} #{source} #{target_path} #{other * " "}"
|
102
|
+
cmd = "rsync -avztAXHP --copy-unsafe-links #{test_str} #{excludes_str} '#{source}' #{target_path} #{other * " "}"
|
103
103
|
|
104
104
|
cmd << " && rm -Rf #{source}" if options[:delete]
|
105
105
|
|
@@ -8,9 +8,11 @@ $0 = "rbbt #{$previous_commands*" "} #{ File.basename(__FILE__) }" if $previous_
|
|
8
8
|
|
9
9
|
options = SOPT.setup <<EOF
|
10
10
|
|
11
|
-
Make a job forget
|
11
|
+
Make a job forget its dependencies and archive their meta-data
|
12
12
|
|
13
|
-
$ #{$0} [options] <job_path>
|
13
|
+
$ #{$0} [options] <job_path> [<task_name>|<workflow>#<task_name>] ...
|
14
|
+
|
15
|
+
Specific dependencies can be specified as . Otherwise, all are forgoten.
|
14
16
|
|
15
17
|
-h--help Print this help
|
16
18
|
-p--purge Purge dependencies
|
@@ -26,7 +28,7 @@ if options[:help]
|
|
26
28
|
exit 0
|
27
29
|
end
|
28
30
|
|
29
|
-
path = ARGV
|
31
|
+
path, *remove = ARGV
|
30
32
|
|
31
33
|
raise ParameterException, "No path given" if path.nil?
|
32
34
|
step = Workflow.load_step path
|
@@ -34,10 +36,20 @@ step = Workflow.load_step path
|
|
34
36
|
step.archive_deps
|
35
37
|
step.copy_files_dir
|
36
38
|
dependencies = step.dependencies
|
37
|
-
step.set_info :dependencies, []
|
38
39
|
|
39
|
-
if
|
40
|
+
if remove && remove.any?
|
41
|
+
remove_paths = dependencies.select do |dep|
|
42
|
+
remove.include?(dep.task_name) || remove.include?([dep.workflow.to_s, dep.task_name] * "#")
|
43
|
+
end.collect{|dep| dep.path }
|
44
|
+
else
|
45
|
+
remove_paths = dependencies.collect{|dep| dep.path }
|
46
|
+
end
|
47
|
+
|
48
|
+
step.set_info :dependencies, step.info[:dependencies].reject{|info| remove_paths.include? info.last}
|
49
|
+
|
50
|
+
if options[:purge] || options[:recursive_purge]
|
40
51
|
dependencies.each do |dependency|
|
52
|
+
next unless remove_paths.include? dependency.path
|
41
53
|
Step.purge(dependency.path, options[:recursive_purge])
|
42
54
|
end
|
43
55
|
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.32.
|
4
|
+
version: 5.32.6
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Miguel Vazquez
|
8
|
-
autorequire:
|
8
|
+
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2021-04-
|
11
|
+
date: 2021-04-30 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rake
|
@@ -542,7 +542,7 @@ homepage: http://github.com/mikisvaz/rbbt-util
|
|
542
542
|
licenses:
|
543
543
|
- MIT
|
544
544
|
metadata: {}
|
545
|
-
post_install_message:
|
545
|
+
post_install_message:
|
546
546
|
rdoc_options: []
|
547
547
|
require_paths:
|
548
548
|
- lib
|
@@ -557,101 +557,102 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
557
557
|
- !ruby/object:Gem::Version
|
558
558
|
version: '0'
|
559
559
|
requirements: []
|
560
|
-
|
561
|
-
|
560
|
+
rubyforge_project:
|
561
|
+
rubygems_version: 2.7.6
|
562
|
+
signing_key:
|
562
563
|
specification_version: 4
|
563
564
|
summary: Utilities for the Ruby Bioinformatics Toolkit (rbbt)
|
564
565
|
test_files:
|
566
|
+
- test/test_helper.rb
|
567
|
+
- test/rbbt/entity/test_identifiers.rb
|
568
|
+
- test/rbbt/test_resource.rb
|
569
|
+
- test/rbbt/test_association.rb
|
570
|
+
- test/rbbt/hpc/test_slurm.rb
|
571
|
+
- test/rbbt/hpc/test_batch.rb
|
572
|
+
- test/rbbt/persist/test_tsv.rb
|
573
|
+
- test/rbbt/persist/tsv/test_kyotocabinet.rb
|
574
|
+
- test/rbbt/persist/tsv/test_lmdb.rb
|
575
|
+
- test/rbbt/persist/tsv/test_tokyocabinet.rb
|
576
|
+
- test/rbbt/persist/tsv/test_cdb.rb
|
577
|
+
- test/rbbt/persist/tsv/test_leveldb.rb
|
578
|
+
- test/rbbt/persist/tsv/test_sharder.rb
|
579
|
+
- test/rbbt/test_packed_index.rb
|
565
580
|
- test/rbbt/test_entity.rb
|
581
|
+
- test/rbbt/test_fix_width_table.rb
|
566
582
|
- test/rbbt/workflow/test_remote_workflow.rb
|
567
|
-
- test/rbbt/workflow/util/test_orchestrator.rb
|
568
583
|
- test/rbbt/workflow/test_doc.rb
|
569
|
-
- test/rbbt/workflow/test_schedule.rb
|
570
|
-
- test/rbbt/workflow/test_step.rb
|
571
584
|
- test/rbbt/workflow/step/test_dependencies.rb
|
585
|
+
- test/rbbt/workflow/test_schedule.rb
|
586
|
+
- test/rbbt/workflow/util/test_orchestrator.rb
|
572
587
|
- test/rbbt/workflow/test_task.rb
|
573
|
-
- test/rbbt/
|
574
|
-
- test/rbbt/
|
588
|
+
- test/rbbt/workflow/test_step.rb
|
589
|
+
- test/rbbt/test_tsv.rb
|
590
|
+
- test/rbbt/test_annotations.rb
|
591
|
+
- test/rbbt/test_knowledge_base.rb
|
592
|
+
- test/rbbt/util/test_simpleDSL.rb
|
593
|
+
- test/rbbt/util/concurrency/processes/test_socket.rb
|
594
|
+
- test/rbbt/util/concurrency/test_processes.rb
|
595
|
+
- test/rbbt/util/concurrency/test_threads.rb
|
596
|
+
- test/rbbt/util/test_filecache.rb
|
597
|
+
- test/rbbt/util/simpleopt/test_get.rb
|
598
|
+
- test/rbbt/util/simpleopt/test_parse.rb
|
599
|
+
- test/rbbt/util/simpleopt/test_setup.rb
|
600
|
+
- test/rbbt/util/test_misc.rb
|
601
|
+
- test/rbbt/util/test_excel2tsv.rb
|
602
|
+
- test/rbbt/util/test_semaphore.rb
|
575
603
|
- test/rbbt/util/test_procpath.rb
|
576
|
-
- test/rbbt/util/misc/test_development.rb
|
577
|
-
- test/rbbt/util/misc/test_omics.rb
|
578
|
-
- test/rbbt/util/misc/test_pipes.rb
|
579
|
-
- test/rbbt/util/misc/test_format.rb
|
580
|
-
- test/rbbt/util/misc/test_lock.rb
|
581
|
-
- test/rbbt/util/misc/test_multipart_payload.rb
|
582
|
-
- test/rbbt/util/misc/test_bgzf.rb
|
583
|
-
- test/rbbt/util/test_concurrency.rb
|
584
|
-
- test/rbbt/util/test_cmd.rb
|
585
|
-
- test/rbbt/util/R/test_plot.rb
|
586
|
-
- test/rbbt/util/R/test_eval.rb
|
587
604
|
- test/rbbt/util/R/test_model.rb
|
605
|
+
- test/rbbt/util/R/test_eval.rb
|
606
|
+
- test/rbbt/util/R/test_plot.rb
|
607
|
+
- test/rbbt/util/test_open.rb
|
608
|
+
- test/rbbt/util/test_tmpfile.rb
|
609
|
+
- test/rbbt/util/test_cmd.rb
|
610
|
+
- test/rbbt/util/test_concurrency.rb
|
611
|
+
- test/rbbt/util/test_colorize.rb
|
588
612
|
- test/rbbt/util/test_config.rb
|
589
613
|
- test/rbbt/util/test_log.rb
|
590
|
-
- test/rbbt/util/test_simpleDSL.rb
|
591
|
-
- test/rbbt/util/log/test_progress.rb
|
592
|
-
- test/rbbt/util/test_tmpfile.rb
|
593
|
-
- test/rbbt/util/test_R.rb
|
594
|
-
- test/rbbt/util/test_excel2tsv.rb
|
595
|
-
- test/rbbt/util/test_misc.rb
|
596
|
-
- test/rbbt/util/test_open.rb
|
597
614
|
- test/rbbt/util/test_simpleopt.rb
|
598
|
-
- test/rbbt/util/simpleopt/test_parse.rb
|
599
|
-
- test/rbbt/util/simpleopt/test_setup.rb
|
600
|
-
- test/rbbt/util/simpleopt/test_get.rb
|
601
615
|
- test/rbbt/util/test_python.rb
|
602
|
-
- test/rbbt/util/test_filecache.rb
|
603
|
-
- test/rbbt/util/concurrency/test_processes.rb
|
604
|
-
- test/rbbt/util/concurrency/test_threads.rb
|
605
|
-
- test/rbbt/util/concurrency/processes/test_socket.rb
|
606
|
-
- test/rbbt/util/test_semaphore.rb
|
607
616
|
- test/rbbt/util/test_chain_methods.rb
|
608
|
-
- test/rbbt/
|
609
|
-
- test/rbbt/
|
610
|
-
- test/rbbt/
|
611
|
-
- test/rbbt/
|
612
|
-
- test/rbbt/
|
617
|
+
- test/rbbt/util/misc/test_omics.rb
|
618
|
+
- test/rbbt/util/misc/test_lock.rb
|
619
|
+
- test/rbbt/util/misc/test_multipart_payload.rb
|
620
|
+
- test/rbbt/util/misc/test_bgzf.rb
|
621
|
+
- test/rbbt/util/misc/test_development.rb
|
622
|
+
- test/rbbt/util/misc/test_format.rb
|
623
|
+
- test/rbbt/util/misc/test_pipes.rb
|
624
|
+
- test/rbbt/util/log/test_progress.rb
|
625
|
+
- test/rbbt/util/test_R.rb
|
626
|
+
- test/rbbt/test_workflow.rb
|
627
|
+
- test/rbbt/knowledge_base/test_entity.rb
|
628
|
+
- test/rbbt/knowledge_base/test_enrichment.rb
|
629
|
+
- test/rbbt/knowledge_base/test_traverse.rb
|
630
|
+
- test/rbbt/knowledge_base/test_syndicate.rb
|
631
|
+
- test/rbbt/knowledge_base/test_registry.rb
|
632
|
+
- test/rbbt/knowledge_base/test_query.rb
|
633
|
+
- test/rbbt/association/test_item.rb
|
634
|
+
- test/rbbt/association/test_util.rb
|
635
|
+
- test/rbbt/association/test_open.rb
|
636
|
+
- test/rbbt/association/test_database.rb
|
637
|
+
- test/rbbt/association/test_index.rb
|
638
|
+
- test/rbbt/annotations/test_util.rb
|
639
|
+
- test/rbbt/test_monitor.rb
|
640
|
+
- test/rbbt/resource/test_path.rb
|
641
|
+
- test/rbbt/test_hpc.rb
|
642
|
+
- test/rbbt/test_persist.rb
|
613
643
|
- test/rbbt/tsv/test_parser.rb
|
614
644
|
- test/rbbt/tsv/test_csv.rb
|
615
|
-
- test/rbbt/tsv/
|
616
|
-
- test/rbbt/tsv/test_matrix.rb
|
645
|
+
- test/rbbt/tsv/test_manipulate.rb
|
617
646
|
- test/rbbt/tsv/test_field_index.rb
|
618
647
|
- test/rbbt/tsv/test_util.rb
|
619
|
-
- test/rbbt/tsv/
|
648
|
+
- test/rbbt/tsv/test_accessor.rb
|
649
|
+
- test/rbbt/tsv/test_filter.rb
|
650
|
+
- test/rbbt/tsv/test_stream.rb
|
620
651
|
- test/rbbt/tsv/test_parallel.rb
|
621
|
-
- test/rbbt/tsv/
|
652
|
+
- test/rbbt/tsv/test_matrix.rb
|
653
|
+
- test/rbbt/tsv/test_attach.rb
|
622
654
|
- test/rbbt/tsv/test_excel.rb
|
623
|
-
- test/rbbt/tsv/
|
655
|
+
- test/rbbt/tsv/test_change_id.rb
|
656
|
+
- test/rbbt/tsv/test_index.rb
|
624
657
|
- test/rbbt/tsv/parallel/test_traverse.rb
|
625
|
-
- test/rbbt/tsv/
|
626
|
-
- test/rbbt/test_association.rb
|
627
|
-
- test/rbbt/hpc/test_batch.rb
|
628
|
-
- test/rbbt/hpc/test_slurm.rb
|
629
|
-
- test/rbbt/association/test_database.rb
|
630
|
-
- test/rbbt/association/test_item.rb
|
631
|
-
- test/rbbt/association/test_open.rb
|
632
|
-
- test/rbbt/association/test_util.rb
|
633
|
-
- test/rbbt/association/test_index.rb
|
634
|
-
- test/rbbt/test_knowledge_base.rb
|
635
|
-
- test/rbbt/persist/tsv/test_kyotocabinet.rb
|
636
|
-
- test/rbbt/persist/tsv/test_cdb.rb
|
637
|
-
- test/rbbt/persist/tsv/test_lmdb.rb
|
638
|
-
- test/rbbt/persist/tsv/test_sharder.rb
|
639
|
-
- test/rbbt/persist/tsv/test_leveldb.rb
|
640
|
-
- test/rbbt/persist/tsv/test_tokyocabinet.rb
|
641
|
-
- test/rbbt/persist/test_tsv.rb
|
642
|
-
- test/rbbt/test_tsv.rb
|
643
|
-
- test/rbbt/test_annotations.rb
|
644
|
-
- test/rbbt/test_fix_width_table.rb
|
645
|
-
- test/rbbt/test_workflow.rb
|
646
|
-
- test/rbbt/entity/test_identifiers.rb
|
647
|
-
- test/rbbt/annotations/test_util.rb
|
648
|
-
- test/rbbt/test_hpc.rb
|
649
|
-
- test/rbbt/test_monitor.rb
|
650
|
-
- test/rbbt/test_persist.rb
|
651
|
-
- test/rbbt/knowledge_base/test_entity.rb
|
652
|
-
- test/rbbt/knowledge_base/test_registry.rb
|
653
|
-
- test/rbbt/knowledge_base/test_syndicate.rb
|
654
|
-
- test/rbbt/knowledge_base/test_query.rb
|
655
|
-
- test/rbbt/knowledge_base/test_enrichment.rb
|
656
|
-
- test/rbbt/knowledge_base/test_traverse.rb
|
657
|
-
- test/test_helper.rb
|
658
|
+
- test/rbbt/tsv/parallel/test_through.rb
|