Skip to content

Instantly share code, notes, and snippets.

@sgibb
sgibb / class-draft.R
Created January 24, 2019 13:30
MSnbase3 - multiple MSnExp backends
library("mzR")
library("msdata")
library("rhdf5")
library("digest")
.sha1 <- function(x)vapply(x, digest::sha1, NA_character_, USE.NAMES=FALSE)
setClass(
"Backend",
contains="VIRTUAL"
)
@sgibb
sgibb / ondiskvec.R
Created March 3, 2019 21:27
simple on-disk vector
setClass("ondiskvec",
slots=list(path="character", n="numeric"),
prototype=list(path=character(), n=numeric())
)
ondiskvec <- function(x, path=tempfile()) {
writeBin(as.double(x), path, size=8L)
new("ondiskvec", path=path, n=length(x))
}
@sgibb
sgibb / dispatch.R
Created July 17, 2019 14:45
s4 dispatching
bin <- function(x)x
setGeneric("bin", function(x) standardGeneric("bin"))
setMethod("bin", "matrix", function(x)x)
i <- 1:10
m <- matrix(1:10, nrow=2)
showMethods("bin")
# Function: bin (package .GlobalEnv)