rbbt-util 5.28.12 → 5.28.14
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.rb +4 -2
- data/lib/rbbt/tsv/attach.rb +7 -4
- data/lib/rbbt/tsv/parallel.rb +0 -3
- data/lib/rbbt/workflow/definition.rb +1 -0
- data/test/rbbt/tsv/test_attach.rb +86 -6
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 74253d97dc17c890ce9022e38ccd514847e785b69f4cfd74a8a5333a9aa1c97d
|
4
|
+
data.tar.gz: d908fecdec1c5e6ccce81b3190883011d775f38cab689c136e7c90808c3c93ac
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 7c6b8f81e5f814a35ed3b738ad85d4e7314b9fb24b36ecdb3828d1d4644cc8b9ce4117c862ae7baa0bd7f60362e93be2aff282a2d24c474e327d1d5948f56fff
|
7
|
+
data.tar.gz: 3a6235b141f139f245935b8858b175b2d54302b89dc3ac10101ffddfd10d1161760aaf0f176114a4fc6d8f0b8aa17556b8637e2f2ab815dcf875ea98c4825921
|
data/lib/rbbt/hpc.rb
CHANGED
@@ -98,6 +98,8 @@ module Marenostrum
|
|
98
98
|
#SBATCH --nodes="#{nodes}"
|
99
99
|
EOF
|
100
100
|
|
101
|
+
prep = ""
|
102
|
+
|
101
103
|
if highmem
|
102
104
|
header +=<<-EOF
|
103
105
|
#SBATCH --constraint=highmem
|
@@ -146,8 +148,6 @@ SINGULARITY_RUBY_INLINE="$HOME/.singularity_ruby_inline"
|
|
146
148
|
mkdir -p "$SINGULARITY_RUBY_INLINE"
|
147
149
|
EOF
|
148
150
|
|
149
|
-
prep = ""
|
150
|
-
|
151
151
|
if contain
|
152
152
|
scratch_group_dir = File.join('/gpfs/scratch/', group)
|
153
153
|
projects_group_dir = File.join('/gpfs/projects/', group)
|
@@ -214,6 +214,8 @@ singularity exec -e -C -H "$CONTAINER_DIR" "$SINGULARITY_IMG" rm -Rfv .rbbt/var/
|
|
214
214
|
singularity exec -e -C -H "$CONTAINER_DIR" "$SINGULARITY_IMG" rbbt system clean -f &>> #{fsync}
|
215
215
|
singularity exec -e -C -H "$CONTAINER_DIR" "$SINGULARITY_IMG" rm -Rfv tmp/ &>> #{fsync}
|
216
216
|
EOF
|
217
|
+
else
|
218
|
+
prep = ""
|
217
219
|
end
|
218
220
|
end
|
219
221
|
end
|
data/lib/rbbt/tsv/attach.rb
CHANGED
@@ -243,6 +243,7 @@ module TSV
|
|
243
243
|
Log.debug("Attachment of fields:#{Misc.fingerprint fields } from #{other.filename.inspect} finished.")
|
244
244
|
|
245
245
|
if complete
|
246
|
+
Log.warn "Attaching through index and completing empty rows; keys with wrong format may appear (#{other.key_field} insted of #{self.key_field})" if index
|
246
247
|
fill = TrueClass === complete ? nil : complete
|
247
248
|
field_length = self.fields.length
|
248
249
|
common_fields = (other.fields & self.fields)
|
@@ -255,11 +256,11 @@ module TSV
|
|
255
256
|
case type
|
256
257
|
when :single
|
257
258
|
missing.each do |k|
|
258
|
-
self[k] =
|
259
|
+
self[k] = fill
|
259
260
|
end
|
260
261
|
when :list
|
261
262
|
missing.each do |k|
|
262
|
-
values = [
|
263
|
+
values = [fill] * field_length
|
263
264
|
other_values = other[k]
|
264
265
|
other_common_pos.zip(this_common_pos).each do |o,t|
|
265
266
|
values[t] = other_values[o]
|
@@ -267,8 +268,9 @@ module TSV
|
|
267
268
|
self[k] = values
|
268
269
|
end
|
269
270
|
when :double
|
271
|
+
fill = [] if fill.nil?
|
270
272
|
missing.each do |k|
|
271
|
-
values = [
|
273
|
+
values = [fill] * field_length
|
272
274
|
other_values = other[k]
|
273
275
|
other_common_pos.zip(this_common_pos).each do |o,t|
|
274
276
|
values[t] = other_values[o]
|
@@ -276,8 +278,9 @@ module TSV
|
|
276
278
|
self[k] = values
|
277
279
|
end
|
278
280
|
when :flat
|
281
|
+
fill = [] if fill.nil?
|
279
282
|
missing.each do |k|
|
280
|
-
self[k] =
|
283
|
+
self[k] = fill
|
281
284
|
end
|
282
285
|
end
|
283
286
|
end
|
data/lib/rbbt/tsv/parallel.rb
CHANGED
@@ -77,6 +77,7 @@ module Workflow
|
|
77
77
|
task name do
|
78
78
|
raise RbbtException, "dependency not found in dep_task" if dependencies.empty?
|
79
79
|
dep = dependencies.last.join
|
80
|
+
raise dep.get_exception if dep.error?
|
80
81
|
set_info :result_type, dep.info[:result_type]
|
81
82
|
forget = config :forget_dep_tasks, :forget_dep_tasks, :default => FORGET_DEP_TASKS
|
82
83
|
if forget
|
@@ -566,7 +566,7 @@ row2,CC
|
|
566
566
|
tsv3.keys.each{|k| tsv3[k] = nil if tsv3[k] == ""}
|
567
567
|
end
|
568
568
|
|
569
|
-
assert_equal tsv1.attach(tsv2, :complete => true).attach(tsv3, :complete => true)["row1"]
|
569
|
+
assert_equal [nil, "B", nil], tsv1.attach(tsv2, :complete => true).attach(tsv3, :complete => true)["row1"]
|
570
570
|
end
|
571
571
|
|
572
572
|
def test_attach_index_both_non_key
|
@@ -597,10 +597,10 @@ A Id3
|
|
597
597
|
|
598
598
|
tsv1 = tsv2 = nil
|
599
599
|
|
600
|
-
tsv1 = Rbbt.tmp.test.test1.data.tsv :double, :sep => /\s+/
|
601
|
-
tsv2 = Rbbt.tmp.test.test2.data.tsv :double, :sep => /\s+/
|
600
|
+
tsv1 = Rbbt.tmp.test.test1.data.produce(true).tsv :double, :sep => /\s+/
|
601
|
+
tsv2 = Rbbt.tmp.test.test2.data.produce(true).tsv :double, :sep => /\s+/
|
602
602
|
|
603
|
-
tsv2.identifiers = Rbbt.tmp.test.test2.identifiers.produce.find #.to_s
|
603
|
+
tsv2.identifiers = Rbbt.tmp.test.test2.identifiers.produce(true).produce.find #.to_s
|
604
604
|
|
605
605
|
tsv1.attach tsv2, :fields => ["ValueE"] #, :persist_input => true
|
606
606
|
Log.tsv tsv1
|
@@ -627,12 +627,92 @@ E B
|
|
627
627
|
|
628
628
|
tsv1 = tsv2 = nil
|
629
629
|
|
630
|
-
tsv1 = Rbbt.tmp.test.test1.data.tsv :double, :sep => /\s+/
|
631
|
-
tsv2 = Rbbt.tmp.test.test2.data.tsv :double, :sep => /\s+/
|
630
|
+
tsv1 = Rbbt.tmp.test.test1.data.produce(true).tsv :double, :sep => /\s+/
|
631
|
+
tsv2 = Rbbt.tmp.test.test2.data.produce(true).tsv :double, :sep => /\s+/
|
632
632
|
|
633
633
|
tsv1.attach tsv2, :fields => ["ValueE"] #, :persist_input => true
|
634
634
|
Log.tsv tsv1
|
635
635
|
|
636
636
|
end
|
637
|
+
|
638
|
+
def test_attach_complete
|
639
|
+
content1 =<<-EOF
|
640
|
+
#: :sep=/\\s+/
|
641
|
+
#Id ValueA
|
642
|
+
row1 a|aa|aaa
|
643
|
+
row2 A
|
644
|
+
EOF
|
645
|
+
|
646
|
+
content2 =<<-EOF
|
647
|
+
#: :sep=/\\s+/
|
648
|
+
#Id ValueB
|
649
|
+
row1 b
|
650
|
+
row3 C
|
651
|
+
EOF
|
652
|
+
Rbbt.claim Rbbt.tmp.test.test1.data, :string, content1
|
653
|
+
Rbbt.claim Rbbt.tmp.test.test2.data, :string, content2
|
654
|
+
|
655
|
+
tsv1 = tsv2 = nil
|
656
|
+
|
657
|
+
tsv1 = Rbbt.tmp.test.test1.data.produce(true).tsv :double, :sep => /\s+/
|
658
|
+
tsv2 = Rbbt.tmp.test.test2.data.produce(true).tsv :double, :sep => /\s+/
|
659
|
+
|
660
|
+
tsv1.attach tsv2, :complete => true
|
661
|
+
assert_equal [[], ["C"]], tsv1["row3"]
|
662
|
+
|
663
|
+
tsv1 = Rbbt.tmp.test.test1.data.produce(true).tsv :double, :sep => /\s+/
|
664
|
+
tsv2 = Rbbt.tmp.test.test2.data.produce(true).tsv :double, :sep => /\s+/
|
665
|
+
|
666
|
+
ppp tsv1.attach tsv2, :complete => ["AA"]
|
667
|
+
tsv1.attach tsv2, :complete => ["AA"]
|
668
|
+
assert_equal [["AA"], ["C"]], tsv1["row3"]
|
669
|
+
end
|
670
|
+
|
671
|
+
def test_attach_complete_identifiers
|
672
|
+
content1 =<<-EOF
|
673
|
+
#: :sep=/\\s+/
|
674
|
+
#Id ValueA
|
675
|
+
row1 a|aa|aaa
|
676
|
+
row2 A
|
677
|
+
EOF
|
678
|
+
|
679
|
+
content2 =<<-EOF
|
680
|
+
#: :sep=/\\s+/
|
681
|
+
#Id2 ValueB
|
682
|
+
ROW_1 b
|
683
|
+
ROW_2 C
|
684
|
+
EOF
|
685
|
+
|
686
|
+
identifiers =<<-EOF
|
687
|
+
#: :sep=/\\s+/
|
688
|
+
#Id Id2
|
689
|
+
row1 ROW_1
|
690
|
+
row2 ROW_2
|
691
|
+
row3 ROW_3
|
692
|
+
EOF
|
693
|
+
Rbbt.claim Rbbt.tmp.test.test1.data, :string, content1
|
694
|
+
Rbbt.claim Rbbt.tmp.test.test2.data, :string, content2
|
695
|
+
Rbbt.claim Rbbt.tmp.test.identifiers.data, :string, identifiers
|
696
|
+
|
697
|
+
tsv1 = tsv2 = nil
|
698
|
+
|
699
|
+
tsv1 = Rbbt.tmp.test.test1.data.produce(true).tsv :double, :sep => /\s+/
|
700
|
+
tsv2 = Rbbt.tmp.test.test2.data.produce(true).tsv :double, :sep => /\s+/
|
701
|
+
ids = Rbbt.tmp.test.identifiers.data.produce(true).tsv :double, :sep => /\s+/
|
702
|
+
|
703
|
+
tsv1.identifiers = ids
|
704
|
+
|
705
|
+
tsv1.attach tsv2
|
706
|
+
assert_equal [["A"], ["C"]], tsv1["row2"]
|
707
|
+
|
708
|
+
tsv1 = Rbbt.tmp.test.test1.data.produce(true).tsv :double, :sep => /\s+/
|
709
|
+
tsv2 = Rbbt.tmp.test.test2.data.produce(true).tsv :double, :sep => /\s+/
|
710
|
+
ids = Rbbt.tmp.test.identifiers.data.produce(true).tsv :double, :sep => /\s+/
|
711
|
+
|
712
|
+
tsv1.identifiers = ids
|
713
|
+
|
714
|
+
tsv1.attach tsv2, :complete => true
|
715
|
+
assert_equal [["A"], ["C"]], tsv1["row2"]
|
716
|
+
end
|
637
717
|
end
|
638
718
|
|
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.28.
|
4
|
+
version: 5.28.14
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Miguel Vazquez
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2020-12-
|
11
|
+
date: 2020-12-18 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rake
|