rbbt-util 5.26.82 → 5.26.83

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: bbd090a9675ca01ab5ff6aa796378676d02038a74a1da6f9421020f6f0071e43
4
- data.tar.gz: 0e6c30b4c7798da7d2ffeed9371f4386031920fe1b5e6c44b5adbc4e0b2fc294
3
+ metadata.gz: f6ab0538fa770f31569dcc29a7c10f69c2baa671faa5d544bc29d67e44188acb
4
+ data.tar.gz: fe65f02a82226b98bff48fc39c862d892d8ffaf1fa68a7b101d7bf5befb67db3
5
5
  SHA512:
6
- metadata.gz: 7257c3c5fe7151e44f5dcc4a61645fba712f991a5a146c3fae61689459bca77a8d0e1d64c92550411eb4b0cdeaa42fef98729d56e13bd8c6e4b5c09cdbdd7e79
7
- data.tar.gz: 3a686d2a66ad91aa764c2637a5f828a0806e3c9caf3296c696511a654551f4a11e388407fe187e4bd215598c7f501a5d586e6d17be3a2d7d4d498f4dea24de9e
6
+ metadata.gz: 756e42e468afcf1d93d4a9616ab2f5ab4eeb1ad6511d91aeb1b447f79ef2f00a076601eb02eec17bddd20576f9824ae34a5db5d913043e17a97758f4bbca84f6
7
+ data.tar.gz: cbd3625ce98062162ef323a10a3e991e60947e883171a1c63af25368af2ee076d622ade4321172a59503744acf47db055ec48003a9fa7ed54d12376f5609eca2
@@ -21,7 +21,7 @@ module TSV
21
21
 
22
22
  def self.paste_streams(streams, options = {})
23
23
  options = Misc.add_defaults options, :sep => "\t", :sort => true
24
- sort, sep, preamble, header, same_fields, fix_flat, all_match = Misc.process_options options, :sort, :sep, :preamble, :header, :same_fields, :fix_flat, :all_match
24
+ sort, sep, preamble, header, same_fields, fix_flat, all_match, field_prefix = Misc.process_options options, :sort, :sep, :preamble, :header, :same_fields, :fix_flat, :all_match, :field_prefix
25
25
 
26
26
  out = Misc.open_pipe do |sin|
27
27
 
@@ -57,12 +57,20 @@ module TSV
57
57
 
58
58
  streams = streams.collect do |stream|
59
59
  parser = TSV::Parser.new stream, options.dup
60
+ sfields = parser.fields
61
+
62
+ if field_prefix
63
+ index = streams.index stream
64
+ prefix = field_prefix[index]
65
+
66
+ sfields = sfields.collect{|f| [prefix, f] * ":" }
67
+ end
60
68
 
61
69
  lines << parser.first_line
62
70
  empty << stream if parser.first_line.nil?
63
71
  key_fields << parser.key_field
64
- fields << parser.fields
65
- sizes << parser.fields.length if parser.fields
72
+ fields << sfields
73
+ sizes << sfields.length if sfields
66
74
  input_options << parser.options
67
75
  preambles << parser.preamble if preamble and not parser.preamble.empty?
68
76
 
@@ -40,6 +40,7 @@ source('#{UTIL}');
40
40
  Log.debug{"R Script:\n#{ cmd }"}
41
41
 
42
42
  if monitor
43
+ #io = CMD.cmd('R --no-save --quiet', options.merge(:in => cmd, :pipe => true, :log => true))
43
44
  io = CMD.cmd('R --no-save --quiet', options.merge(:in => cmd, :pipe => true, :log => true))
44
45
  while line = io.gets
45
46
  case monitor
@@ -220,16 +220,12 @@ data = NULL
220
220
  options[:R_open] ||= "colClasses=c('character'," + field_classes * ", " + ')' if field_classes.any?
221
221
 
222
222
  data.R <<-EOF, :plot, options
223
- png("#{ filename }", #{ width }, #{ height })
224
- { #{script} }
225
- dev.off()
223
+ rbbt.png_plot("#{ filename }", width=#{ width }, height = #{ height }, function(){ #{script} })
226
224
  data = NULL
227
225
  EOF
228
226
  else
229
227
  R.run <<-EOF, :plot, options
230
- png("#{ filename }", #{ width }, #{ height })
231
- { #{script} }
232
- dev.off()
228
+ rbbt.png_plot("#{ filename }", width=#{ width }, height = #{ height }, function(){ #{script} })
233
229
  EOF
234
230
  end
235
231
  end
@@ -110,7 +110,7 @@ module Rbbt::Config
110
110
  end
111
111
  end
112
112
 
113
- value = priorities.empty? ? default : priorities.collect{|p| p }.sort_by{|p,v| p}.first.last.last
113
+ value = priorities.empty? ? default : priorities.collect{|p| p }.sort_by{|p,v| p}.first.last.first
114
114
  value = false if value == 'false'
115
115
 
116
116
  Log.debug "Value #{value.inspect} for config key '#{ key }': #{tokens * ", "}"
@@ -422,7 +422,7 @@ module Workflow
422
422
  task_inputs = task_info[:inputs]
423
423
  persist_inputs = inputs.values_at(*task_inputs)
424
424
  persist_inputs += inputs.values_at(*inputs.keys.select{|k| String === k && k.include?("#") }.sort)
425
- Persist.memory("STEP", :taskname => taskname, :jobname => jobname, :inputs => persist_inputs, :repo => step_cache) do
425
+ Persist.memory("STEP", :workflow => self.to_s, :taskname => taskname, :jobname => jobname, :inputs => persist_inputs, :repo => step_cache) do
426
426
  __job(taskname, jobname, inputs)
427
427
  end
428
428
  end
@@ -563,14 +563,22 @@ rbbt.get.modes <- function(x,bw = NULL,spar = NULL) {
563
563
  #{{{ PLOTS
564
564
 
565
565
  rbbt.png_plot <- function(filename, p, width=500, height=500, ...){
566
- png(filename=filename, width=width, height=height, ...);
567
- eval(parse(text=p));
566
+ png(filename=filename, width=width, height=height, type='cairo', ...);
567
+ if (is.function(p)) {
568
+ p()
569
+ }else{
570
+ eval(parse(text=p));
571
+ }
568
572
  dev.off()
569
573
  }
570
574
 
571
575
  rbbt.tiff_plot <- function(filename, p, width=500, height=500, ...){
572
576
  tiff(filename=filename, width=width, height=height, ...);
573
- eval(parse(text=p));
577
+ if (is.function(p)) {
578
+ p()
579
+ }else{
580
+ eval(parse(text=p));
581
+ }
574
582
  dev.off()
575
583
  }
576
584
 
@@ -713,9 +721,21 @@ rbbt.plot.matrix <- function(x, ...){
713
721
  layout(1);
714
722
  }
715
723
 
724
+ rbbt.plot.set_colors <- function(size, set="Set1"){
725
+ rbbt.require('RColorBrewer')
726
+ return(brewer.pal(size, set))
727
+ }
728
+
716
729
  # Adapted from: https://rstudio-pubs-static.s3.amazonaws.com/13301_6641d73cfac741a59c0a851feb99e98b.html
717
- rbbt.plot.venn <- function(data, a, ...) {
730
+ rbbt.plot.venn <- function(data, a=NULL, category=NULL, fill=NULL, ...) {
718
731
  rbbt.require('VennDiagram')
732
+
733
+ if (is.null(a)){
734
+ a = names(data);
735
+ category = a;
736
+ fill=rbbt.plot.set_colors(dim(data)[2], "Set3")
737
+ }
738
+
719
739
  group.matches <- function(data, fields) {
720
740
  sub = data
721
741
  for (i in 1:length(fields)) {
@@ -725,20 +745,20 @@ rbbt.plot.venn <- function(data, a, ...) {
725
745
  }
726
746
 
727
747
  if (length(a) == 1) {
728
- out <- draw.single.venn(group.matches(data, a), ...)
748
+ out <- draw.single.venn(group.matches(data, a), category=category, fill=fill, ...)
729
749
  }
730
750
  if (length(a) == 2) {
731
- out <- draw.pairwise.venn(group.matches(data, a[1]), group.matches(data, a[2]), group.matches(data, a[1:2]), ...)
751
+ out <- draw.pairwise.venn(group.matches(data, a[1]), group.matches(data, a[2]), group.matches(data, a[1:2]), category=category, fill=fill, ...)
732
752
  }
733
753
  if (length(a) == 3) {
734
754
  out <- draw.triple.venn(group.matches(data, a[1]), group.matches(data, a[2]), group.matches(data, a[3]), group.matches(data, a[1:2]),
735
- group.matches(data, a[2:3]), group.matches(data, a[c(1, 3)]), group.matches(data, a), ...)
755
+ group.matches(data, a[2:3]), group.matches(data, a[c(1, 3)]), group.matches(data, a), category=category, fill=fill, ...)
736
756
  }
737
757
  if (length(a) == 4) {
738
758
  out <- draw.quad.venn(group.matches(data, a[1]), group.matches(data, a[2]), group.matches(data, a[3]), group.matches(data, a[4]),
739
759
  group.matches(data, a[1:2]), group.matches(data, a[c(1, 3)]), group.matches(data, a[c(1, 4)]), group.matches(data, a[2:3]),
740
760
  group.matches(data, a[c(2, 4)]), group.matches(data, a[3:4]), group.matches(data, a[1:3]), group.matches(data, a[c(1, 2,
741
- 4)]), group.matches(data, a[c(1, 3, 4)]), group.matches(data, a[2:4]), group.matches(data, a), ...)
761
+ 4)]), group.matches(data, a[c(1, 3, 4)]), group.matches(data, a[2:4]), group.matches(data, a), category=category, fill=fill, ...)
742
762
  }
743
763
  if (length(a) == 5) {
744
764
  out <- draw.quintuple.venn(
@@ -755,7 +775,7 @@ rbbt.plot.venn <- function(data, a, ...) {
755
775
  group.matches(data, a[c(3, 4, 5)]),
756
776
  group.matches(data, a[c(1, 2, 3, 4)]),group.matches(data, a[c(1, 2, 3, 5)]),group.matches(data, a[c(1, 2, 4, 5)]),group.matches(data, a[c(1, 3, 4, 5)]),group.matches(data, a[c(2, 3, 4, 5)]),
757
777
  group.matches(data, a),
758
- ...)
778
+ category=category, fill=fill, ...)
759
779
 
760
780
  }
761
781
  if (!exists("out"))
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.26.82
4
+ version: 5.26.83
5
5
  platform: ruby
6
6
  authors:
7
7
  - Miguel Vazquez
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2019-10-03 00:00:00.000000000 Z
11
+ date: 2019-10-14 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rake