rbbt-util 5.21.130 → 5.21.131

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 6996eb266a74a60fe3d8dbe789eccdc1aef28f63
4
- data.tar.gz: cae5ae771a6fb59164c08952b189d399343e2be7
3
+ metadata.gz: 30f68eea441653388fb59fd05ae206e5b120b8eb
4
+ data.tar.gz: 88a93f9598386c6605e086ce575c2d0ff31a3146
5
5
  SHA512:
6
- metadata.gz: 60e9b3df6233872a4cbabd811a136d0778e7ba7a57833539c802ca7a7a7d8b94d3593fa35f5523d38d008e1327b579ad39cb96b11fcb94682fc569e529d56c51
7
- data.tar.gz: b4aaa61f8fe810af9f0a6bdcf45b95bd6903563ffe21421f7987a7701f03af6c3fcb2dcb8be5c62ebc6ea842502229f9577bb2c2f5dbf87f01818fbb71854b21
6
+ metadata.gz: 2d21f9912e46073ec0c7593e15702be44445f9928405d70a5dd9c2d92c53d42cd0f04be8c9a33f9dd6dd29229ca4ec39a902cf3dc55682b15b7c9c081a5092c0
7
+ data.tar.gz: 22a459d7ed570054f06d3d33b9202ac577bded51a21c105669afa7e1d3cff160973a9f03bf3252f88518ade85418ba087430426f9fc5ecb3f3b7bcbdc9539c26
@@ -574,7 +574,20 @@ module TSV
574
574
  if keys
575
575
  keys.each do |key|
576
576
  if unmerge
577
- Misc.zip_fields(self[key]).each do |values|
577
+ value_list = self[key]
578
+ max = value_list.collect{|v| v.length}.max
579
+
580
+ if unmerge == :expand and max > 1
581
+ value_list = value_list.collect do |values|
582
+ if values.length == 1
583
+ [values.first] * max
584
+ else
585
+ values
586
+ end
587
+ end
588
+ end
589
+
590
+ Misc.zip_fields(value_list).each do |values|
578
591
  dumper.add key, values
579
592
  end
580
593
  else
@@ -583,14 +596,26 @@ module TSV
583
596
  end
584
597
  else
585
598
  with_unnamed do
586
- each do |k,v|
599
+ each do |k,value_list|
587
600
 
588
601
  if unmerge
589
- Misc.zip_fields(v).each do |values|
602
+ max = value_list.collect{|v| v.length}.max
603
+
604
+ if unmerge == :expand and max > 1
605
+ value_list = value_list.collect do |values|
606
+ if values.length == 1
607
+ [values.first] * max
608
+ else
609
+ values
610
+ end
611
+ end
612
+ end
613
+
614
+ Misc.zip_fields(value_list).each do |values|
590
615
  dumper.add k, values
591
616
  end
592
617
  else
593
- dumper.add k, v
618
+ dumper.add k, value_list
594
619
  end
595
620
  end
596
621
  end
@@ -625,6 +650,14 @@ module TSV
625
650
  str
626
651
  end
627
652
 
653
+ def to_unmerged_s(keys = nil, no_options = false)
654
+ to_s keys, no_options, true
655
+ end
656
+
657
+ def to_unmerged_expanded_s(keys = nil, no_options = false)
658
+ to_s keys, no_options, :expand
659
+ end
660
+
628
661
  def value_peek
629
662
  peek = {}
630
663
  i = 0
@@ -100,9 +100,18 @@ module TSV
100
100
  text = Misc.process_options options, :text
101
101
 
102
102
  header = true unless header == false
103
- sheet ||= 0
104
- TmpFile.with_file do |filename|
105
- workbook = Spreadsheet.open Open.open(file)
103
+ sheet ||= "0"
104
+
105
+ workbook = Spreadsheet.open Open.open(file)
106
+
107
+ if sheet && sheet.to_s =~ /^\d+$/
108
+ sheet = workbook.worksheets.collect{|s| s.sheet_name }[sheet.to_i]
109
+ end
110
+ sheet_name = sheet
111
+ Log.debug "Opening LSX #{file} sheet #{ sheet_name }"
112
+
113
+ TmpFile.with_file :extension => Misc.sanitize_filename(sheet_name) do |filename|
114
+
106
115
  sheet = workbook.worksheet sheet
107
116
 
108
117
  rows = []
@@ -156,8 +165,17 @@ module TSV
156
165
  text = Misc.process_options options, :text
157
166
 
158
167
  header = true unless header == false
159
- TmpFile.with_file do |filename|
160
- workbook = RubyXL::Parser.parse file
168
+
169
+ sheet ||= "0"
170
+ workbook = RubyXL::Parser.parse file
171
+ if sheet && sheet =~ /^\d+$/
172
+ sheet = workbook.worksheets.collect{|s| s.sheet_name }[sheet.to_i]
173
+ end
174
+ sheet_name = sheet
175
+ Log.debug "Opening XLSX #{file} sheet #{ sheet_name }"
176
+
177
+ TmpFile.with_file :extension => Misc.sanitize_filename(sheet_name) do |filename|
178
+
161
179
  sheet = sheet ? workbook[sheet] : workbook.worksheets.first
162
180
 
163
181
  rows = []
data/lib/rbbt/tsv/util.rb CHANGED
@@ -328,6 +328,7 @@ module TSV
328
328
  end
329
329
  self.annotate(new)
330
330
  new.type = :single
331
+ new.fields = [new.fields.first] if new.fields.length > 1
331
332
  new
332
333
  end
333
334
 
@@ -167,7 +167,7 @@ module Misc
167
167
  while ref.length >= 1 and muts.reject{|m| m[0] == ref[0]}.empty?
168
168
  ref = ref[1..-1]
169
169
  raise "REF nil" if ref.nil?
170
- pos = pos + 1
170
+ pos = pos + 1 unless ref.empty?
171
171
  muts = muts.collect{|m| m[1..-1]}
172
172
  end
173
173
 
data/share/Rlib/svg.R CHANGED
@@ -19,7 +19,7 @@ rbbt.SVG.extract <- function(plot, size=NULL, prefix=NULL, ...){
19
19
  base.size = 10 * (7/size)
20
20
  resolution = 72 * (size/7)
21
21
 
22
- if (length(plot$theme) == 0) plot <- plot + theme_gdocs();
22
+ if (length(plot$theme) == 0) plot <- plot + theme_light();
23
23
  if (length(plot$theme$text) == 0) plot <- plot + theme(text = element_text(size=base.size));
24
24
 
25
25
  plot$theme$text$size = base.size
@@ -42,6 +42,5 @@ if options[:print]
42
42
  puts cmd
43
43
  exit 0
44
44
  else
45
- io = CMD.cmd(cmd, :log => true, :pipe => true)
46
- Misc.consume_stream(io, false, STDOUT)
45
+ CMD.cmd_log(cmd)
47
46
  end
@@ -106,7 +106,7 @@ def fix_options(workflow, task, job_options)
106
106
  end
107
107
  end
108
108
  when :array
109
- if input_options[name] and input_options[name][:stream] and String === value and Misc.is_filename? value
109
+ if input_options[name] and input_options[name][:stream] and String === value and Misc.is_filename?(value) and not input_options[name][:nofile]
110
110
  get_value_stream(value)
111
111
  elsif input_options[name] and input_options[name][:stream] and value == "-"
112
112
  STDIN
@@ -119,7 +119,7 @@ def fix_options(workflow, task, job_options)
119
119
  when value == '-'
120
120
  array_separator ||= "\n"
121
121
  STDIN.read
122
- when (String === value and File.exist?(value))
122
+ when (String === value and File.exist?(value) and not input_options[name][:nofile])
123
123
  array_separator ||= "\n"
124
124
  Open.read(value)
125
125
  else
@@ -222,6 +222,20 @@ row2 aa|aa|AA|AA b1|b2|B1|B2 Id1|Id1|Id2|Id2
222
222
  end
223
223
  end
224
224
 
225
+ def test_to_s_unmerge_expand
226
+ content =<<-EOF
227
+ #Id ValueA ValueB OtherID
228
+ row1 a|A b|B Id1
229
+ row2 aa|aa|AA|AA b1|b2|B1|B2 Id2
230
+ EOF
231
+
232
+ TmpFile.with_file(content) do |filename|
233
+ tsv = TSV.open(filename, :sep => /\s+/)
234
+ text = tsv.to_s(nil, false, :expand)
235
+ assert text =~ /row2\taa\tb2\tId2/
236
+ end
237
+ end
238
+
225
239
  def test_remove_duplicates
226
240
  content =<<-EOF
227
241
  #Id ValueA ValueB OtherID
@@ -428,6 +428,10 @@ eum fugiat quo voluptas nulla pariatur?"
428
428
  assert_equal [737407, ["-----", "-----G", "-----GTTAAT"]], Misc.correct_vcf_mutation(737406, "GTTAAT", "G,GG,GGTTAAT")
429
429
  end
430
430
 
431
+ def test_mutation_to_ensembl_format
432
+ assert_equal Misc.mutation_to_ensembl_format("1:100:T", "A"), %w(1 100 100 A/T)
433
+ end
434
+
431
435
  def test_fingerprint
432
436
  assert_equal '{:a=>1}', Misc.fingerprint({:a => 1})
433
437
  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.21.130
4
+ version: 5.21.131
5
5
  platform: ruby
6
6
  authors:
7
7
  - Miguel Vazquez
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2018-06-11 00:00:00.000000000 Z
11
+ date: 2018-06-15 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rake