miga-base 0.3.1.7 → 0.3.2.0

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.
Files changed (68) hide show
  1. checksums.yaml +4 -4
  2. data/actions/ncbi_get.rb +8 -0
  3. data/lib/miga/common.rb +9 -215
  4. data/lib/miga/common/base.rb +49 -0
  5. data/lib/miga/common/format.rb +135 -0
  6. data/lib/miga/common/path.rb +49 -0
  7. data/lib/miga/daemon.rb +3 -60
  8. data/lib/miga/daemon/base.rb +69 -0
  9. data/lib/miga/dataset.rb +3 -3
  10. data/lib/miga/dataset/result.rb +5 -5
  11. data/lib/miga/result.rb +5 -0
  12. data/lib/miga/version.rb +7 -5
  13. data/scripts/distances.bash +2 -19
  14. data/scripts/taxonomy.bash +2 -21
  15. data/test/common_test.rb +9 -0
  16. data/utils/distance/base.rb +6 -0
  17. data/utils/distance/commands.rb +82 -0
  18. data/utils/distance/database.rb +86 -0
  19. data/utils/distance/pipeline.rb +98 -0
  20. data/utils/distance/runner.rb +104 -0
  21. data/utils/distance/temporal.rb +37 -0
  22. data/utils/distances.rb +9 -0
  23. data/utils/enveomics/Docs/recplot2.md +233 -0
  24. data/utils/enveomics/Makefile +1 -1
  25. data/utils/enveomics/Manifest/Tasks/blasttab.json +66 -0
  26. data/utils/enveomics/Manifest/Tasks/fasta.json +10 -3
  27. data/utils/enveomics/Manifest/Tasks/fastq.json +4 -4
  28. data/utils/enveomics/Manifest/Tasks/mapping.json +38 -1
  29. data/utils/enveomics/Manifest/categories.json +11 -1
  30. data/utils/enveomics/Manifest/examples.json +2 -2
  31. data/utils/enveomics/README.md +2 -0
  32. data/utils/enveomics/Scripts/Aln.cat.rb +1 -0
  33. data/utils/enveomics/Scripts/BedGraph.tad.rb +52 -30
  34. data/utils/enveomics/Scripts/BedGraph.window.rb +71 -0
  35. data/utils/enveomics/Scripts/BlastTab.recplot2.R +7 -2
  36. data/utils/enveomics/Scripts/FastA.interpose.pl +26 -20
  37. data/utils/enveomics/Scripts/FastQ.interpose.pl +20 -20
  38. data/utils/enveomics/Scripts/RecPlot2.compareIdentities.R +32 -0
  39. data/utils/enveomics/Scripts/SRA.download.bash +28 -21
  40. data/utils/enveomics/Scripts/Table.barplot.R +1 -0
  41. data/utils/enveomics/Scripts/aai.rb +4 -2
  42. data/utils/enveomics/build_enveomics_r.bash +5 -5
  43. data/utils/enveomics/enveomics.R/DESCRIPTION +1 -1
  44. data/utils/enveomics/enveomics.R/NAMESPACE +6 -2
  45. data/utils/enveomics/enveomics.R/R/recplot2.R +471 -71
  46. data/utils/enveomics/enveomics.R/README.md +26 -17
  47. data/utils/enveomics/enveomics.R/man/enve.recplot2-class.Rd +1 -1
  48. data/utils/enveomics/enveomics.R/man/enve.recplot2.ANIr.Rd +23 -0
  49. data/utils/enveomics/enveomics.R/man/enve.recplot2.Rd +6 -3
  50. data/utils/enveomics/enveomics.R/man/enve.recplot2.compareIdentities.Rd +32 -0
  51. data/utils/enveomics/enveomics.R/man/enve.recplot2.coordinates.Rd +24 -0
  52. data/utils/enveomics/enveomics.R/man/enve.recplot2.extractWindows.Rd +12 -7
  53. data/utils/enveomics/enveomics.R/man/enve.recplot2.findPeaks.Rd +8 -37
  54. data/utils/enveomics/enveomics.R/man/enve.recplot2.findPeaks.__em_e.Rd +20 -0
  55. data/utils/enveomics/enveomics.R/man/enve.recplot2.findPeaks.__em_m.Rd +20 -0
  56. data/utils/enveomics/enveomics.R/man/enve.recplot2.findPeaks.__emauto_one.Rd +29 -0
  57. data/utils/enveomics/enveomics.R/man/enve.recplot2.findPeaks.__mow_one.Rd +42 -0
  58. data/utils/enveomics/enveomics.R/man/enve.recplot2.findPeaks.__mower.Rd +18 -0
  59. data/utils/enveomics/enveomics.R/man/enve.recplot2.findPeaks.em.Rd +33 -0
  60. data/utils/enveomics/enveomics.R/man/enve.recplot2.findPeaks.emauto.Rd +28 -0
  61. data/utils/enveomics/enveomics.R/man/enve.recplot2.findPeaks.mower.Rd +56 -0
  62. data/utils/enveomics/enveomics.R/man/enve.recplot2.peak-class.Rd +3 -1
  63. data/utils/enveomics/enveomics.R/man/enve.recplot2.seqdepth.Rd +22 -0
  64. data/utils/enveomics/enveomics.R/man/plot.enve.recplot2.Rd +20 -14
  65. data/utils/requirements.txt +1 -1
  66. metadata +28 -4
  67. data/utils/enveomics/enveomics.R/man/enve.recplot2.__findPeak.Rd +0 -40
  68. data/utils/enveomics/enveomics.R/man/enve.recplot2.__findPeaks.Rd +0 -18
@@ -7,7 +7,7 @@ include globals.mk
7
7
 
8
8
  TEST=Tests
9
9
  enveomics_r=enveomics.R
10
- enveomics_r_v=enveomics.R_1.1.6
10
+ enveomics_r_v=enveomics.R_1.3
11
11
  .PHONY: test install install-scripts install-r uninstall install-deps
12
12
 
13
13
  test: $(enveomics_r_v).tar.gz
@@ -623,6 +623,7 @@
623
623
  { "r_package": "optparse" },
624
624
  { "r_package": "enveomics.R" }
625
625
  ],
626
+ "see_also": [ "RecPlot2.compareIdentities.R" ],
626
627
  "options": [
627
628
  {
628
629
  "opt": "--prefix",
@@ -644,6 +645,12 @@
644
645
  "default": 300,
645
646
  "description": ["Breaks in the identity histogram."]
646
647
  },
648
+ {
649
+ "opt": "--id-free-range",
650
+ "description": ["Indicates that the range should be freely set from",
651
+ "the observed values. Otherwise, 70-100% is included in the",
652
+ "identity histogram (default)."]
653
+ },
647
654
  {
648
655
  "opt": "--id-metric",
649
656
  "arg": "select",
@@ -684,6 +691,13 @@
684
691
  "description": ["Color of peaks, mandatory for peak-finding (e.g.,",
685
692
  "darkred)."]
686
693
  },
694
+ {
695
+ "opt": "--peaks-method",
696
+ "arg": "select",
697
+ "values": ["emauto","em","mower"],
698
+ "default": "emauto",
699
+ "description": "Method to detect peaks."
700
+ },
687
701
  {
688
702
  "name": "R Object Output",
689
703
  "arg": "out_file",
@@ -707,6 +721,58 @@
707
721
  "description": "Height of the plot in inches (7 by default)."
708
722
  }
709
723
  ]
724
+ },
725
+ {
726
+ "task": "RecPlot2.compareIdentities.R",
727
+ "description": ["Calculates the difference between identity",
728
+ "distributions of two recruitment plots."],
729
+ "help_arg": "--help",
730
+ "requires": [
731
+ { "r_package": "optparse" },
732
+ { "r_package": "enveomics.R" }
733
+ ],
734
+ "see_also": [ "BlastTab.recplot2.R" ],
735
+ "options": [
736
+ {
737
+ "opt": "--method",
738
+ "arg": "string",
739
+ "default": "hellinger",
740
+ "description": ["Distance method to use. This should be (an",
741
+ "unambiguous abbreviation of) one of:",
742
+ "'hellinger' (Hellinger, 1090, doi:10.1515/crll.1909.136.210),",
743
+ "'bhattacharyya' (Bhattacharyya, 1943, Bull. Calcutta Math. Soc.",
744
+ "35), 'kl' or 'kullback–leibler' (Kullback & Leibler, 1951,",
745
+ "doi:10.1214/aoms/1177729694), or 'euclidean'."]
746
+ },
747
+ {
748
+ "opt": "--pseudocounts",
749
+ "arg": "float",
750
+ "default": 0.0,
751
+ "description": ["Smoothing parameter for Laplace smoothing. Use 0",
752
+ "for no smoothing, or 1 for add-one smoothing."]
753
+ },
754
+ {
755
+ "opt": "--max-deviation",
756
+ "arg": "float",
757
+ "description": ["Maximum mean deviation between identity breaks",
758
+ "tolerated (as percent identity). Difference in number of",
759
+ "id.breaks is never tolerated."]
760
+ },
761
+ {
762
+ "arg": "in_file",
763
+ "name": "RecPlot A",
764
+ "mandatory": true,
765
+ "description": ["File containing the R object `rp` for the first",
766
+ "recruitment plot."]
767
+ },
768
+ {
769
+ "arg": "in_file",
770
+ "name": "RecPlot B",
771
+ "mandatory": true,
772
+ "description": ["File containing the R object `rp` for the second",
773
+ "recruitment plot."]
774
+ }
775
+ ]
710
776
  }
711
777
  ]
712
778
  }
@@ -158,12 +158,19 @@
158
158
  "warn": ["Please note that this script will check for the consistency of",
159
159
  "the names (assuming a pair of related reads contains the same name",
160
160
  "varying only in a trailing slash (/) followed by a digit. If you want",
161
- "to turn this feature off just set the $eval_T variable to zero. If",
161
+ "to turn this feature off just set the checking period to zero. If",
162
162
  "you want to decrease the sampling period (to speed the script up) or",
163
- "increase it (to make it more sensitive to errors) just change $eval_T",
164
- "accordingly."],
163
+ "increase it (to make it more sensitive to errors) just change the ",
164
+ "checking period accordingly."],
165
165
  "help_arg": "",
166
166
  "options": [
167
+ {
168
+ "name": "Checking period",
169
+ "opt": "-T",
170
+ "arg": "integer",
171
+ "default": 1000,
172
+ "description": "Sampling period for names evaluation."
173
+ },
167
174
  {
168
175
  "arg": "out_file",
169
176
  "mandatory": true,
@@ -45,10 +45,10 @@
45
45
  "warn": ["Note that this script will check for the consistency of the",
46
46
  "names (assuming a pair of related reads contains the same name",
47
47
  "varying only in a trailing slash (/) followed by a digit. If you want",
48
- "to turn this feature off just set the -T option to zero. If you want",
49
- "to decrease the sampling period (to speed the script up) or increase",
50
- "it (to make it more sensitive to errors) just change -T option",
51
- "accordingly."],
48
+ "to turn this feature off just set the checking period to zero. If you",
49
+ "want to decrease the sampling period (to speed the script up) or",
50
+ "increase it (to make it more sensitive to errors) just change the",
51
+ "checking period accordingly."],
52
52
  "see_also": ["FastQ.split.pl","FastA.interpose.pl"],
53
53
  "help_arg": "",
54
54
  "options": [
@@ -8,7 +8,8 @@
8
8
  "missing from the file. If you produce your BedGraph file with",
9
9
  "bedtools genomecov and want to consider zero-coverage position, be",
10
10
  "sure to use -bga (not -bg)."],
11
- "see_also": ["BlastTab.seqdepth.pl", "BlastTab.seqdepth_ZIP.pl"],
11
+ "see_also": ["BedGraph.window.rb",
12
+ "BlastTab.seqdepth.pl", "BlastTab.seqdepth_ZIP.pl"],
12
13
  "help_arg": "--help",
13
14
  "options": [
14
15
  {
@@ -23,6 +24,42 @@
23
24
  "default": 0.5,
24
25
  "description": ["Central range to consider, between 0 and 1. By",
25
26
  "default: inter-quartile range (0.5)."]
27
+ },
28
+ {
29
+ "opt": "--per-seq",
30
+ "description": ["Calculate averages per reference sequence, not",
31
+ "total. Assumes a sorted BedGraph file."]
32
+ },
33
+ {
34
+ "opt": "--length",
35
+ "description": "Add sequence length to the output."
36
+ }
37
+ ]
38
+ },
39
+ {
40
+ "task": "BedGraph.window.rb",
41
+ "description": ["Estimates the sequencing depth per windows from a",
42
+ "BedGraph file."],
43
+ "warn": ["This script doesn't consider zero-coverage positions if",
44
+ "missing from the file. If you produce your BedGraph file with",
45
+ "bedtools genomecov and want to consider zero-coverage position, be",
46
+ "sure to use -bga (not -bg)."],
47
+ "see_also": ["BedGraph.tad.rb",
48
+ "BlastTab.seqdepth.pl", "BlastTab.seqdepth_ZIP.pl"],
49
+ "help_arg": "--help",
50
+ "options": [
51
+ {
52
+ "opt": "--input",
53
+ "arg": "in_file",
54
+ "mandatory": true,
55
+ "description": "Input BedGraph file."
56
+ },
57
+ {
58
+ "name": "Window size",
59
+ "opt": "--win",
60
+ "arg": "float",
61
+ "default": 1000,
62
+ "description": "Window size, in base pairs."
26
63
  }
27
64
  ]
28
65
  }
@@ -3,6 +3,7 @@
3
3
  "Sequence similarity search": {
4
4
  "Statistics": [
5
5
  "BedGraph.tad.rb",
6
+ "BedGraph.window.rb",
6
7
  "BlastPairwise.AAsubs.pl",
7
8
  "BlastTab.advance.bash",
8
9
  "BlastTab.recplot2.R",
@@ -10,7 +11,8 @@
10
11
  "BlastTab.seqdepth_nomedian.pl",
11
12
  "BlastTab.seqdepth_ZIP.pl",
12
13
  "BlastTab.sumPerHit.pl",
13
- "FastQ.test-error.rb"
14
+ "FastQ.test-error.rb",
15
+ "RecPlot2.compareIdentities.R"
14
16
  ],
15
17
  "Manipulation": [
16
18
  "BlastTab.addlen.rb",
@@ -134,6 +136,14 @@
134
136
  "Clustering": [
135
137
  "ogs.mcl.rb",
136
138
  "clust.rand.rb"
139
+ ],
140
+ "Read recruitments": [
141
+ "BedGraph.tad.rb",
142
+ "BedGraph.window.rb",
143
+ "BlastTab.catsbj.pl",
144
+ "BlastTab.pairedHits.rb",
145
+ "BlastTab.recplot2.R",
146
+ "RecPlot2.compareIdentities.R"
137
147
  ]
138
148
  }
139
149
  }
@@ -56,8 +56,8 @@
56
56
  "task": "BlastTab.recplot2.R",
57
57
  "description": ["Generates recruitment plots for a comparison",
58
58
  "between a virome containing HIV and the HIV-1 genome."],
59
- "values": ["hiv_mix-hiv1.blast.tsv",50,100,null,null,null,null,null,"NA",
60
- "hiv_mix-hiv1.Rdata","hiv_mix-hiv1.pdf",null,null]
59
+ "values": ["hiv_mix-hiv1.blast.tsv",50,100,null,null,null,null,null,null,
60
+ null,null,"hiv_mix-hiv1.Rdata","hiv_mix-hiv1.pdf",null,null]
61
61
  },
62
62
  {
63
63
  "_": "== Examples of functional annotations ==",
@@ -29,6 +29,8 @@ http://www.perlfoundation.org/artistic_license_2_0.
29
29
  Most scripts in this repository are self-documented. However,
30
30
  more extensive documentation (and some discussion) can be found at the
31
31
  [documentation website](http://enve-omics.ce.gatech.edu/enveomics/docs).
32
+ Additional documentation for recruitment plots can be found
33
+ [here](Docs/recplot2.md).
32
34
 
33
35
  ## Citation
34
36
 
@@ -129,6 +129,7 @@ begin
129
129
  puts ">#{key}", a[key].join("").gsub(/(.{1,60})/, "\\1\n")
130
130
  a.delete(key)
131
131
  end
132
+ $stderr.puts " #{lengths.inject(:+)} columns." unless o[:q]
132
133
  unless o[:coords].nil?
133
134
  $stderr.puts "Generating coordinates." unless o[:q]
134
135
  coords = File.open(o[:coords],"w")
@@ -1,9 +1,9 @@
1
1
  #!/usr/bin/env ruby
2
2
 
3
- require "optparse"
3
+ require 'optparse'
4
4
 
5
- o = {range:0.5}
6
- ARGV << "-h" if ARGV.empty?
5
+ o = {range: 0.5, perseq: false, length: false}
6
+ ARGV << '-h' if ARGV.empty?
7
7
  OptionParser.new do |opt|
8
8
  opt.banner = "
9
9
  Estimates the truncated average sequencing depth (TAD) from a BedGraph file.
@@ -13,20 +13,26 @@ OptionParser.new do |opt|
13
13
  want to consider zero-coverage position, be sure to use -bga (not -bg).
14
14
 
15
15
  Usage: #{$0} [options]"
16
- opt.separator ""
17
- opt.on("-i", "--input PATH",
18
- "Input BedGraph file (mandatory)."){ |v| o[:i]=v }
19
- opt.on("-r", "--range FLOAT",
20
- "Central range to consider, between 0 and 1.",
16
+ opt.separator ''
17
+ opt.on('-i', '--input PATH',
18
+ 'Input BedGraph file (mandatory).'){ |v| o[:i]=v }
19
+ opt.on('-r', '--range FLOAT',
20
+ 'Central range to consider, between 0 and 1.',
21
21
  "By default: #{o[:range]} (inter-quartile range)."
22
22
  ){ |v| o[:range]=v.to_f }
23
- opt.on("-h", "--help", "Display this screen.") do
23
+ opt.on('-s', '--per-seq',
24
+ 'Calculate averages per reference sequence, not total.',
25
+ 'Assumes a sorted BedGraph file.'
26
+ ){ |v| o[:perseq] = v }
27
+ opt.on('-l', '--length',
28
+ 'Add sequence length to the output.'){ |v| o[:length] = v }
29
+ opt.on('-h', '--help', 'Display this screen.') do
24
30
  puts opt
25
31
  exit
26
32
  end
27
- opt.separator ""
33
+ opt.separator ''
28
34
  end.parse!
29
- abort "-i is mandatory." if o[:i].nil?
35
+ abort '-i is mandatory.' if o[:i].nil?
30
36
 
31
37
  def pad(d, idx, r)
32
38
  idx.each do |i|
@@ -39,33 +45,49 @@ def pad(d, idx, r)
39
45
  d
40
46
  end
41
47
 
48
+ def report(sq, d, ln, o)
49
+ # Estimate padding ranges
50
+ pad = (1.0-o[:range])/2.0
51
+ r = (pad*ln).round
52
+
53
+ # Pad
54
+ d = pad(d, d.each_index.to_a, r+0)
55
+ d = pad(d, d.each_index.to_a.reverse, r+0)
56
+
57
+ # Average
58
+ y = [0.0]
59
+ unless d.compact.empty?
60
+ s = d.each_with_index.to_a.map{ |v,i| v.nil? ? 0 : i*v }.inject(0,:+)
61
+ y[0] = s.to_f/d.compact.inject(:+)
62
+ end
63
+
64
+ # Report
65
+ y.unshift(sq) if o[:perseq]
66
+ y << ln if o[:length]
67
+ puts y.join("\t")
68
+ end
69
+
42
70
  # Read BedGraph
43
- d = []
71
+ d = []
44
72
  ln = 0
73
+ pre_sq = nil
45
74
  File.open(o[:i], "r") do |ifh|
46
75
  ifh.each_line do |i|
47
76
  next if i =~ /^#/
48
- r = i.chomp.split("\t")[1 .. -1].map{ |j| j.to_i }
77
+ r = i.chomp.split("\t")
78
+ sq = r.shift
79
+ if o[:perseq] and !pre_sq.nil? and pre_sq!=sq
80
+ report(pre_sq, d, ln, o)
81
+ d = []
82
+ ln = 0
83
+ end
84
+ r.map! { |j| j.to_i }
49
85
  l = r[1]-r[0]
50
86
  d[ r[2] ] ||= 0
51
- d[ r[2] ] += l
87
+ d[ r[2] ] += l
52
88
  ln += l
89
+ pre_sq = sq
53
90
  end
54
91
  end
55
-
56
- # Estimate padding ranges
57
- pad = (1.0-o[:range])/2.0
58
- r = (pad*ln).round
59
-
60
- # Pad
61
- d = pad(d, d.each_index.to_a, r+0)
62
- d = pad(d, d.each_index.to_a.reverse, r+0)
63
-
64
- # Average
65
- if d.compact.empty?
66
- p 0.0
67
- else
68
- s = d.each_with_index.to_a.map{ |v,i| v.nil? ? 0 : i*v }.inject(0,:+)
69
- p s.to_f/d.compact.inject(:+)
70
- end
92
+ report(pre_sq, d, ln, o)
71
93
 
@@ -0,0 +1,71 @@
1
+ #!/usr/bin/env ruby
2
+
3
+ require 'optparse'
4
+
5
+ o = {win: 1000}
6
+ ARGV << '-h' if ARGV.empty?
7
+ OptionParser.new do |opt|
8
+ opt.banner = "
9
+ Estimates the sequencing depth per windows from a BedGraph file.
10
+
11
+ IMPORTANT: This script doesn't consider zero-coverage positions if missing
12
+ from the file. If you produce your BedGraph file with bedtools genomecov and
13
+ want to consider zero-coverage position, be sure to use -bga (not -bg).
14
+
15
+ Usage: #{$0} [options]"
16
+ opt.separator ''
17
+ opt.on('-i', '--input PATH',
18
+ 'Input BedGraph file (mandatory).'){ |v| o[:i]=v }
19
+ opt.on('-w', '--win INT',
20
+ 'Window size, in base pairs.', "By default: #{o[:win]}."
21
+ ){ |v| o[:win]=v.to_i }
22
+ opt.on('-h', '--help', 'Display this screen.') do
23
+ puts opt
24
+ exit
25
+ end
26
+ opt.separator ''
27
+ end.parse!
28
+ abort '-i is mandatory.' if o[:i].nil?
29
+
30
+ def report(d, a, b, seqs)
31
+ # Average
32
+ y = 0.0
33
+ unless d.compact.empty?
34
+ s = d.each_with_index.to_a.map{ |v,i| v.nil? ? 0 : i*v }.inject(0,:+)
35
+ y = s.to_f/d.compact.inject(:+)
36
+ end
37
+
38
+ # Report
39
+ puts [a, b, y, seqs.keys.join(",")].join("\t")
40
+ end
41
+
42
+ # Read BedGraph
43
+ d = []
44
+ ln = 0
45
+ a = 1
46
+ seqs = {}
47
+ b = o[:win]
48
+ File.open(o[:i], "r") do |ifh|
49
+ ifh.each_line do |i|
50
+ next if i =~ /^#/
51
+ r = i.chomp.split("\t")
52
+ sq = r.shift
53
+ seqs[sq] = 1
54
+ r.map!{ |j| j.to_i }
55
+ l = r[1]-r[0]
56
+ d[ r[2] ] ||= 0
57
+ d[ r[2] ] += l
58
+ ln += l
59
+ while ln >= b
60
+ d[ r[2] ] -= (ln-b)
61
+ report(d, a, b, seqs)
62
+ seqs = {}
63
+ seqs[ sq ] = 1 if ln > b
64
+ d = []
65
+ d[ r[2] ] = (ln-b)
66
+ a = b + 1
67
+ b = a + o[:win] - 1
68
+ end
69
+ end
70
+ end
71
+
@@ -19,11 +19,12 @@ opt <- enve.cliopts(enve.recplot2,
19
19
  o_desc=list(pos.breaks="Breaks in the positions histogram.",
20
20
  id.breaks="Breaks in the identity histogram.",
21
21
  id.summary="Function summarizing the identity bins. By default: sum.",
22
- peaks.col="Color of peaks, mandatory for peak-finding (e.g., darkred)."),
22
+ peaks.col="Color of peaks, mandatory for peak-finding (e.g., darkred).",
23
+ peaks.method="Method to detect peaks; one of emauto, em, or mower."),
23
24
  p_desc=paste("","Produce recruitment plot objects provided that",
24
25
  "BlastTab.catsbj.pl has been previously executed.", sep="\n\t"),
25
26
  ignore=c("plot"),
26
- defaults=c(id.metric="identity", peaks.col=NA))
27
+ defaults=c(id.metric="identity", peaks.col=NA, peaks.method="emauto"))
27
28
 
28
29
  #= Run it!
29
30
  if(length(opt$args)>1){
@@ -35,6 +36,10 @@ if(length(opt$args)>1){
35
36
  }
36
37
  pc <- opt$options[["peaks.col"]]
37
38
  if(!is.na(pc) && pc=="NA") opt$options[["peaks.col"]] <- NA
39
+ if(!is.null(opt$options[["peaks.method"]])){
40
+ opt$options[["peaks.opts"]] <- list(method=opt$options[["peaks.method"]])
41
+ opt$options[["peaks.method"]] <- NULL
42
+ }
38
43
  rp <- do.call("enve.recplot2", opt$options)
39
44
  save(rp, file=opt$args[1])
40
45
  if(length(opt$args)>1) dev.off()