Nothing
# description: interface to som {som}
# arguments:
# exprObj ExpressionSet
# xdim x dimension
# ydim y dimension
# metric for distance matrix
# value:
# object of class "classifPred"
# where sampLabels are the labels of the original sample
# example:
# somOut <- somB(golubMerge[100:200,], "ALL.AML", 2, 3)
#####################
setClass("somout", contains="list")
setMethod("show", "somout", function(object) {
cat("somB output\n")
print(object$call)
cat("available elements:\n")
print(names(object))
})
setGeneric("somB", function(exprObj, classifLab, xdim=3, ydim=3, init="linear", alpha, alphaType="inverse",
neigh="gaussian", topol="rect", radius, rlen, err.radius=1, inv.alp.c, metric="euclidean"){
standardGeneric("somB")
})
setMethod("somB", c("ExpressionSet", "character", "ANY", "ANY", "ANY", "ANY", "ANY", "ANY", "ANY", "ANY", "ANY", "ANY",
"ANY", "ANY"),
function(exprObj, classifLab, xdim, ydim, init, alpha, alphaType, neigh, topol,
radius, rlen, err.radius, inv.alp.c, metric){
if(missing(alpha)){ alpha <- NULL }
if(missing(radius)){ radius <- NULL }
if(missing(rlen)){ rlen <- NULL }
if(missing(inv.alp.c)){ inv.alp.c <- NULL }
dat <- t(exprs(exprObj))
dis <- dist(dat, method=metric)
out <- som::som(dat, xdim, ydim, init=init, alpha=alpha, alphaType=alphaType, neigh=neigh,
topol=topol, radius=radius, rlen=rlen, err.radius=err.radius,
inv.alp.c=inv.alp.c)
new("somout", list(method="som", somout=out, call=match.call()))
})
setClass("SOMBout", contains="list")
setMethod("show", "SOMBout", function(object) {
cat("SOMB output\n")
print(object$call)
cat("available elements:\n")
print(names(object))
})
setMethod("SOMB", c("ExpressionSet", "character", "ANY", "ANY", "ANY", "ANY", "ANY", "ANY", "ANY"),
function(exprObj, classifLab, kx, ky, topo, rlen, alpha, radii, init, metric){
dat <- t(exprs(exprObj))
dis <- dist(dat, method=metric)
sgrid <- class::somgrid(xdim=kx, ydim=ky, topo=topo)
out <- class::SOM(dat, sgrid, rlen=rlen, alpha=alpha, radii=radii, init)
# new("classifPred", sampLabels=pData(exprObj)[[classifLab]], distMat=dis, classifObj=out)
# this function has no commonality with the others, just return a list for now
new("SOMBout", list(method="SOM", SOMout=out, SOMgrid=sgrid, distMat=dis,
call=match.call()))
})
Any scripts or data that you put into this service are public.
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.