Entering edit mode
Using the Gviz library, I would like to transform data on the fly when plotting. This should be possible using the DataTrack arguments window, windowSize, and aggregation. However, it seems that the aggregation argument is set to "mean" and cannot be changed.
library(Gviz)
set.seed(0)
gr <- GRanges(seqnames = "chrI", ranges = IRanges(start = 1:100, width = 1), score = sample(x = 1:100, size = 100, replace = TRUE))
dt <- DataTrack(range = gr, type = "l", name = "Raw data")
dt_mean <- DataTrack(range = gr, type = "l", window = -1, windowSize = 11, aggregation = "mean", name = "aggregate")
dt_max <- DataTrack(range = gr, type = "l", window = -1, windowSize = 11, aggregation = "max", col = "red", lty = "dashed")
dt_min <- DataTrack(range = gr, type = "l", window = -1, windowSize = 11, aggregation = "min", col = "blue", lty = "dotted")
plotTracks(trackList = list(dt, OverlayTrack(trackList = list(dt_mean, dt_max, dt_min))), chromosome = "chrI")
When I calculate min and max manually, I get the expected result.
library(zoo)
gr_mean <- gr
gr_mean$score <- rollapply(data = gr_mean$score, width = 11, FUN = mean, fill = NA)
dt_manual_mean <- DataTrack(range = gr_mean, type = "l", name = "rollapply")
gr_max <- gr
gr_max$score <- rollapply(data = gr_max$score, width = 11, FUN = max, fill = NA)
dt_manual_max <- DataTrack(range = gr_max, type = "l", col = "red", lty = "dashed")
gr_min <- gr
gr_min$score <- rollapply(data = gr_min$score, width = 11, FUN = min, fill = NA)
dt_manual_min <- DataTrack(range = gr_min, type = "l", col = "blue", lty = "dotted")
plotTracks(trackList = list(dt, OverlayTrack(list(dt_manual_mean, dt_manual_max, dt_manual_min))), chromosome = "chrI")
Am I missing something about how to correctly use the aggregation argument or is this a bug?
sessionInfo( )
# attached base packages:
# [1] grid stats4 stats graphics grDevices utils datasets methods base
# other attached packages:
# [1] zoo_1.8-9 Gviz_1.38.0 GenomicRanges_1.46.1 GenomeInfoDb_1.30.0 IRanges_2.28.0 S4Vectors_0.32.3 BiocGenerics_0.40.0
