R/ti_urd.R

Defines functions ti_urd

Documented in ti_urd

######################################### DO NOT EDIT! #########################################
#### This file is automatically generated from data-raw/2-generate_r_code_from_containers.R ####
################################################################################################

#' @title URD
#' 
#' @description
#' Will generate a trajectory using
#' [URD](https://doi.org/10.1126/science.aar3131).
#' 
#' This method was wrapped inside a
#' [container](https://github.com/dynverse/ti_urd).
#' The original code of this method is available
#' [here](https://github.com/farrellja/URD).
#' 
#' @references Farrell, J.A., Wang, Y., Riesenfeld, S.J., Shekhar, K., Regev, A.,
#' Schier, A.F., 2018. Single-cell reconstruction of developmental trajectories
#' during zebrafish embryogenesis. Science 360, eaar3131.
#' 
#' @param knn Number of nearest neighbors to use. `0` takes a guess. Domain: U(0,
#' 50). Default: 0. Format: integer.
#' @param sigma.use Kernel width to use for the diffusion map. `0` uses destiny's
#' global auto-detection procedure. Domain: U(0, 1). Default: 0. Format: numeric.
#' @param distance Distance metric to use for determining transition
#' probabilities. Domain: {euclidean, cosine, rankcor}. Default: euclidean.
#' Format: character.
#' @param n_floods Number of simulations to perform and average. Domain: U(5, 50).
#' Default: 20. Format: integer.
#' @param stability.div Number of simulation subsamplings to calculate. Domain:
#' U(2, 50). Default: 10. Format: numeric.
#' @param mp.factor Retain PCs than are this factor more than the estimated
#' maximum singular value expected or random data. This is useful in cases when
#' there are many PCs that have standard deviations just above that expected by
#' random, which probably represent noise and should be excluded. Domain: U(0,
#' 10). Default: 1. Format: numeric.
#' @param perplexity Perplexity parameter for the tSNE. Domain: U(0, 100).
#' Default: 30. Format: numeric.
#' @param theta Speed/accuracy trade-off for Barnes-Hut approximation of tSNE. 0
#' is exact tSNE, higher is less accurate. Domain: U(0, 1). Default: 0.5. Format:
#' numeric.
#' @param max_iter Number of nearest neighbors to use. `0` takes a guess. Domain:
#' e^U(4.61, 9.21). Default: 1000. Format: integer.
#' @param num.nn How many nearest-neighbors to use in the k-nn graph. Domain:
#' e^U(2.30, 4.61). Default: 30. Format: integer.
#' @param do.jaccard Weight edges in the k-nn graph according to their Jaccard
#' overlap?. Default: TRUE. Format: logical.
#' @param optimal.cells.forward The number of cells in the direction specified by
#' pseudotime.direction at which the logistic should reach 1-asymptote. Domain:
#' e^U(1.61, 4.61). Default: 20. Format: numeric.
#' @param max.cells.back The number of cells in the direction opposite from that
#' specified by pseudotime.direction at which the logistic should reach asymptote.
#' Domain: e^U(1.61, 5.30). Default: 40. Format: numeric.
#' @param n.per.tip Number of walks to do per tip. Domain: e^U(4.61, 13.82).
#' Default: 25000. Format: integer.
#' @param root.visits Number of steps to take that visit a root.cell before
#' stopping. Domain: U(1, 5). Default: 1. Format: integer.
#' @param max.steps Number of walks to do per tip. Domain: e^U(4.61, 13.82).
#' Default: 25000. Format: integer.
#' @param n.subsample Number of subsamplings to perform for calculating stability.
#' Domain: e^U(0.69, 4.61). Default: 10. Format: integer.
#' @param divergence.method Distance metric to use for determining transition
#' probabilities. Domain: {ks, preference}. Default: ks. Format: character.
#' @param cells.per.pseudotime.bin Approximate number of cells to assign to each
#' pseudotime bin for branchpoint finding. Domain: e^U(2.30, 6.91). Default: 80.
#' Format: integer.
#' @param bins.per.pseudotime.window Width of moving window in pseudotime used for
#' branchpoint finding, in terms of bins. Domain: U(2, 20). Default: 5. Format:
#' integer.
#' @param p.thresh P-value threshold to use in determining whether visitation is
#' significantly different from pairs of tips. Domain: e^U(-11.51, 0.00). Default:
#' 0.01. Format: numeric.
#' 
#' @keywords method
#' 
#' @return A TI method wrapper to be used together with
#' \code{\link[dynwrap:infer_trajectories]{infer_trajectory}}
#' @export
ti_urd <- function(
    knn = 0L,
    sigma.use = 0,
    distance = "euclidean",
    n_floods = 20L,
    stability.div = 10L,
    mp.factor = 1L,
    perplexity = 30L,
    theta = 0.5,
    max_iter = 1000L,
    num.nn = 30L,
    do.jaccard = TRUE,
    optimal.cells.forward = 20L,
    max.cells.back = 40L,
    n.per.tip = 25000L,
    root.visits = 1L,
    max.steps = 25000L,
    n.subsample = 10L,
    divergence.method = "ks",
    cells.per.pseudotime.bin = 80L,
    bins.per.pseudotime.window = 5L,
    p.thresh = 0.01
) {
  method_choose_backend(
    package_repository = NULL,
    package_name = NULL,
    function_name = NULL,
    package_version = NULL,
    container_id = "dynverse/ti_urd:v0.9.9.01"
  )(
    knn = knn,
    sigma.use = sigma.use,
    distance = distance,
    n_floods = n_floods,
    stability.div = stability.div,
    mp.factor = mp.factor,
    perplexity = perplexity,
    theta = theta,
    max_iter = max_iter,
    num.nn = num.nn,
    do.jaccard = do.jaccard,
    optimal.cells.forward = optimal.cells.forward,
    max.cells.back = max.cells.back,
    n.per.tip = n.per.tip,
    root.visits = root.visits,
    max.steps = max.steps,
    n.subsample = n.subsample,
    divergence.method = divergence.method,
    cells.per.pseudotime.bin = cells.per.pseudotime.bin,
    bins.per.pseudotime.window = bins.per.pseudotime.window,
    p.thresh = p.thresh
  )
}
dynverse/dynmethods documentation built on Jan. 18, 2024, 4:44 a.m.