miga-base 0.7.26.3 → 1.0.0.sr1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/miga/_data/aai-intax.blast.tsv.gz +0 -0
- data/lib/miga/_data/aai-intax.diamond.tsv.gz +0 -0
- data/lib/miga/_data/aai-novel.blast.tsv.gz +0 -0
- data/lib/miga/_data/aai-novel.diamond.tsv.gz +0 -0
- data/lib/miga/cli/action/doctor.rb +50 -19
- data/lib/miga/cli/action/doctor/base.rb +20 -18
- data/lib/miga/cli/action/init.rb +11 -7
- data/lib/miga/cli/action/init/files_helper.rb +1 -0
- data/lib/miga/cli/action/ncbi_get.rb +3 -3
- data/lib/miga/cli/action/tax_dist.rb +2 -2
- data/lib/miga/cli/action/wf.rb +5 -4
- data/lib/miga/daemon.rb +11 -4
- data/lib/miga/dataset/result.rb +10 -6
- data/lib/miga/json.rb +1 -2
- data/lib/miga/metadata.rb +5 -1
- data/lib/miga/parallel.rb +11 -6
- data/lib/miga/project.rb +8 -8
- data/lib/miga/project/base.rb +4 -4
- data/lib/miga/project/result.rb +2 -2
- data/lib/miga/sqlite.rb +7 -0
- data/lib/miga/version.rb +23 -9
- data/scripts/aai_distances.bash +16 -18
- data/scripts/ani_distances.bash +16 -17
- data/scripts/assembly.bash +31 -16
- data/scripts/haai_distances.bash +3 -27
- data/scripts/miga.bash +6 -4
- data/scripts/p.bash +1 -1
- data/scripts/read_quality.bash +9 -18
- data/scripts/trimmed_fasta.bash +14 -30
- data/scripts/trimmed_reads.bash +36 -36
- data/test/parallel_test.rb +31 -0
- data/test/project_test.rb +2 -1
- data/utils/distance/commands.rb +1 -0
- data/utils/distance/runner.rb +2 -4
- data/utils/enveomics/Manifest/Tasks/fasta.json +39 -3
- data/utils/enveomics/Manifest/Tasks/fastq.json +50 -2
- data/utils/enveomics/Manifest/Tasks/mapping.json +70 -0
- data/utils/enveomics/Manifest/Tasks/other.json +77 -0
- data/utils/enveomics/Manifest/Tasks/sequence-identity.json +138 -1
- data/utils/enveomics/Manifest/categories.json +13 -4
- data/utils/enveomics/Scripts/Aln.cat.rb +206 -148
- data/utils/enveomics/Scripts/FastA.N50.pl +33 -29
- data/utils/enveomics/Scripts/FastA.fragment.rb +69 -61
- data/utils/enveomics/Scripts/FastA.sample.rb +61 -46
- data/utils/enveomics/Scripts/FastA.toFastQ.rb +69 -0
- data/utils/enveomics/Scripts/FastQ.maskQual.rb +89 -0
- data/utils/enveomics/Scripts/FastQ.tag.rb +59 -52
- data/utils/enveomics/Scripts/SRA.download.bash +6 -8
- data/utils/enveomics/Scripts/Table.prefScore.R +60 -0
- data/utils/enveomics/Scripts/aai.rb +3 -2
- data/utils/enveomics/Scripts/anir.rb +137 -0
- data/utils/enveomics/Scripts/lib/enveomics_rb/anir.rb +293 -0
- data/utils/enveomics/Scripts/lib/enveomics_rb/bm_set.rb +175 -0
- data/utils/enveomics/Scripts/lib/enveomics_rb/enveomics.rb +17 -17
- data/utils/enveomics/Scripts/lib/enveomics_rb/errors.rb +17 -0
- data/utils/enveomics/Scripts/lib/enveomics_rb/gmm_em.rb +30 -0
- data/utils/enveomics/Scripts/lib/enveomics_rb/match.rb +63 -0
- data/utils/enveomics/Scripts/lib/enveomics_rb/rbm.rb +49 -0
- data/utils/enveomics/Scripts/lib/enveomics_rb/stats.rb +3 -0
- data/utils/enveomics/Scripts/lib/enveomics_rb/stats/rand.rb +31 -0
- data/utils/enveomics/Scripts/lib/enveomics_rb/stats/sample.rb +152 -0
- data/utils/enveomics/Scripts/lib/enveomics_rb/utils.rb +73 -0
- data/utils/enveomics/Scripts/rbm-legacy.rb +172 -0
- data/utils/enveomics/Scripts/rbm.rb +87 -133
- data/utils/enveomics/Scripts/sam.filter.rb +148 -0
- data/utils/enveomics/enveomics.R/DESCRIPTION +2 -2
- data/utils/enveomics/enveomics.R/NAMESPACE +1 -1
- data/utils/enveomics/enveomics.R/R/prefscore.R +79 -0
- data/utils/enveomics/enveomics.R/R/utils.R +30 -0
- data/utils/enveomics/enveomics.R/README.md +1 -0
- data/utils/enveomics/enveomics.R/man/cash-enve.GrowthCurve-method.Rd +0 -1
- data/utils/enveomics/enveomics.R/man/cash-enve.RecPlot2-method.Rd +0 -1
- data/utils/enveomics/enveomics.R/man/cash-enve.RecPlot2.Peak-method.Rd +0 -1
- data/utils/enveomics/enveomics.R/man/enve.__tribs.Rd +10 -2
- data/utils/enveomics/enveomics.R/man/enve.barplot.Rd +16 -4
- data/utils/enveomics/enveomics.R/man/enve.cliopts.Rd +13 -3
- data/utils/enveomics/enveomics.R/man/enve.df2dist.Rd +8 -2
- data/utils/enveomics/enveomics.R/man/enve.df2dist.group.Rd +8 -2
- data/utils/enveomics/enveomics.R/man/enve.df2dist.list.Rd +9 -2
- data/utils/enveomics/enveomics.R/man/enve.growthcurve.Rd +13 -5
- data/utils/enveomics/enveomics.R/man/enve.prefscore.Rd +50 -0
- data/utils/enveomics/enveomics.R/man/enve.prune.dist.Rd +9 -2
- data/utils/enveomics/enveomics.R/man/enve.recplot.Rd +23 -6
- data/utils/enveomics/enveomics.R/man/enve.recplot2.Rd +13 -4
- data/utils/enveomics/enveomics.R/man/enve.recplot2.compareIdentities.Rd +8 -2
- data/utils/enveomics/enveomics.R/man/enve.recplot2.extractWindows.Rd +7 -2
- data/utils/enveomics/enveomics.R/man/enve.recplot2.findPeaks.__mow_one.Rd +14 -3
- data/utils/enveomics/enveomics.R/man/enve.recplot2.findPeaks.em.Rd +10 -2
- data/utils/enveomics/enveomics.R/man/enve.recplot2.findPeaks.emauto.Rd +8 -2
- data/utils/enveomics/enveomics.R/man/enve.recplot2.findPeaks.mower.Rd +17 -9
- data/utils/enveomics/enveomics.R/man/enve.recplot2.windowDepthThreshold.Rd +6 -2
- data/utils/enveomics/enveomics.R/man/enve.selvector.Rd +23 -0
- data/utils/enveomics/enveomics.R/man/enve.tribs.Rd +14 -5
- data/utils/enveomics/enveomics.R/man/plot.enve.GrowthCurve.Rd +19 -4
- data/utils/enveomics/enveomics.R/man/plot.enve.TRIBS.Rd +11 -3
- data/utils/enveomics/enveomics.R/man/plot.enve.TRIBStest.Rd +11 -4
- data/utils/enveomics/enveomics.R/man/plot.enve.recplot2.Rd +26 -12
- data/utils/multitrim/Multitrim How-To.pdf +0 -0
- data/utils/multitrim/README.md +67 -0
- data/utils/multitrim/multitrim.py +1555 -0
- data/utils/multitrim/multitrim.yml +13 -0
- data/utils/requirements.txt +4 -3
- metadata +33 -6
- 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.
|
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:
|
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
|
@@ -4,8 +4,16 @@
|
|
4
4
|
\alias{enve.__tribs}
|
5
5
|
\title{Enveomics: TRIBS - Internal Ancillary Function}
|
6
6
|
\usage{
|
7
|
-
enve.__tribs(
|
8
|
-
|
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(
|
8
|
-
|
9
|
-
|
10
|
-
|
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(
|
8
|
-
|
9
|
-
|
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(
|
8
|
-
|
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(
|
8
|
-
|
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(
|
8
|
-
|
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(
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
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
|