63 lines
1.4 KiB
R
63 lines
1.4 KiB
R
#' @include 02_class_metabarcoding.data.R
|
|
NULL
|
|
|
|
|
|
# TODO: Add comment
|
|
#
|
|
# Author: coissac
|
|
###############################################################################
|
|
|
|
require(utils)
|
|
|
|
expand.metabarcoding.data=function(data,minread=1) {
|
|
resultonesample=function(sample) {
|
|
mo= data@reads[sample,] >= minread
|
|
s = data@samples[rep(sample,sum(mo)),]
|
|
r = as.numeric(data@reads[sample,mo])
|
|
m = data@motus[mo,]
|
|
|
|
result = data.frame(s,frequency=r,m,
|
|
stringsAsFactors =FALSE,
|
|
row.names = NULL)
|
|
|
|
result
|
|
}
|
|
|
|
res = lapply(1:data@scount, resultonesample)
|
|
|
|
do.call(rbind,res)
|
|
}
|
|
|
|
#setGeneric("utils::write.csv")
|
|
write.csv.metabarcoding.data = function(...) {
|
|
Call <- match.call(expand.dots = TRUE)
|
|
if (!is.null(Call[["minread"]])) {
|
|
minread = Call[["minread"]]
|
|
Call = Call[!names(Call)=="minread"]
|
|
}
|
|
else
|
|
minread = 1
|
|
data = eval.parent(Call[[2L]])
|
|
data = expand.metabarcoding.data(data,minread)
|
|
Call[[1L]] <- as.name("write.csv")
|
|
Call[[2L]] <- as.name("data")
|
|
eval(Call)
|
|
}
|
|
|
|
#setGeneric("utils::write.csv2")
|
|
write.csv2.metabarcoding.data = function(...) {
|
|
Call <- match.call(expand.dots = TRUE)
|
|
if (!is.null(Call[["minread"]])) {
|
|
minread = Call[["minread"]]
|
|
Call = Call[!names(Call)=="minread"]
|
|
}
|
|
else
|
|
minread = 1
|
|
data = eval.parent(Call[[2L]])
|
|
data = expand.metabarcoding.data(data,minread)
|
|
Call[[1L]] <- as.name("write.csv2")
|
|
Call[[2L]] <- as.name("data")
|
|
eval(Call)
|
|
|
|
}
|