Minor bug fixes and documentation updates.
README for R-universe and Biocondasimulation_helpers.R and others.getFDR() function from strainspy_fit-class.R and
documentation.R.utils moved from Suggests to Imports. data.table::fread() stops with
an error when asked to read a gz or bz2 file and R.utils is not
installed, so read_sylph(), read_sourmash(), read_metaphlan() and
read_taxonomy() all failed on compressed input for anyone who installed
without the suggested packages. Every example file shipped in inst/extdata
is gz compressed, so this affected the whole documented workflow. A minimum
version of 2.13.0 is required because fread() refuses older versions of
R.utils on R 4.5 and above.1:n replaced with seq_len() and seq_along() throughout. On an empty
input 1:0 counts backwards and yields two indices rather than none, so
zero-row data produced an error or a spurious extra iteration instead of an
empty result.inst/CITATION, so citation("strainspy") now returns the StrainSpy
preprint (doi:10.64898/2026.08.30.748153).print() method for strainspy_priors has been removed. A
show() method was already defined and is more informative, and print() on
an S4 object dispatches to it, so print(priors) now reports more than it
did before.paste(), and the names of
missing contigs are now included in the condition itself rather than printed
separately to standard output, where they could become detached from the
error.R CMD check
matrix and a separate BiocCheck job.Version set to 0.99.0 in preparation for Bioconductor submission; Bioconductor
requires a 0.99.z version for new packages and increments it to 1.0.0 at the
next release.
hadjust() no longer fails when taxonomy is given as a file path. The
resolved taxonomy table is now passed to the internal ordering step, rather
than the raw argument.glmZiBFit() and glmObFit() now honour MAP_prior = NULL, the documented
unpenalised maximum-likelihood fit, instead of failing on a NULL prior.resolve_priors() now signals an error for an unrecognised MAP_prior.
Previously any unrecognised value silently fell through to an unpenalised
fit, so a typo, factor or list quietly changed the model that was fitted.failed_fit_index() helper across all four fitting functions, which handles
both backend failure conventions. The previous per-function checks each
covered only one convention.strainspy_fit gained a validity method requiring every per-feature slot to
be aligned with row_data, so a length mismatch can no longer silently
attribute one strain's statistics to another.strainspy_priors gained a validity method checking method and the columns
glmmTMB requires in priors_df. A malformed prior previously produced a fit
object containing zero features with no error surfaced.read_sylph(), read_metaphlan() and read_sourmash() now stop when sample
or feature names are duplicated, which could previously happen when
clean_names = TRUE reduced two input paths to the same basename.readr is no longer required; metadata is read and written with utils.gamlss and gamlss.dist moved to Suggests, as they are only needed for
the non-default glmZiBFit(method = "gamlss") backend.graphics, grDevices, tools and utils are now declared in Imports,
and functions previously registered with globalVariables() are declared
with @importFrom.assay slot has been removed from strainspy_fit. It was never
populated, so fit@assay always returned an empty matrix. Per-feature
metadata is available from row_data.message() rather than cat(), so it can
be silenced with suppressMessages().inst/extdata has been reduced to keep the source package
within the Bioconductor size limit. The sylph profile and GTDB taxonomy are
unchanged; the sourmash example is now a 20-sample subset.