SnapshotFunction <-
function(reader, viewer, limits, ...)
{
if (missing(limits) || length(limits) != 2)
stop("limits must have length 2")
if ((limits[2] - limits[1]) < 50)
stop("limits[2] - limits[1] must be greater than 50 bps")
new("SnapshotFunction", reader=reader, viewer=viewer,
limits=as.integer(limits), ...)
}
reader <- function(x, ...) x@reader
viewer <- function(x, ...) x@viewer
limits <- function(x, ...) x@limits
setMethod(show, "SnapshotFunction", function(object)
{
cat("class:", class(object), "\n")
cat("reader:\n")
print(head(reader(object)))
cat("...\n\n")
cat("viewer:\n")
print(head(viewer(object)))
cat("...\n\n")
cat(sprintf("limits: min. %.0f to max. %.0f bps",
limits(object)[1], limits(object)[2]), "\n")
})
## SnapshotFunctionList
setMethod(SnapshotFunctionList, "ANY",
function(...)
{
if (nargs())
stop("'SnapshotFunctionList' unknown argument type: ",
class(..1))
new("SnapshotFunctionList")
})
setMethod(SnapshotFunctionList, "SnapshotFunction",
function(...)
{
funs <- list(...)
if (is.null(names(funs)) || any(!nzchar(names(funs))))
stop("'SnapshotFunctionList' functions must be named")
new("SnapshotFunctionList", listData=funs)
})
.fine_coverage <-
SnapshotFunction(reader=.fine_coverage_reader,
viewer=.coverage_viewer, limits=c(50L, 10000L))
.coarse_coverage <-
SnapshotFunction(reader=.coarse_coverage_reader,
viewer=.coverage_viewer,
limits=c(10000L,.Machine$integer.max))
.multifine_coverage <-
SnapshotFunction(reader=.multifine_coverage_reader,
viewer=.multicoverage_viewer,
limits=c(50L, 10000L))
.multicoarse_coverage <-
SnapshotFunction(reader=.multicoarse_coverage_reader,
viewer=.multicoverage_viewer,
limits=c(10000L,.Machine$integer.max))
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.