{
  "_id": "6a5268cb9b92047c28d54e1f",
  "Package": "SpaNorm",
  "Title": "Spatially-aware normalisation for spatial transcriptomics data",
  "Version": "1.7.4",
  "Authors@R": "c(\nperson(given = \"Dharmesh D.\",\nfamily = \"Bhuva\",\nrole = c(\"aut\", \"cre\"),\nemail = \"dharmesh.bhuva@adelaide.edu.au\",\ncomment = c(ORCID = \"0000-0002-6398-9157\")),\nperson(given = \"Agus\",\nfamily = \"Salim\",\nrole = c(\"aut\"),\nemail = \"salim.a@unimelb.edu.au\",\ncomment = c(ORCID = \"0000-0003-3999-7701\")),\nperson(given = \"Ahmed\",\nfamily = \"Mohamed\",\nrole = c(\"aut\"),\nemail = \"mohamed.a@wehi.edu.au\",\ncomment = c(ORCID = \"0000-0001-6507-5300\"))\n)",
  "Description": "This package implements the spatially aware library size\nnormalisation algorithm, SpaNorm. SpaNorm normalises out\nlibrary size effects while retaining biology through the\nmodelling of smooth functions for each effect. Normalisation is\nperformed in a gene- and cell-/spot- specific manner, yielding\nlibrary size adjusted data.",
  "License": "GPL (>= 3)",
  "Encoding": "UTF-8",
  "Roxygen": "list(markdown = TRUE)",
  "biocViews": "Software, GeneExpression, Transcriptomics, Spatial,\nCellBiology",
  "URL": "https://bhuvad.github.io/SpaNorm",
  "BugReports": "https://github.com/bhuvad/SpaNorm/issues",
  "VignetteBuilder": "knitr",
  "Config/testthat/edition": "3",
  "LazyData": "false",
  "Config/roxygen2/version": "8.0.0",
  "Config/pak/sysreqs": "libglpk-dev libmagick++-dev gsfonts libicu-dev\nlibxml2-dev libssl-dev zlib1g-dev",
  "Repository": "https://bioc.r-universe.dev",
  "Date/Publication": "2026-07-11 06:19:48 UTC",
  "RemoteUrl": "https://github.com/bioc/SpaNorm",
  "RemoteRef": "HEAD",
  "RemoteSha": "4319830ba3060212b917670296c4330b73a88766",
  "NeedsCompilation": "no",
  "Packaged": {
    "Date": "2026-07-11 15:47:24 UTC",
    "User": "root"
  },
  "Author": "Dharmesh D. Bhuva [aut, cre] (ORCID:\n<https://orcid.org/0000-0002-6398-9157>),\nAgus Salim [aut] (ORCID: <https://orcid.org/0000-0003-3999-7701>),\nAhmed Mohamed [aut] (ORCID: <https://orcid.org/0000-0001-6507-5300>)",
  "Maintainer": "Dharmesh D. Bhuva <dharmesh.bhuva@adelaide.edu.au>",
  "_user": "bioc",
  "_type": "src",
  "_file": "SpaNorm_1.7.4.tar.gz",
  "_fileid": "https://r2.ropensci.org/458947f7df648ff12929f6941936a131ec6831cea37a77da9d8e0283c3195ce6",
  "_filesize": 17829577,
  "_sha256": "458947f7df648ff12929f6941936a131ec6831cea37a77da9d8e0283c3195ce6",
  "_expires": "2026-10-19T16:01:12.000Z",
  "_created": "2026-07-11T15:47:24.000Z",
  "_published": "2026-07-11T16:01:14.958Z",
  "_bioccheck": {
    "error": 0,
    "warning": 1,
    "note": 10
  },
  "_host": "GitHub-Actions",
  "_buildurl": "https://github.com/r-universe/bioc/actions/runs/29158286485",
  "_status": "success",
  "_upstream": "https://github.com/bioc/SpaNorm",
  "_commit": {
    "id": "4319830ba3060212b917670296c4330b73a88766",
    "author": "dbhuva <d.bhuva@uq.edu.au>",
    "committer": "dbhuva <d.bhuva@uq.edu.au>",
    "message": "Make CPU/backend=\"cpu\" paths fork-safe by gating the GPU probe\n\nReorder the short-circuit at every checkGPU() call site so the cheap,\nfork-safe predicate (backend, is_torch_tensor) is evaluated first and\ncheckGPU() -- which probes the torch/CUDA/MPS runtime and crashes in a\nforked worker -- only runs on an actual GPU path. This makes\nbackend=\"cpu\" and all base-R-matrix callers genuinely torch-free.\n\nAlso export calculateMu() and invert_mat() with docs for downstream\nreuse (e.g. spiDE); bump version to 1.7.4.\n\nCo-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>\n",
    "time": 1783750788
  },
  "_maintainer": {
    "name": "Dharmesh D. Bhuva",
    "email": "dharmesh.bhuva@adelaide.edu.au",
    "login": "bhuvad",
    "orcid": "0000-0002-6398-9157",
    "twitter": "@bhuva_dd",
    "description": "NHMRC Emerging Leardership Fellow working on systems biology and spatial statistics.",
    "uuid": 30132854
  },
  "_distro": "resolute",
  "_jobs": [
    {
      "job": 86559700847,
      "time": 223,
      "config": "bioc-checks",
      "r": "4.6.1",
      "check": "WARNING",
      "artifact": "8250184768"
    },
    {
      "job": 86559700851,
      "time": 604,
      "config": "linux-devel-x86_64",
      "r": "4.7.0",
      "check": "OK",
      "artifact": "8250235985"
    },
    {
      "job": 86559700853,
      "time": 631,
      "config": "linux-release-x86_64",
      "r": "4.6.1",
      "check": "OK",
      "artifact": "8250239728"
    },
    {
      "job": 86559700857,
      "time": 366,
      "config": "macos-oldrel-arm64",
      "r": "4.5.3",
      "check": "OK",
      "artifact": "8250204155"
    },
    {
      "job": 86559700869,
      "time": 379,
      "config": "macos-release-arm64",
      "r": "4.6.1",
      "check": "OK",
      "artifact": "8250205801"
    },
    {
      "job": 86558972695,
      "time": 555,
      "config": "source",
      "r": "4.6.1",
      "check": "OK",
      "artifact": "8250154018"
    },
    {
      "job": 86559700883,
      "time": 203,
      "config": "wasm-release",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "8250182079"
    },
    {
      "job": 86559700887,
      "time": 767,
      "config": "windows-devel",
      "r": "4.7.0",
      "check": "OK",
      "artifact": "8250259342"
    },
    {
      "job": 86559700901,
      "time": 771,
      "config": "windows-oldrel",
      "r": "4.5.3",
      "check": "OK",
      "artifact": "8250260175"
    },
    {
      "job": 86559700908,
      "time": 742,
      "config": "windows-release",
      "r": "4.6.1",
      "check": "OK",
      "artifact": "8250255616"
    }
  ],
  "_registered": true,
  "_dependencies": [
    {
      "package": "R",
      "version": ">= 4.4",
      "role": "Depends"
    },
    {
      "package": "edgeR",
      "role": "Imports"
    },
    {
      "package": "ggplot2",
      "role": "Imports"
    },
    {
      "package": "Matrix",
      "role": "Imports"
    },
    {
      "package": "matrixStats",
      "role": "Imports"
    },
    {
      "package": "methods",
      "role": "Imports"
    },
    {
      "package": "rlang",
      "role": "Imports"
    },
    {
      "package": "scran",
      "role": "Imports"
    },
    {
      "package": "SeuratObject",
      "role": "Imports"
    },
    {
      "package": "SingleCellExperiment",
      "role": "Imports"
    },
    {
      "package": "SpatialExperiment",
      "role": "Imports"
    },
    {
      "package": "stats",
      "role": "Imports"
    },
    {
      "package": "SummarizedExperiment",
      "role": "Imports"
    },
    {
      "package": "S4Vectors",
      "role": "Imports"
    },
    {
      "package": "utils",
      "role": "Imports"
    },
    {
      "package": "BiocParallel",
      "role": "Imports"
    },
    {
      "package": "BiocSingular",
      "role": "Imports"
    },
    {
      "package": "DelayedArray",
      "role": "Imports"
    },
    {
      "package": "testthat",
      "version": ">= 3.0.0",
      "role": "Suggests"
    },
    {
      "package": "knitr",
      "role": "Suggests"
    },
    {
      "package": "rmarkdown",
      "role": "Suggests"
    },
    {
      "package": "prettydoc",
      "role": "Suggests"
    },
    {
      "package": "pkgdown",
      "role": "Suggests"
    },
    {
      "package": "covr",
      "role": "Suggests"
    },
    {
      "package": "BiocStyle",
      "role": "Suggests"
    },
    {
      "package": "scater",
      "role": "Suggests"
    },
    {
      "package": "Seurat",
      "version": ">= 5.0.0",
      "role": "Suggests"
    },
    {
      "package": "patchwork",
      "role": "Suggests"
    },
    {
      "package": "ggforce",
      "role": "Suggests"
    },
    {
      "package": "ggnewscale",
      "role": "Suggests"
    },
    {
      "package": "torch",
      "role": "Suggests"
    }
  ],
  "_owner": "bioc",
  "_selfowned": true,
  "_usedby": 0,
  "_updates": [
    {
      "week": "2026-02",
      "n": 1
    },
    {
      "week": "2026-03",
      "n": 5
    },
    {
      "week": "2026-04",
      "n": 2
    },
    {
      "week": "2026-28",
      "n": 19
    }
  ],
  "_tags": [],
  "_bioc": [
    {
      "branch": "devel",
      "version": "1.7.0",
      "bioc": "3.24"
    },
    {
      "branch": "release",
      "version": "1.6.0",
      "bioc": "3.23"
    }
  ],
  "_topics": [
    "software",
    "geneexpression",
    "transcriptomics",
    "spatial",
    "cellbiology"
  ],
  "_stars": 18,
  "_contributors": [
    {
      "user": "bhuvad",
      "count": 135,
      "uuid": 30132854
    },
    {
      "user": "limfuxing",
      "count": 13,
      "uuid": 22235391
    },
    {
      "user": "jwokaty",
      "count": 8,
      "uuid": 1744257
    },
    {
      "user": "hpages",
      "count": 1,
      "uuid": 8810451
    }
  ],
  "_userbio": {
    "uuid": 2286807,
    "type": "organization",
    "name": "Bioconductor",
    "followers": 445,
    "description": "Software for the analysis and comprehension of high-throughput genomic data"
  },
  "_downloads": {
    "count": 335,
    "source": "https://www.bioconductor.org/packages/stats/bioc/SpaNorm"
  },
  "_devurl": "https://github.com/bhuvad/spanorm",
  "_pkgdown": "https://bhuvad.github.io/SpaNorm",
  "_searchresults": 35,
  "_rbuild": "4.6.1",
  "_assets": [
    "extra/citation.cff",
    "extra/citation.html",
    "extra/citation.json",
    "extra/citation.txt",
    "extra/contents.json",
    "extra/NEWS.html",
    "extra/NEWS.txt",
    "extra/readme.html",
    "extra/readme.md",
    "extra/SpaNorm.html",
    "manual.pdf"
  ],
  "_homeurl": "https://github.com/bhuvad/spanorm",
  "_realowner": "bioc",
  "_cranurl": false,
  "_exports": [
    "calculateMu",
    "fastSizeFactors",
    "filterGenes",
    "fitNB",
    "invert_mat",
    "plotCovariate",
    "plotSpatial",
    "SpaNorm",
    "SpaNormPCA",
    "SpaNormSVG",
    "topSVGs"
  ],
  "_datasets": [
    {
      "name": "HumanDLPFC",
      "title": "Human dorsolateral prefrontal cortex (DLPFC) visium sample",
      "object": "HumanDLPFC",
      "file": "HumanDLPFC.rda",
      "class": [
        "SpatialExperiment"
      ],
      "fields": [],
      "table": false,
      "tojson": false
    }
  ],
  "_help": [
    {
      "page": "calculateMu",
      "title": "Compute fitted means from a negative binomial GLM fit",
      "topics": [
        "calculateMu"
      ]
    },
    {
      "page": "fastSizeFactors",
      "title": "Filter genes based on expression",
      "topics": [
        "fastSizeFactors",
        "fastSizeFactors,SpatialExperiment-method"
      ]
    },
    {
      "page": "filterGenes",
      "title": "Filter genes based on expression",
      "topics": [
        "filterGenes",
        "filterGenes,Seurat-method",
        "filterGenes,SpatialExperiment-method"
      ]
    },
    {
      "page": "fitNB",
      "title": "Fit a per-gene negative binomial GLM",
      "topics": [
        "fitNB"
      ]
    },
    {
      "page": "HumanDLPFC",
      "title": "Human dorsolateral prefrontal cortex (DLPFC) visium sample",
      "topics": [
        "HumanDLPFC"
      ]
    },
    {
      "page": "invert_mat",
      "title": "Invert a symmetric positive-definite matrix",
      "topics": [
        "invert_mat"
      ]
    },
    {
      "page": "plotCovariate",
      "title": "Diagnostic plot of predicted expression for a covariate",
      "topics": [
        "plotCovariate"
      ]
    },
    {
      "page": "plotSpatial",
      "title": "Plot spatial transcriptomic annotations per spot",
      "topics": [
        "plotSpatial"
      ]
    },
    {
      "page": "SpaNorm",
      "title": "Spatially-dependent normalisation for spatial transcriptomics data",
      "topics": [
        "SpaNorm",
        "SpaNorm,Seurat-method",
        "SpaNorm,SpatialExperiment-method"
      ]
    },
    {
      "page": "SpaNormFit",
      "title": "An S4 class to store a SpaNorm model fit",
      "topics": [
        "$,SpaNormFit-method",
        "SpaNormFit",
        "SpaNormFit-class"
      ]
    },
    {
      "page": "SpaNormPCA",
      "title": "GLM-based (SpaNorm) PCA",
      "topics": [
        "SpaNormPCA",
        "SpaNormPCA,Seurat-method",
        "SpaNormPCA,SpatialExperiment-method"
      ]
    },
    {
      "page": "SpaNormSVG",
      "title": "Model-based spatially variable gene (SVG) calling",
      "topics": [
        "SpaNormSVG",
        "SpaNormSVG,Seurat-method",
        "SpaNormSVG,SpatialExperiment-method"
      ]
    },
    {
      "page": "topSVGs",
      "title": "Export top SVG results to a data frame",
      "topics": [
        "topSVGs"
      ]
    }
  ],
  "_readme": "https://github.com/bioc/SpaNorm/raw/HEAD/README.md",
  "_rundeps": [
    "abind",
    "askpass",
    "assorthead",
    "beachmat",
    "BH",
    "Biobase",
    "BiocFileCache",
    "BiocGenerics",
    "BiocNeighbors",
    "BiocParallel",
    "BiocSingular",
    "bit",
    "bit64",
    "blob",
    "bluster",
    "cachem",
    "cli",
    "cluster",
    "codetools",
    "cpp11",
    "curl",
    "DBI",
    "dbplyr",
    "DelayedArray",
    "digest",
    "dotCall64",
    "dplyr",
    "dqrng",
    "edgeR",
    "farver",
    "fastmap",
    "filelock",
    "formatR",
    "futile.logger",
    "futile.options",
    "future",
    "future.apply",
    "generics",
    "GenomicRanges",
    "ggplot2",
    "globals",
    "glue",
    "gtable",
    "httr2",
    "igraph",
    "IRanges",
    "irlba",
    "isoband",
    "labeling",
    "lambda.r",
    "lattice",
    "lifecycle",
    "limma",
    "listenv",
    "locfit",
    "magick",
    "magrittr",
    "Matrix",
    "MatrixGenerics",
    "matrixStats",
    "memoise",
    "metapod",
    "openssl",
    "parallelly",
    "pillar",
    "pkgconfig",
    "progressr",
    "purrr",
    "R6",
    "rappdirs",
    "RColorBrewer",
    "Rcpp",
    "RcppEigen",
    "rjson",
    "rlang",
    "RSQLite",
    "rsvd",
    "S4Arrays",
    "S4Vectors",
    "S7",
    "ScaledMatrix",
    "scales",
    "scran",
    "scuttle",
    "Seqinfo",
    "SeuratObject",
    "SingleCellExperiment",
    "sitmo",
    "snow",
    "sp",
    "spam",
    "SparseArray",
    "SpatialExperiment",
    "statmod",
    "stringi",
    "stringr",
    "SummarizedExperiment",
    "sys",
    "tibble",
    "tidyr",
    "tidyselect",
    "utf8",
    "vctrs",
    "viridisLite",
    "withr",
    "XVector"
  ],
  "_vignettes": [
    {
      "source": "SpaNorm.Rmd",
      "filename": "SpaNorm.html",
      "title": "SpaNorm: Spatially aware library size normalisation",
      "author": "Dharmesh D. Bhuva and Agus Salim",
      "engine": "knitr::rmarkdown",
      "headings": [
        "SpaNorm",
        "Load count data",
        "Normalise count data",
        "Scaling to large datasets",
        "Using Seurat objects",
        "Computing alternative adjustments using a precomputed SpaNorm fit",
        "Varying model complexity",
        "Enhancing signal",
        "Exploring learnt functions",
        "Identifying spatially variable genes",
        "GLM-PCA",
        "Fitting a custom model",
        "Session information",
        "References"
      ],
      "created": "2024-05-31 03:07:52",
      "modified": "2026-07-09 15:59:40",
      "commits": 16
    }
  ],
  "_score": 6.577491799837225,
  "_indexed": true,
  "_nocasepkg": "spanorm",
  "_universes": [
    "bioc",
    "bhuvad"
  ],
  "_previous": "1.7.0",
  "_binaries": [
    {
      "r": "4.7.0",
      "os": "linux",
      "version": "1.7.4",
      "date": "2026-07-11T15:52:42.000Z",
      "distro": "resolute",
      "commit": "4319830ba3060212b917670296c4330b73a88766",
      "fileid": "https://r2.ropensci.org/2d3b67245f29587535bfe857b851f8f04d75faa666a14835f4232ecb28309b48",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/bioc/actions/runs/29158286485"
    },
    {
      "r": "4.6.1",
      "os": "linux",
      "version": "1.7.4",
      "date": "2026-07-11T15:52:19.000Z",
      "distro": "resolute",
      "commit": "4319830ba3060212b917670296c4330b73a88766",
      "fileid": "https://r2.ropensci.org/eaa9688757f05e0483980ef52a00d99e95fe1bffcb0a14558285f642a7242b40",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/bioc/actions/runs/29158286485"
    },
    {
      "r": "4.5.3",
      "os": "mac",
      "version": "1.7.4",
      "date": "2026-07-11T15:49:17.000Z",
      "commit": "4319830ba3060212b917670296c4330b73a88766",
      "fileid": "https://r2.ropensci.org/0078b77a995f2f553ce0620d131b1b3f23e1dd309309eff77f88e4673883c52f",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/bioc/actions/runs/29158286485"
    },
    {
      "r": "4.6.1",
      "os": "mac",
      "version": "1.7.4",
      "date": "2026-07-11T15:49:32.000Z",
      "commit": "4319830ba3060212b917670296c4330b73a88766",
      "fileid": "https://r2.ropensci.org/3b13d705329369330ea8697f975deb62c40f67e816c47188ea7f185da7700cc6",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/bioc/actions/runs/29158286485"
    },
    {
      "r": "4.6.0",
      "os": "wasm",
      "version": "1.7.4",
      "date": "2026-07-11T15:51:17.000Z",
      "commit": "4319830ba3060212b917670296c4330b73a88766",
      "fileid": "https://r2.ropensci.org/804e6584929987bc667ead15f103275dccf0dc8c9ad0df7b8300f8802ef8b242",
      "status": "success",
      "buildurl": "https://github.com/r-universe/bioc/actions/runs/29158286485"
    },
    {
      "r": "4.7.0",
      "os": "win",
      "version": "1.7.4",
      "date": "2026-07-11T15:49:41.000Z",
      "commit": "4319830ba3060212b917670296c4330b73a88766",
      "fileid": "https://r2.ropensci.org/eaad9b405724fa0d02362f7b427b8ac7ec2d09c07963d58583191c409ef155af",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/bioc/actions/runs/29158286485"
    },
    {
      "r": "4.5.3",
      "os": "win",
      "version": "1.7.4",
      "date": "2026-07-11T15:50:46.000Z",
      "commit": "4319830ba3060212b917670296c4330b73a88766",
      "fileid": "https://r2.ropensci.org/806375537e54c90db5465fc8bd573197b891cc6f28457fe3e4d1966ea10d79bd",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/bioc/actions/runs/29158286485"
    },
    {
      "r": "4.6.1",
      "os": "win",
      "version": "1.7.4",
      "date": "2026-07-11T15:49:26.000Z",
      "commit": "4319830ba3060212b917670296c4330b73a88766",
      "fileid": "https://r2.ropensci.org/556fb9ec9409f28f889df243be0a121a5aa2f375e1b3b756ae28c4d4fc962d6d",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/bioc/actions/runs/29158286485"
    }
  ]
}