######################################### DO NOT EDIT! #########################################
#### This file is automatically generated from data-raw/2-generate_r_code_from_containers.R ####
################################################################################################
#' @title Embeddr
#'
#' @description
#' Will generate a trajectory using [Embeddr](https://doi.org/10.1101/027219).
#'
#' This method was wrapped inside a
#' [container](https://github.com/dynverse/ti_embeddr).
#' The original code of this method is available
#' [here](https://github.com/kieranrcampbell/embeddr).
#'
#' @references Campbell, K., Ponting, C.P., Webber, C., 2015. Laplacian eigenmaps
#' and principal curves for high resolution pseudotemporal ordering of single-cell
#' RNA-seq profiles.
#'
#' @param ndim Dimension of the embedded space, default is 2. Domain: U(2, 10).
#' Default: 2. Format: integer.
#' @param kernel The choice of kernel. 'nn' will give nearest neighbours, 'dist'
#' gives minimum distance and'heat' gives a heat kernel. Discussed in detail in
#' 'Laplacian Eigenmaps and Spectral Techniques for Embedding and
#' Clustering',Belkin & Niyogi. Domain: {nn, dist, heat}. Default: nn. Format:
#' character.
#' @param metric The metric with which to assess 'closeness' for nearest neighbour
#' selection, one of'correlation' (pearson) or 'euclidean'. Default is
#' 'correlation'. Domain: {correlation, euclidean, cosine}. Default: correlation.
#' Format: character.
#' @param nn_pct The percentage of cells to use as tge number of nearest
#' neighbours if kernel == 'nn'. Domain: U(-2, 1). Default: 0. Format: numeric.
#' @param eps Maximum distance parameter if kernel == 'dist'. Domain: U(-5, 5).
#' Default: 0. Format: numeric.
#' @param t "time" for heat kernel if kernel == "heat". Domain: U(-5, 5). Default:
#' 0. Format: numeric.
#' @param symmetrize How to make the adjacency matrix symmetric. Note that
#' slightlycounterintuitively, node i having node j as a nearest neighbour doesn't
#' guarantee nodej has node i. There are several ways to get round this;* `mean`
#' If the above case occurs make the link weight 0.5 so the adjacency matrix
#' becomes $0.5(A + A')$* `ceil` If the above case occurs set the link weight to 1
#' (ie take the ceiling of the mean case)* `floor` If the above case occurs set
#' the link weight to 0 (ie take the floor of the mean case). Domain: {mean, ceil,
#' floor}. Default: mean. Format: character.
#' @param measure_type Type of laplacian eigenmap, which corresponds to the
#' constraint on the eigenvalue problem. Iftype is 'unorm' (default), then the
#' graph measure used is the identity matrix, while if type is 'norm' then the
#' measureused is the degree matrix. Domain: {unorm, norm}. Default: unorm.
#' Format: character.
#' @param thresh Convergence threshold on shortest distances to the curve. Domain:
#' e^U(-11.51, 11.51). Default: 0.001. Format: numeric.
#' @param maxit Maximum number of iterations. Domain: U(0, 50). Default: 10.
#' Format: integer.
#' @param stretch A factor by which the curve can be extrapolated when points are
#' projected. Default is 2 (times the last segment length). The default is 0 for
#' `smoother` equal to `"periodic_lowess"`. Domain: U(0, 5). Default: 2. Format:
#' numeric.
#' @param smoother Choice of smoother. The default is `"smooth_spline"`, and other
#' choices are `"lowess"` and `"periodic_lowess"`. The latter allows one to fit
#' closed curves. Beware, you may want to use `iter = 0` with `lowess()`. Domain:
#' {smooth.spline, lowess, periodic.lowess}. Default: smooth.spline. Format:
#' character.
#'
#' @keywords method
#'
#' @return A TI method wrapper to be used together with
#' \code{\link[dynwrap:infer_trajectories]{infer_trajectory}}
#' @export
ti_embeddr <- function(
ndim = 2L,
kernel = "nn",
metric = "correlation",
nn_pct = 0L,
eps = 0L,
t = 0L,
symmetrize = "mean",
measure_type = "unorm",
thresh = 0.001,
maxit = 10L,
stretch = 2L,
smoother = "smooth.spline"
) {
method_choose_backend(
package_repository = NULL,
package_name = NULL,
function_name = NULL,
package_version = NULL,
container_id = "dynverse/ti_embeddr:v0.9.9.01"
)(
ndim = ndim,
kernel = kernel,
metric = metric,
nn_pct = nn_pct,
eps = eps,
t = t,
symmetrize = symmetrize,
measure_type = measure_type,
thresh = thresh,
maxit = maxit,
stretch = stretch,
smoother = smoother
)
}
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.