BASiCS_MCMC {BASiCS} | R Documentation |
MCMC sampler to perform Bayesian inference for single-cell mRNA sequencing datasets using the model described in Vallejos et al (2015).
BASiCS_MCMC(Data, N, Thin, Burn, ...)
Data |
A |
N |
Total number of iterations for the MCMC sampler.
Use |
Thin |
Thining period for the MCMC sampler. Use |
Burn |
Burn-in period for the MCMC sampler. Use |
... |
Optional parameters.
.
Default value:
.
|
An object of class BASiCS_Chain
.
Catalina A. Vallejos cnvallej@uc.cl and Nils Eling
Vallejos, Marioni and Richardson (2015). PLoS Computational Biology.
Vallejos, Richardson and Marioni (2016). Genome Biology.
# Built-in simulated dataset Data = makeExampleBASiCS_Data() # To analyse real data, please refer to the instructions in: # https://github.com/catavallejos/BASiCS/wiki/2.-Input-preparation # Only a short run of the MCMC algorithm for illustration purposes # Longer runs migth be required to reach convergence Chain <- BASiCS_MCMC(Data, N = 50, Thin = 2, Burn = 10, PrintProgress = FALSE) # For illustration purposes we load a built-in 'BASiCS_Chain' object # (obtained using the 'BASiCS_MCMC' function) data(ChainSC) # `displayChainBASiCS` can be used to extract information from this output. # For example: head(displayChainBASiCS(ChainSC, Param = 'mu')) # Traceplot (examples only) plot(ChainSC, Param = 'mu', Gene = 1) plot(ChainSC, Param = 'phi', Cell = 1) plot(ChainSC, Param = 'theta', Batch = 1) # Calculating posterior medians and 95% HPD intervals ChainSummary <- Summary(ChainSC) # `displaySummaryBASiCS` can be used to extract information from this output. # For example: head(displaySummaryBASiCS(ChainSummary, Param = 'mu')) # Graphical display of posterior medians and 95% HPD intervals # For example: plot(ChainSummary, Param = 'mu', main = 'All genes') plot(ChainSummary, Param = 'mu', Genes = 1:10, main = 'First 10 genes') plot(ChainSummary, Param = 'phi', main = 'All cells') plot(ChainSummary, Param = 'phi', Cells = 1:5, main = 'First 5 cells') plot(ChainSummary, Param = 'theta') # To constrast posterior medians of cell-specific parameters # For example: par(mfrow = c(1,2)) plot(ChainSummary, Param = 'phi', Param2 = 's', SmoothPlot = FALSE) # Recommended for large numbers of cells plot(ChainSummary, Param = 'phi', Param2 = 's', SmoothPlot = TRUE) # To constrast posterior medians of gene-specific parameters par(mfrow = c(1,2)) plot(ChainSummary, Param = 'mu', Param2 = 'delta', log = 'x', SmoothPlot = FALSE) # Recommended plot(ChainSummary, Param = 'mu', Param2 = 'delta', log = 'x', SmoothPlot = TRUE) # 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) plot(ChainSummary, Param = 'mu', Param2 = 'delta', log = 'x', col = 8) with(DetectHVG$Table, points(Mu[HVG == TRUE], Delta[HVG == TRUE], pch = 16, col = 'red', cex = 1)) with(DetectLVG$Table, points(Mu[LVG == TRUE], Delta[LVG == TRUE], pch = 16, col = 'blue', cex = 1)) # If variance thresholds are not fixed BASiCS_VarThresholdSearchHVG(ChainSC, VarThresholdsGrid = seq(0.55,0.65,by=0.01), EFDR = 0.10) BASiCS_VarThresholdSearchLVG(ChainSC, VarThresholdsGrid = seq(0.35,0.45,by=0.01), EFDR = 0.10) # To obtain denoised rates / counts, see: help(BASiCS_DenoisedRates) help(BASiCS_DenoisedCounts) # For examples of differential analyses between 2 populations of cells see: help(BASiCS_TestDE)