BASiCS_DetectVG {BASiCS} | R Documentation

## Detection method for highly (HVG) and lowly (LVG) variable genes

### Description

Functions to detect highly and lowly variable genes. If the BASiCS_Chain object was generated using the regression approach, BASiCS finds the top highly variable genes based on the posteriors of the epsilon parameters. Otherwise, the old approach is used, which initially performs a variance decomposition.

### Usage

    BASiCS_DetectVG(
      Chain,
      Task = c("HVG", "LVG"),
      PercentileThreshold = NULL,
      VarThreshold = NULL,
      ProbThreshold = 2/3,
      EpsilonThreshold = NULL,
      EFDR = 0.1,
      OrderVariable = c("Prob", "GeneIndex", "GeneName"),
      Plot = FALSE,
      MinESS = 100,
      ...
    )

    BASiCS_DetectLVG(Chain, ...)

    BASiCS_DetectHVG(Chain, ...)

### Arguments

`Chain` | an object of class `BASiCS_Chain`
`Task` | Search for highly variable genes (`Task="HVG"`) or lowly variable genes (`Task="LVG"`).
`PercentileThreshold` | Threshold to detect a percentile of variable genes (must be a positive value, between 0 and 1). Default: `PercentileThreshold = NULL`.
`VarThreshold` | Variance contribution threshold (must be a positive value, between 0 and 1). This is only used when the BASiCS non-regression model was used to generate the Chain object. Default: `VarThreshold = NULL`.
`ProbThreshold` | Optional parameter. Posterior probability threshold (must be a positive value, between 0 and 1). If `EFDR = NULL`, the posterior probability threshold for the test will be set to `ProbThreshold`
`EpsilonThreshold` | Threshold for residual overdispersion above which
`EFDR` | Target for expected false discovery rate related to HVG/LVG detection. If `EFDR = NULL`, EFDR calibration is not performed and the posterior probability threshold is set equal to `ProbThreshold`. Default `EFDR = 0.10`.
`OrderVariable` | Ordering variable for output. Possible values: `'GeneIndex'`, `'GeneName'` and `'Prob'`. Default `ProbThreshold = 'Prob'`
`Plot` | If `Plot = TRUE` error control and expression versus HVG/LVG probability plots are generated.
`MinESS` | The minimum effective sample size for a gene to be included in the HVG or LVG tests. This helps to remove genes with poor mixing from detection of HVGs/LVGs. Default is 100. If set to NA, genes are not checked for effective sample size the tests are performed.
`...` | Graphical parameters (see `par`).

### Details

See vignette

### Value

An object of class `BASiCS_ResultVG`.

### Author(s)

Catalina A. Vallejos cnvallej@uc.cl

Nils Eling eling@ebi.ac.uk

### References

Vallejos, Marioni and Richardson (2015). PLoS Computational Biology.

### See Also

`BASiCS_Chain`

### Examples

    # Loads short example chain (non-regression implementation)
    data(ChainSC)

    # Highly and lowly variable genes detection (within a single group of cells)
    DetectHVG <- BASiCS_DetectHVG(ChainSC, VarThreshold = 0.60,
                                  EFDR = 0.10, Plot = TRUE)
    DetectLVG <- BASiCS_DetectLVG(ChainSC, VarThreshold = 0.40,
                                  EFDR = 0.10, Plot = TRUE)

    # Loads short example chain (regression implementation)
    data(ChainSCReg)

    # Highly and lowly variable genes detection (within a single group of cells)
    DetectHVG <- BASiCS_DetectHVG(ChainSCReg, PercentileThreshold = 0.90,
                                  EFDR = 0.10, Plot = TRUE)
    DetectLVG <- BASiCS_DetectLVG(ChainSCReg, PercentileThreshold = 0.10,
                                  EFDR = 0.10, Plot = TRUE)

    ## Highly and lowly variable genes detection based on residual overdispersion
    ## threshold
    DetectHVG <- BASiCS_DetectHVG(ChainSCReg, EpsilonThreshold = log(2), Plot = TRUE)
    DetectLVG <- BASiCS_DetectLVG(ChainSCReg, EpsilonThreshold = -log(2), Plot = TRUE)

[Package BASiCS version 2.6.0 Index]