miga-base 0.7.26.3 → 1.0.0.sr1

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 (105) hide show
  1. checksums.yaml +4 -4
  2. data/lib/miga/_data/aai-intax.blast.tsv.gz +0 -0
  3. data/lib/miga/_data/aai-intax.diamond.tsv.gz +0 -0
  4. data/lib/miga/_data/aai-novel.blast.tsv.gz +0 -0
  5. data/lib/miga/_data/aai-novel.diamond.tsv.gz +0 -0
  6. data/lib/miga/cli/action/doctor.rb +50 -19
  7. data/lib/miga/cli/action/doctor/base.rb +20 -18
  8. data/lib/miga/cli/action/init.rb +11 -7
  9. data/lib/miga/cli/action/init/files_helper.rb +1 -0
  10. data/lib/miga/cli/action/ncbi_get.rb +3 -3
  11. data/lib/miga/cli/action/tax_dist.rb +2 -2
  12. data/lib/miga/cli/action/wf.rb +5 -4
  13. data/lib/miga/daemon.rb +11 -4
  14. data/lib/miga/dataset/result.rb +10 -6
  15. data/lib/miga/json.rb +1 -2
  16. data/lib/miga/metadata.rb +5 -1
  17. data/lib/miga/parallel.rb +11 -6
  18. data/lib/miga/project.rb +8 -8
  19. data/lib/miga/project/base.rb +4 -4
  20. data/lib/miga/project/result.rb +2 -2
  21. data/lib/miga/sqlite.rb +7 -0
  22. data/lib/miga/version.rb +23 -9
  23. data/scripts/aai_distances.bash +16 -18
  24. data/scripts/ani_distances.bash +16 -17
  25. data/scripts/assembly.bash +31 -16
  26. data/scripts/haai_distances.bash +3 -27
  27. data/scripts/miga.bash +6 -4
  28. data/scripts/p.bash +1 -1
  29. data/scripts/read_quality.bash +9 -18
  30. data/scripts/trimmed_fasta.bash +14 -30
  31. data/scripts/trimmed_reads.bash +36 -36
  32. data/test/parallel_test.rb +31 -0
  33. data/test/project_test.rb +2 -1
  34. data/utils/distance/commands.rb +1 -0
  35. data/utils/distance/runner.rb +2 -4
  36. data/utils/enveomics/Manifest/Tasks/fasta.json +39 -3
  37. data/utils/enveomics/Manifest/Tasks/fastq.json +50 -2
  38. data/utils/enveomics/Manifest/Tasks/mapping.json +70 -0
  39. data/utils/enveomics/Manifest/Tasks/other.json +77 -0
  40. data/utils/enveomics/Manifest/Tasks/sequence-identity.json +138 -1
  41. data/utils/enveomics/Manifest/categories.json +13 -4
  42. data/utils/enveomics/Scripts/Aln.cat.rb +206 -148
  43. data/utils/enveomics/Scripts/FastA.N50.pl +33 -29
  44. data/utils/enveomics/Scripts/FastA.fragment.rb +69 -61
  45. data/utils/enveomics/Scripts/FastA.sample.rb +61 -46
  46. data/utils/enveomics/Scripts/FastA.toFastQ.rb +69 -0
  47. data/utils/enveomics/Scripts/FastQ.maskQual.rb +89 -0
  48. data/utils/enveomics/Scripts/FastQ.tag.rb +59 -52
  49. data/utils/enveomics/Scripts/SRA.download.bash +6 -8
  50. data/utils/enveomics/Scripts/Table.prefScore.R +60 -0
  51. data/utils/enveomics/Scripts/aai.rb +3 -2
  52. data/utils/enveomics/Scripts/anir.rb +137 -0
  53. data/utils/enveomics/Scripts/lib/enveomics_rb/anir.rb +293 -0
  54. data/utils/enveomics/Scripts/lib/enveomics_rb/bm_set.rb +175 -0
  55. data/utils/enveomics/Scripts/lib/enveomics_rb/enveomics.rb +17 -17
  56. data/utils/enveomics/Scripts/lib/enveomics_rb/errors.rb +17 -0
  57. data/utils/enveomics/Scripts/lib/enveomics_rb/gmm_em.rb +30 -0
  58. data/utils/enveomics/Scripts/lib/enveomics_rb/match.rb +63 -0
  59. data/utils/enveomics/Scripts/lib/enveomics_rb/rbm.rb +49 -0
  60. data/utils/enveomics/Scripts/lib/enveomics_rb/stats.rb +3 -0
  61. data/utils/enveomics/Scripts/lib/enveomics_rb/stats/rand.rb +31 -0
  62. data/utils/enveomics/Scripts/lib/enveomics_rb/stats/sample.rb +152 -0
  63. data/utils/enveomics/Scripts/lib/enveomics_rb/utils.rb +73 -0
  64. data/utils/enveomics/Scripts/rbm-legacy.rb +172 -0
  65. data/utils/enveomics/Scripts/rbm.rb +87 -133
  66. data/utils/enveomics/Scripts/sam.filter.rb +148 -0
  67. data/utils/enveomics/enveomics.R/DESCRIPTION +2 -2
  68. data/utils/enveomics/enveomics.R/NAMESPACE +1 -1
  69. data/utils/enveomics/enveomics.R/R/prefscore.R +79 -0
  70. data/utils/enveomics/enveomics.R/R/utils.R +30 -0
  71. data/utils/enveomics/enveomics.R/README.md +1 -0
  72. data/utils/enveomics/enveomics.R/man/cash-enve.GrowthCurve-method.Rd +0 -1
  73. data/utils/enveomics/enveomics.R/man/cash-enve.RecPlot2-method.Rd +0 -1
  74. data/utils/enveomics/enveomics.R/man/cash-enve.RecPlot2.Peak-method.Rd +0 -1
  75. data/utils/enveomics/enveomics.R/man/enve.__tribs.Rd +10 -2
  76. data/utils/enveomics/enveomics.R/man/enve.barplot.Rd +16 -4
  77. data/utils/enveomics/enveomics.R/man/enve.cliopts.Rd +13 -3
  78. data/utils/enveomics/enveomics.R/man/enve.df2dist.Rd +8 -2
  79. data/utils/enveomics/enveomics.R/man/enve.df2dist.group.Rd +8 -2
  80. data/utils/enveomics/enveomics.R/man/enve.df2dist.list.Rd +9 -2
  81. data/utils/enveomics/enveomics.R/man/enve.growthcurve.Rd +13 -5
  82. data/utils/enveomics/enveomics.R/man/enve.prefscore.Rd +50 -0
  83. data/utils/enveomics/enveomics.R/man/enve.prune.dist.Rd +9 -2
  84. data/utils/enveomics/enveomics.R/man/enve.recplot.Rd +23 -6
  85. data/utils/enveomics/enveomics.R/man/enve.recplot2.Rd +13 -4
  86. data/utils/enveomics/enveomics.R/man/enve.recplot2.compareIdentities.Rd +8 -2
  87. data/utils/enveomics/enveomics.R/man/enve.recplot2.extractWindows.Rd +7 -2
  88. data/utils/enveomics/enveomics.R/man/enve.recplot2.findPeaks.__mow_one.Rd +14 -3
  89. data/utils/enveomics/enveomics.R/man/enve.recplot2.findPeaks.em.Rd +10 -2
  90. data/utils/enveomics/enveomics.R/man/enve.recplot2.findPeaks.emauto.Rd +8 -2
  91. data/utils/enveomics/enveomics.R/man/enve.recplot2.findPeaks.mower.Rd +17 -9
  92. data/utils/enveomics/enveomics.R/man/enve.recplot2.windowDepthThreshold.Rd +6 -2
  93. data/utils/enveomics/enveomics.R/man/enve.selvector.Rd +23 -0
  94. data/utils/enveomics/enveomics.R/man/enve.tribs.Rd +14 -5
  95. data/utils/enveomics/enveomics.R/man/plot.enve.GrowthCurve.Rd +19 -4
  96. data/utils/enveomics/enveomics.R/man/plot.enve.TRIBS.Rd +11 -3
  97. data/utils/enveomics/enveomics.R/man/plot.enve.TRIBStest.Rd +11 -4
  98. data/utils/enveomics/enveomics.R/man/plot.enve.recplot2.Rd +26 -12
  99. data/utils/multitrim/Multitrim How-To.pdf +0 -0
  100. data/utils/multitrim/README.md +67 -0
  101. data/utils/multitrim/multitrim.py +1555 -0
  102. data/utils/multitrim/multitrim.yml +13 -0
  103. data/utils/requirements.txt +4 -3
  104. metadata +33 -6
  105. data/utils/enveomics/Scripts/lib/enveomics_rb/stat.rb +0 -30
@@ -0,0 +1,148 @@
1
+ #!/usr/bin/env ruby
2
+
3
+ # frozen_string_literal: true
4
+
5
+ $VERSION = 1.0
6
+ $:.push File.expand_path('../lib', __FILE__)
7
+ require 'enveomics_rb/enveomics'
8
+ use 'shellwords'
9
+
10
+ o = {
11
+ q: false, threads: 2, m_format: :sam, g_format: :fasta, identity: 95.0,
12
+ o: '-', header: true
13
+ }
14
+
15
+ OptionParser.new do |opt|
16
+ Enveomics.opt_banner(
17
+ opt, 'Filters a SAM or BAM file by target sequences and/or identity',
18
+ "#{File.basename($0)} -m map.sam -o filtered_map.sam [options]"
19
+ )
20
+
21
+ opt.separator 'Input/Output'
22
+ opt.on(
23
+ '-g', '--genome PATH',
24
+ 'Genome assembly',
25
+ 'Supports compression with .gz extension, use - for STDIN'
26
+ ) { |v| o[:g] = v }
27
+ opt.on(
28
+ '-m', '--mapping PATH',
29
+ 'Mapping file',
30
+ 'Supports compression with .gz extension, use - for STDIN'
31
+ ) { |v| o[:m] = v }
32
+ opt.on(
33
+ '-o', '--out-sam PATH',
34
+ 'Output filtered file in SAM format',
35
+ 'Supports compression with .gz extension, use - for STDOUT (default)'
36
+ ) { |v| o[:o] = v }
37
+ opt.separator ''
38
+
39
+ opt.separator 'Formats'
40
+ opt.on(
41
+ '--g-format STRING',
42
+ 'Genome assembly format: fasta (default) or list'
43
+ ) { |v| o[:g_format] = v.downcase.to_sym }
44
+ opt.on(
45
+ '--m-format STRING',
46
+ 'Mapping file format: sam (default) or bam',
47
+ 'sam supports compression with .gz file extension'
48
+ ) { |v| o[:m_format] = v.downcase.to_sym }
49
+ opt.separator ''
50
+
51
+ opt.separator 'General'
52
+ opt.on(
53
+ '-i', '--identity FLOAT', Float,
54
+ "Set a fixed threshold of percent identity (default: #{o[:identity]})"
55
+ ) { |v| o[:identity] = v }
56
+ opt.on('--no-header', 'Do not include the headers') { |v| o[:header] = v }
57
+ opt.separator ''
58
+ opt.on(
59
+ '-t', '--threads INT', Integer, "Threads to use (default: #{o[:threads]})"
60
+ ) { |v| o[:threads] = v }
61
+ opt.on('-l', '--log PATH', 'Log file to save output') { |v| o[:log] = v }
62
+ opt.on('-q', '--quiet', 'Run quietly') { |v| o[:q] = v }
63
+ opt.on('-h', '--help', 'Display this screen') do
64
+ puts opt
65
+ exit
66
+ end
67
+ opt.separator ''
68
+ end.parse!
69
+
70
+ $QUIET = o[:q]
71
+
72
+ # Functions
73
+
74
+ ##
75
+ # Parses one line +ln+ in SAM format and outputs filtered lines to +ofh+
76
+ # Filters by minimum +identity+ and +target+ sequences, and prints
77
+ # the headers if +header+
78
+ def parse_sam_line(ln, identity, target, header, ofh)
79
+ if ln =~ /^@/ || ln =~ /^\s*$/
80
+ ofh.puts ln if header
81
+ return
82
+ end
83
+
84
+ # No match
85
+ row = ln.chomp.split("\t")
86
+ return if row[2] == '*'
87
+
88
+ # Filter by target
89
+ return if !target.nil? && !target.include?(row[2])
90
+
91
+ # Exclude unless concordant or unaligned
92
+ length = row[9].size
93
+ row.shift(11) # Discard non-flag columns
94
+ flags = Hash[row.map { |i| i.sub(/:.:/, ':').split(':', 2) }]
95
+ return if flags['YT'] && !%w[CP UU].include?(flags['YT'])
96
+
97
+ # Filter by identity
98
+ unless flags['MD']
99
+ raise Enveomics::ParseError.new(
100
+ "SAM line missing MD flag:\n#{ln}\nFlags: #{flags}"
101
+ )
102
+ end
103
+ mismatches = flags['MD'].scan(/[^\d]/).count
104
+ id = 100.0 * (length - mismatches) / length
105
+ ofh.puts ln if id >= identity
106
+ end
107
+
108
+ # Reading targets
109
+ if o[:g]
110
+ say 'Loading target sequences to filter'
111
+ reader = reader(o[:g])
112
+ target =
113
+ case o[:g_format]
114
+ when :fasta
115
+ reader.each.map { |ln| $1 if ln =~ /^>(\S+)/ }.compact
116
+ when :list
117
+ reader.each.map(&:chomp)
118
+ else
119
+ raise Enveomics::OptionError.new(
120
+ "Unsupported target sequences format: #{o[:g_format]}"
121
+ )
122
+ end
123
+ reader.close
124
+ else
125
+ target = nil
126
+ end
127
+
128
+ # Reading and filtering mapping
129
+ say 'Reading mapping file'
130
+ ofh = writer(o[:o])
131
+ case o[:m_format]
132
+ when :sam
133
+ reader = reader(o[:m])
134
+ reader.each { |ln| parse_sam_line(ln, o[:identity], target, o[:header], ofh) }
135
+ reader.close
136
+ when :bam
137
+ cmd = ['samtools', 'view', o[:m], '-@', o[:threads]]
138
+ cmd << '-h' if o[:header]
139
+ IO.popen(cmd.shelljoin) do |fh|
140
+ fh.each { |ln| parse_sam_line(ln, o[:identity], target, o[:header], ofh) }
141
+ end
142
+ else
143
+ raise Enveomics::OptionError.new(
144
+ "Unsupported mapping format: #{o[:m_format]}"
145
+ )
146
+ end
147
+ ofh.close
148
+
@@ -1,5 +1,5 @@
1
1
  Package: enveomics.R
2
- Version: 1.7.1
2
+ Version: 1.8.0
3
3
  Authors@R: c(person("Luis M.","Rodriguez-R",role=c("aut","cre"),
4
4
  email="lmrodriguezr@gmail.com"))
5
5
  Title: Various Utilities for Microbial Genomics and Metagenomics
@@ -28,4 +28,4 @@ Suggests:
28
28
  License: Artistic-2.0
29
29
  LazyData: yes
30
30
  Encoding: UTF-8
31
- RoxygenNote: 6.1.1
31
+ RoxygenNote: 7.0.2
@@ -36,4 +36,4 @@ export(
36
36
  enve.recplot2.compareIdentities,
37
37
  enve.recplot2.coordinates, enve.recplot2.seqdepth, enve.recplot2.ANIr,
38
38
  enve.growthcurve, plot.enve.GrowthCurve, summary.enve.GrowthCurve,
39
- enve.col2alpha, enve.truncate)
39
+ enve.col2alpha, enve.truncate, enve.selvector, enve.prefscore)
@@ -0,0 +1,79 @@
1
+ #' Enveomics: Pref Score
2
+ #'
3
+ #' Estimate preference score of species based on occupancy in biased sample sets
4
+ #'
5
+ #' @param x
6
+ #' Occupancy matrix (logical or numeric binary) with species as rows and samples
7
+ #' as columns
8
+ #' @param set
9
+ #' Vector indicating samples in the test set. It can be any selection vector:
10
+ #' boolean (same length as the number of columns in \code{x}), or numeric or
11
+ #' character vector with indexes of the \code{x} columns.
12
+ #' @param ignore
13
+ #' Vector indicating species to ignore. It can be any selection vector with
14
+ #' respect to the rows in \code{x} (see \code{set}).
15
+ #' @param signif.thr Absolute value of the significance threshold
16
+ #' @param plot Indicates if a plot should be generated
17
+ #' @param col.above Color for points significantly above zero
18
+ #' @param col.equal Color for points not significantly different from zero
19
+ #' @param col.below Color for points significantly below zero
20
+ #' @param ... Any additional parameters supported by \code{plot}
21
+ #'
22
+ #' @return Returns a named vector of preference scores.
23
+ #'
24
+ #' @author Luis M. Rodriguez-R [aut, cre]
25
+ #'
26
+ #' @export
27
+
28
+ enve.prefscore <- function
29
+ (
30
+ x,
31
+ set,
32
+ ignore = NULL,
33
+ signif.thr,
34
+ plot = TRUE,
35
+ col.above = rgb(148, 17, 0, maxColorValue = 255),
36
+ col.equal = rgb(189, 189, 189, maxColorValue = 255),
37
+ col.below = rgb(47, 84, 150, maxColorValue = 255),
38
+ ...
39
+ ) {
40
+ # Normalize classes and filter universe
41
+ x <- !!as.matrix(x)
42
+ if(is.null(colnames(x))) colnames(x) <- 1:ncol(x)
43
+ if(is.null(rownames(x))) rownames(x) <- 1:nrow(x)
44
+ set <- enve.selvector(set, colnames(x))
45
+ universe <- !enve.selvector(ignore, rownames(x))
46
+ x.u <- x[universe, ]
47
+ if(missing(signif.thr)) signif.thr <- 1 + 100 / length(universe)
48
+
49
+ # Base (null) probabilities
50
+ p_a <- (rowSums(x.u) + 1) / (ncol(x.u) + 2)
51
+ p_b <- (colSums(x.u) + 1) / (nrow(x.u) + 2)
52
+ p_p <- p_a %*% t(p_b)
53
+
54
+ # Set preference score
55
+ expected <- (rowSums(p_p[, set]) - rowSums(p_p[, !set])) / sum(p_p)
56
+ observed <- (rowSums(x.u[, set]) - rowSums(x.u[, !set])) / sum(x.u)
57
+ y <- observed / abs(expected)
58
+ names(y) <- rownames(x)[universe]
59
+ y.code <- cut(y, c(-Inf, -signif.thr, signif.thr, Inf), 1:3)
60
+
61
+ # Plot
62
+ if(plot) {
63
+ idx <- (1:nrow(x))[universe]
64
+ opts.def <- list(x = idx, y = y, ylim = c(-1, 1) * max(abs(y)),
65
+ xlab = 'Species', ylab = 'Preference score', xlim = c(0, nrow(x)+1),
66
+ col = c(col.above, col.equal, col.below)[y.code],
67
+ las = 1, xaxs = 'i', pch = 15)
68
+ opts <- list(...)
69
+ for(i in names(opts.def)) if(is.null(opts[[i]])) opts[[i]] <- opts.def[[i]]
70
+ do.call('plot', opts)
71
+ abline(h = 0, lty = 1, col = rgb(0, 0, 0, 1/4))
72
+ abline(h = c(-1, 1) * signif.thr, lty = 2, col = rgb(0, 0, 0, 1/4))
73
+ }
74
+
75
+ # Print and return
76
+ print(table(c(c('<', '=', '>')[y.code], rep('Tot', length(y.code)))))
77
+ cat('---------\n')
78
+ return(y)
79
+ }
@@ -48,3 +48,33 @@ enve.truncate <- function
48
48
  y <- sort(x)[ -c(seq(1, n), seq(length(x)+1-n, length(x))) ]
49
49
  return(FUN(y))
50
50
  }
51
+
52
+ #' Enveomics: Selection vector
53
+ #'
54
+ #' Normalizes a selection vector \code{sel} to a logical vector with indexes
55
+ #' from \code{dim.names}.
56
+ #'
57
+ #' @param sel A vector of numbers, characters, or booleans.
58
+ #' @param dim.names A vector of names from which to select.
59
+ #'
60
+ #' @return Returns a logical vector with the same length as \code{dim.name}.
61
+ #'
62
+ #' @author Luis M. Rodriguez-R [aut, cre]
63
+ #'
64
+ #' @export
65
+
66
+ enve.selvector <- function(sel, dim.names) {
67
+ if(is.logical(sel)) {
68
+ if(length(sel) != length(dim.names))
69
+ stop('sel is logical but differs in length from dim.names')
70
+ sel
71
+ } else if(is.numeric(sel)) {
72
+ if(max(sel) > length(dim.names))
73
+ stop('sel includes numeric index beyond the length of dim.names')
74
+ 1:length(dim.names) %in% sel
75
+ } else {
76
+ if(any(!sel %in% dim.names))
77
+ stop('sel includes character index missing from dim.names')
78
+ dim.names %in% sel
79
+ }
80
+ }
@@ -52,6 +52,7 @@ For additional information on recruitment plots, see the
52
52
  [Recruitment plots working document](https://github.com/lmrodriguezr/enveomics/blob/master/Docs/recplot2.md).
53
53
 
54
54
  ## Changelog
55
+ * 1.8.0: New functions `enve.selvector` and `enve.prefscore`.
55
56
  * 1.7.1: Improved efficiency of `enve.df2dist` about five-fold.
56
57
  * 1.7.0: Uniformized output for `enve.recplot2.extractWindows` and
57
58
  `enve.recplot2.coordinates` to ease automation. Thanks to Tomeu Viver and
@@ -1,6 +1,5 @@
1
1
  % Generated by roxygen2: do not edit by hand
2
2
  % Please edit documentation in R/growthcurve.R
3
- \docType{methods}
4
3
  \name{$,enve.GrowthCurve-method}
5
4
  \alias{$,enve.GrowthCurve-method}
6
5
  \title{Attribute accessor}
@@ -1,6 +1,5 @@
1
1
  % Generated by roxygen2: do not edit by hand
2
2
  % Please edit documentation in R/recplot2.R
3
- \docType{methods}
4
3
  \name{$,enve.RecPlot2-method}
5
4
  \alias{$,enve.RecPlot2-method}
6
5
  \title{Attribute accessor}
@@ -1,6 +1,5 @@
1
1
  % Generated by roxygen2: do not edit by hand
2
2
  % Please edit documentation in R/recplot2.R
3
- \docType{methods}
4
3
  \name{$,enve.RecPlot2.Peak-method}
5
4
  \alias{$,enve.RecPlot2.Peak-method}
6
5
  \title{Attribute accessor}
@@ -4,8 +4,16 @@
4
4
  \alias{enve.__tribs}
5
5
  \title{Enveomics: TRIBS - Internal Ancillary Function}
6
6
  \usage{
7
- enve.__tribs(rep, frx, selection, dimensions, dots, dist.method,
8
- summary.fx, dist)
7
+ enve.__tribs(
8
+ rep,
9
+ frx,
10
+ selection,
11
+ dimensions,
12
+ dots,
13
+ dist.method,
14
+ summary.fx,
15
+ dist
16
+ )
9
17
  }
10
18
  \arguments{
11
19
  \item{rep}{Replicates}
@@ -4,10 +4,22 @@
4
4
  \alias{enve.barplot}
5
5
  \title{Enveomics: Barplot}
6
6
  \usage{
7
- enve.barplot(x, sizes, top = 25, colors.per.group = 9,
8
- bars.width = 4, legend.ncol = 1, other.col = "#000000",
9
- add.trend = FALSE, organic.trend = FALSE, sort.by = median,
10
- min.report = 101, order = NULL, col, ...)
7
+ enve.barplot(
8
+ x,
9
+ sizes,
10
+ top = 25,
11
+ colors.per.group = 9,
12
+ bars.width = 4,
13
+ legend.ncol = 1,
14
+ other.col = "#000000",
15
+ add.trend = FALSE,
16
+ organic.trend = FALSE,
17
+ sort.by = median,
18
+ min.report = 101,
19
+ order = NULL,
20
+ col,
21
+ ...
22
+ )
11
23
  }
12
24
  \arguments{
13
25
  \item{x}{Can be either the input data or the path to the file containing
@@ -4,9 +4,19 @@
4
4
  \alias{enve.cliopts}
5
5
  \title{Enveomics: Cliopts}
6
6
  \usage{
7
- enve.cliopts(fx, rd_file, positional_arguments, usage, mandatory = c(),
8
- vectorize = c(), ignore = c(), number = c(), defaults = list(),
9
- o_desc = list(), p_desc = "")
7
+ enve.cliopts(
8
+ fx,
9
+ rd_file,
10
+ positional_arguments,
11
+ usage,
12
+ mandatory = c(),
13
+ vectorize = c(),
14
+ ignore = c(),
15
+ number = c(),
16
+ defaults = list(),
17
+ o_desc = list(),
18
+ p_desc = ""
19
+ )
10
20
  }
11
21
  \arguments{
12
22
  \item{fx}{Function for which the interface should be generated.}
@@ -4,8 +4,14 @@
4
4
  \alias{enve.df2dist}
5
5
  \title{Enveomics: Data Frame to Dist}
6
6
  \usage{
7
- enve.df2dist(x, obj1.index = 1, obj2.index = 2, dist.index = 3,
8
- default.d = NA, max.sim = 0)
7
+ enve.df2dist(
8
+ x,
9
+ obj1.index = 1,
10
+ obj2.index = 2,
11
+ dist.index = 3,
12
+ default.d = NA,
13
+ max.sim = 0
14
+ )
9
15
  }
10
16
  \arguments{
11
17
  \item{x}{A dataframe (or coercible object) with at least three columns:
@@ -4,8 +4,14 @@
4
4
  \alias{enve.df2dist.group}
5
5
  \title{Enveomics: Data Frame to Dist (Group)}
6
6
  \usage{
7
- enve.df2dist.group(x, obj1.index = 1, obj2.index = 2, dist.index = 3,
8
- summary = median, empty.rm = TRUE)
7
+ enve.df2dist.group(
8
+ x,
9
+ obj1.index = 1,
10
+ obj2.index = 2,
11
+ dist.index = 3,
12
+ summary = median,
13
+ empty.rm = TRUE
14
+ )
9
15
  }
10
16
  \arguments{
11
17
  \item{x}{A dataframe (or coercible object) with at least three columns:
@@ -4,8 +4,15 @@
4
4
  \alias{enve.df2dist.list}
5
5
  \title{Enveomics: Data Frame to Dist (List)}
6
6
  \usage{
7
- enve.df2dist.list(x, groups, obj1.index = 1, obj2.index = 2,
8
- dist.index = 3, empty.rm = TRUE, ...)
7
+ enve.df2dist.list(
8
+ x,
9
+ groups,
10
+ obj1.index = 1,
11
+ obj2.index = 2,
12
+ dist.index = 3,
13
+ empty.rm = TRUE,
14
+ ...
15
+ )
9
16
  }
10
17
  \arguments{
11
18
  \item{x}{A dataframe (or coercible object) with at least three columns:
@@ -4,11 +4,19 @@
4
4
  \alias{enve.growthcurve}
5
5
  \title{Enveomics: Growth Curve}
6
6
  \usage{
7
- enve.growthcurve(x, times = 1:nrow(x), triplicates = FALSE, design,
8
- new.times = seq(min(times), max(times), length.out = length(times) *
9
- 10), level = 0.95, interval = c("confidence", "prediction"),
10
- plot = TRUE, FUN = function(t, K, r, P0) K * P0 * exp(r * t)/(K + P0
11
- * (exp(r * t) - 1)), nls.opt = list(), ...)
7
+ enve.growthcurve(
8
+ x,
9
+ times = 1:nrow(x),
10
+ triplicates = FALSE,
11
+ design,
12
+ new.times = seq(min(times), max(times), length.out = length(times) * 10),
13
+ level = 0.95,
14
+ interval = c("confidence", "prediction"),
15
+ plot = TRUE,
16
+ FUN = function(t, K, r, P0) K * P0 * exp(r * t)/(K + P0 * (exp(r * t) - 1)),
17
+ nls.opt = list(),
18
+ ...
19
+ )
12
20
  }
13
21
  \arguments{
14
22
  \item{x}{Data frame (or coercible) containing the observed growth data