
CTTIR Spatial Biology Suite
An installation framework that brings together these four packages and their required R dependencies:
| Package | Role |
|---|---|
| segmantR | Cell segmentation |
| cellspecR | Validated cell tables |
| gatekeepR | Marker gating and phenotyping |
| phenoscapR | Spatial analysis and visualization |
The package declares R 4.1 or later. Current member packages and their own dependencies must also support the R version in use. The documented source installation was exercised with R 4.6.1 on ARM64 macOS; this does not qualify every older R or native-library combination.
install.packages("remotes")
remotes::install_github("CTTIR/phenoloom", dependencies = NA)
The member packages are declared in Imports, with their GitHub sources in
Remotes. The installation includes required dependencies recursively.
dependencies = NA does not request every optional package in Suggests.
The command follows the members' current GitHub default branches. It can prompt
to update existing dependencies; for unattended installations, choose the
upgrade policy
deliberately. A fresh R library keeps an analysis environment separate from
other projects.
Required geospatial packages include sf and stars. Prefer compatible CRAN
binaries where available. Source builds require the compiler and GDAL, GEOS,
PROJ and other system libraries described in the
official sf installation instructions.
On Windows, source compilation requires Rtools matching R. On macOS, source
compilation requires the Xcode Command Line Tools; CRAN binaries and Homebrew
source installations have different native-library layouts.
imager is optional in the currently tested segmantR 0.2.0. If you choose a
workflow that needs it, follow its
platform prerequisites, including
XQuartz for the documented macOS installation. Optional segmentation engines
such as Cellpose, StarDist, and Mesmer require separate setup through segmantR;
this metapackage does not install their environments or model weights.
Load the member namespaces and exercise the documented synthetic cell table:
members <- c("segmantR", "cellspecR", "gatekeepR", "phenoscapR")
invisible(lapply(members, loadNamespace))
x <- cellspecR::cs_example()
cellspecR::cs_assert_valid(x)
x
This checks an installed software path using fictional data. It does not
validate a segmentation model or establish biological or clinical performance.
There is no need to call library(phenoloom): it exports no functions and does
not attach the member packages.
For canonical cell-table storage, choose a new output directory:
folder <- tempfile("cellspec-example-")
cellspecR::cs_write(x, folder)
restored <- cellspecR::cs_read_cellspec(folder)
cellspecR::cs_assert_valid(restored)
Consult each member's documentation for its analysis workflows. Installing the suite does not by itself qualify every combination of those workflows.
Default-branch installation is a moving target. Keep the installed versions and GitHub revisions with the analysis, alongside inputs, configuration and results:
packages <- c("phenoloom", members)
versions <- do.call(rbind, lapply(packages, function(package) {
d <- utils::packageDescription(package)
sha <- d[["RemoteSha"]]
if (is.null(sha)) sha <- NA_character_
data.frame(package = package, version = d[["Version"]], revision = sha)
}))
versions
sessionInfo()
A missing revision means the installation did not record a GitHub SHA; it does
not identify a particular source commit. Preserve a project library or lockfile
when exact reinstallation matters. Pinning only phenoloom does not pin its
floating member sources or their transitive dependencies.
GitHub is the verified installation path. The CTTIR R-universe registry lists
packages separately and builds them asynchronously; a registry entry does not
prove that every suite binary is already available. CRAN submission is a
separate target because this package depends on members distributed outside
CRAN/Bioconductor and uses GitHub Remotes. See the
maintenance record for exact observed
versions, checks and outstanding distribution gates.
MIT. Member packages and external engines retain their own licenses. Development orchestration remains excluded from Git and R builds.
Editable R sources and regeneration instructions are in tools/branding.