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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 889338e97d8b2f2467dcbbb7d7ecfb1a4904a317702c2b7c7164757efd1f55dc
4
- data.tar.gz: 0e71e707ea5d0bab991aaf25f9dd5bf1d371d36ed6267694934aab92218ba293
3
+ metadata.gz: 74253d97dc17c890ce9022e38ccd514847e785b69f4cfd74a8a5333a9aa1c97d
4
+ data.tar.gz: d908fecdec1c5e6ccce81b3190883011d775f38cab689c136e7c90808c3c93ac
5
5
  SHA512:
6
- metadata.gz: 173386b238dda5361b1c473c90708b783736f3726f868e86dd64f732d3e9474fc9987b133fdfc3d19538ccc19b31eb2f91ae29fa1fedaf150e5d46619ef69c76
7
- data.tar.gz: 306f1058d7248387a7887bed09c4bd21541e6f52462de6b17d2d4b04bb73ebe4f0cdb3a9245e1a24f61fec252587d3b0669623d8544a6fc0d250eeebdad8c47e
6
+ metadata.gz: 7c6b8f81e5f814a35ed3b738ad85d4e7314b9fb24b36ecdb3828d1d4644cc8b9ce4117c862ae7baa0bd7f60362e93be2aff282a2d24c474e327d1d5948f56fff
7
+ data.tar.gz: 3a6235b141f139f245935b8858b175b2d54302b89dc3ac10101ffddfd10d1161760aaf0f176114a4fc6d8f0b8aa17556b8637e2f2ab815dcf875ea98c4825921
@@ -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
@@ -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] = nil
259
+ self[k] = fill
259
260
  end
260
261
  when :list
261
262
  missing.each do |k|
262
- values = [nil] * field_length
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 = [[]] * field_length
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
@@ -2,6 +2,3 @@ require 'rbbt/util/concurrency'
2
2
 
3
3
  require 'rbbt/tsv/parallel/through'
4
4
  require 'rbbt/tsv/parallel/traverse'
5
-
6
- module TSV
7
- end
@@ -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"], [nil, "B", nil]
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.12
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-03 00:00:00.000000000 Z
11
+ date: 2020-12-18 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rake