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.
- 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
|