This release introduces manifests as the input-file annotation interface and makes repertoire, strata, and provenance state more explicit and reliable.
metadata.json snapshot file.
read_metadata() is replaced by
read_manifest(). In read_repertoires(), use
manifest, manifest_file_col, and
path = "<manifest>" instead of metadata,
metadata_file_col, and
path = "<metadata>". The default manifest file column
is now "file" rather than "File".read_repertoires() now uses
repertoire_schema = "<auto>" by default. This creates
one repertoire per input file, or one per manifest row when paths are
supplied by a manifest. Set repertoire_schema = NULL to
retain the previous behavior of leaving repertoires undefined.agg_strata() now uses the argument names
schema and prefix instead of by
and strata_name_prefix.ImmunData$metadata accessor. Use
idata$repertoires for the repertoire definitions and
summaries, and use manifests for annotations associated with input
repertoire files.imd_schema("metadata_filename") is now
imd_schema("manifest_filename"), and the unused
imd_files()$receptors entry has been removed.read_repertoires() now works approximately 60 times
faster by combining CSV, TSV, and compressed text inputs into one
temporary Parquet file before processing by default. This avoids
repeated text scans in downstream duckplyr queries while retaining
original input paths in provenance. Use
prematerialize = FALSE to disable it or
prematerialize_folder to select the temporary storage
directory. I recommend you to use it pretty much always.read_manifest() for CSV, TSV, TXT, and in-memory
manifests. It infers common delimiters, resolves file-relative paths,
validates file availability, and adds normalized source paths for
joining to repertoire data. The special
repertoire_schema = "<manifest>" value defines
repertoires from all manifest columns.ImmunData state. Objects
now expose schema_strata and a $strata table;
agg_strata() and rename_strata() update this
state, and snapshots persist and restore it..by in
mutate_immundata() and dplyr::mutate() methods
for ImmunData, including a duckplyr-compatible fallback for
grouped summary expressions.conflicts = c("error", "replace") to the
annotation functions. Existing annotation columns are protected by
default, while intentional replacement is allowed for columns that do
not define core ImmunData state.mutate(), compute(), and annotation
operations now preserve repertoire, strata, and provenance state when
the biological grouping has not changed. Filtering and downsampling
rebuild affected repertoire and strata summaries and retain existing
stratum labels when possible.verbose = FALSE for individual calls or
options(immundata.verbose = FALSE) globally.artifacts_root and artifacts_path) associated
with the project home and current snapshot.n_barcodes,
n_receptors, receptor proportions, and
repertoire-occurrence counts.imd_repertoire_id assignment deterministic by
ordering repertoire schema values before assigning identifiers.n = 1 mean an absolute sampling depth of one.mutate() and annotation replacement from
overwriting system, receptor-schema, repertoire-schema, or
strata-defining columns.