linearKernel {kebabs} | R Documentation

## Linear Kernel

### Description

Create a dense or sparse kernel matrix from an explicit representation

### Usage

    linearKernel(x, y = NULL, selx = integer(0), sely = integer(0),
      sparse = FALSE, triangular = TRUE, diag = TRUE, lowerLimit = 0)

### Arguments

`x` | a dense or sparse explicit representation. `x` must be a sparse explicit representation when a sparse kernel matrix should be returned by the function (see parameter `sparse`).
`y` | a dense or sparse explicit representation. If `x` is dense, `y` must be dense. If `x` is sparse, `y` must be sparse.
`selx` | a numeric or character vector for defining a subset of `x`. Default=integer(0)
`sely` | a numeric or character vector for defining a subset of `y`. Default=integer(0)
`sparse` | boolean indicating whether returned kernel matrix should be sparse or dense. For value `FALSE` a dense kernel matrix of class `KernelMatrix` is returned. If set to `TRUE` the kernel matrix is returned as sparse matrix of class `dgCMatrix`. In case of a symmetric matrix either the lower triangular part or the full matrix can be returned. Please note that a sparse kernel matrix currently can not be used for SVM based learning in `kebabs`. Default=FALSE
`triangular` | boolean indicating whether just the lower triangular or the full sparse matrix should be returned. This parameter is only relevant for a sparse symmetric kernel matrix. Default=TRUE
`diag` | boolean indicating whether the diagonal should be included in a sparse triangular matrix. This parameter is only relevant when parameter `sparse` and `triangular` are set to `TRUE`. Default=TRUE
`lowerLimit` | a numeric value for a similarity threshold. The parameter is relevant for sparse kernel matrices only. If set to a value larger than 0 only similarity values larger than this threshold will be included in the sparse kernel matrix. Default=0

### Value

linearKernel: kernel matrix as class `KernelMatrix` or sparse kernel matrix of class `dgCMatrix` dependent on parameter `sparse`

### Author(s)

Johannes Palme <kebabs@bioinf.jku.at>

### References

http://www.bioinf.jku.at/software/kebabs
J. Palme, S. Hochreiter, and U. Bodenhofer (2015) KeBABS: an R package for kernel-based analysis of biological sequences. Bioinformatics, 31(15):2574-2576, 2015. DOI: 10.1093/bioinformatics/btv176.

### Examples

    ## load sequence data and change sample names
    data(TFBS)
    names(enhancerFB) <- paste("S", 1:length(enhancerFB), sep="_")

    ## create the kernel object for dimers with normalization
    speck <- spectrumKernel(k=5)

    ## generate sparse explicit representation
    ers <- getExRep(enhancerFB, speck)

    ## compute dense kernel matrix (as currently used in SVM based learning)
    km <- linearKernel(ers)
    km[1:5, 1:5]

    ## compute sparse kernel matrix
    ## because it is symmetric just the lower diagonal
    ## is computed to save storage
    km <- linearKernel(ers, sparse=TRUE)
    km[1:5, 1:5]

    ## compute full sparse kernel matrix
    km <- linearKernel(ers, sparse=TRUE, triangular=FALSE)
    km[1:5, 1:5]

    ## compute triangular sparse kernel matrix without diagonal
    km <- linearKernel(ers, sparse=TRUE, triangular=TRUE, diag=FALSE)
    km[1:5, 1:5]

    ## plot histogram of similarity values
    hist(as(km, "numeric"), breaks=30)

    ## compute sparse kernel matrix with similarities above 0.5 only
    km <- linearKernel(ers, sparse=TRUE, lowerLimit=0.5)
    km[1:5, 1:5]

[Package kebabs version 1.14.0 Index]