Skip to contents

Export top SVG results to a data frame

Usage

topSVGs(spe, n = 10, fdr = 1)

Arguments

spe

a SpatialExperiment object with SVG results from SpaNormSVG.

n

a numeric, specifying the number of top SVGs to call.

fdr

a numeric, specifying the false discovery rate (FDR) threshold for calling SVGs.

Value

A data frame containing the top SVGs from F-test results including F-statistics, p-values and FDR.

Examples


library(SpatialExperiment)
library(ggplot2)

data(HumanDLPFC)

HumanDLPFC = SpaNorm(HumanDLPFC, sample.p = 0.05, df.tps = 2, tol = 1e-2)
#> (1/2) Fitting SpaNorm model
#> 201 cells/spots sampled to fit model
#> iter:  1, estimating gene-wise dispersion
#> iter:  1, log-likelihood: -1150335.907591
#> iter:  1, fitting NB model
#> iter:  1, iter:  1, log-likelihood: -1150335.907591
#> iter:  1, iter:  2, log-likelihood: -811360.944864
#> iter:  1, iter:  3, log-likelihood: -724842.752989
#> iter:  1, iter:  4, log-likelihood: -709869.764027
#> iter:  1, iter:  5, log-likelihood: -707685.262244
#> iter:  1, iter:  6, log-likelihood: -707343.114212
#> iter:  1, iter:  7, log-likelihood: -707275.296683 (converged)
#> iter:  2, estimating gene-wise dispersion
#> iter:  2, log-likelihood: -706909.350001
#> iter:  2, fitting NB model
#> iter:  2, iter:  1, log-likelihood: -706909.350001
#> iter:  2, iter:  2, log-likelihood: -706763.367180
#> iter:  2, iter:  3, log-likelihood: -706751.488351 (converged)
#> iter:  3, log-likelihood: -706751.488351 (converged)
#> (2/2) Normalising data
HumanDLPFC = SpaNormSVG(HumanDLPFC)
#> (1/3) Retrieving SpaNorm model
#> (2/3) Fitting Null SpaNorm model
#> 201 cells/spots sampled to fit model
#> iter:  1, estimating gene-wise dispersion
#> iter:  1, log-likelihood: -1150335.907591
#> iter:  1, fitting NB model
#> iter:  1, iter:  1, log-likelihood: -1150335.907591
#> iter:  1, iter:  2, log-likelihood: -817437.585158
#> iter:  1, iter:  3, log-likelihood: -733068.193303
#> iter:  1, iter:  4, log-likelihood: -718977.645661
#> iter:  1, iter:  5, log-likelihood: -717112.716002
#> iter:  1, iter:  6, log-likelihood: -716988.303975
#> iter:  1, iter:  6, log-likelihood: -716988.303975
#> iter:  1, iter:  6, log-likelihood: -716988.303975
#> iter:  1, iter:  7, log-likelihood: -716988.303975 (converged)
#> iter:  2, estimating gene-wise dispersion
#> iter:  2, log-likelihood: -716734.301675
#> iter:  2, fitting NB model
#> iter:  2, iter:  1, log-likelihood: -716734.301675
#> iter:  2, iter:  1, log-likelihood: -716734.301675
#> iter:  2, iter:  1, log-likelihood: -716734.301675
#> iter:  2, iter:  2, log-likelihood: -716734.301675
#> iter:  2, iter:  2, log-likelihood: -716734.301675
#> iter:  2, iter:  2, log-likelihood: -716734.301675
#> iter:  2, iter:  3, log-likelihood: -716734.301675 (converged)
#> iter:  3, estimating gene-wise dispersion
#> iter:  3, log-likelihood: -716734.301675
#> iter:  3, fitting NB model
#> iter:  3, iter:  1, log-likelihood: -716734.301675
#> iter:  3, iter:  1, log-likelihood: -716734.301675
#> iter:  3, iter:  1, log-likelihood: -716734.301675
#> iter:  3, iter:  2, log-likelihood: -716734.301675
#> iter:  3, iter:  2, log-likelihood: -716734.301675
#> iter:  3, iter:  2, log-likelihood: -716734.301675
#> iter:  3, iter:  3, log-likelihood: -716734.301675 (converged)
#> iter:  4, log-likelihood: -716734.301675 (converged)
#> (3/3) Finding SVGs
#> 1049 SVGs found (FDR < 0.05)
topSVGs = topSVGs(HumanDLPFC, n = 10)