Changelog
Source:NEWS.md
tiledbsoma 2.1.2
Action required: Users who ingested BPCells data with version 2.1.0 or 2.1.1 must re-ingest with this version to ensure data correctness.
Fixed
- Addressed bug in BPCells ingestion, where data ingested in an iterated manner would only be written at the top of the array. Ingestion now proceeds down the array for each iteration. (#4317)
tiledbsoma 2.1.0
This release adds support for ingestion of BPCells-backed Seurat objects in write_soma(), adds warnings for new deprecations, and updates the TileDB core version to 2.29.1.
Added
- Add support for ingestion of BPCells-backed
Seuratobjects inwrite_soma()(#4273)
tiledbsoma 2.0.0
This release is the first TileDB-SOMA release that follows our new versioning policy (see the developer docs). It introduces the new DELETE mode and deprecates removing elements from a Collection in WRITE mode. It also updates the core TileDB version to 2.28.1.
Added
- Add delete mode specified by
mode="DELETE". (#4125)
Changed
- Update TileDB core to 2.28.1. (#4077)
- Remove RcppSpdlog and spld as dependencies. Logs are no longer forwarded through R output.
Deprecated
- Deprecate removing elements from a collection in write mode. In the future, all new removals will need to be done in delete mode. (#4125)
tiledbsoma 1.18.0
Changed
- Handshake
internal_use_only = "allowed_use"for$new(),$open(), and$create()has been replaced with environment scoping; use of factory functions for opening and creation is now mandatory (#3771) -
TileDBObject,TileDBArray, andTileDBGroupclasses have been removed (#3771) -
SOMACollection$to_list()andSOMACollection$to_data_frame()have been removed as they were unused public internal methods inherited fromTileDBGroup(#3771)
Removed
-
SOMAArray$objecthas been removed (#3771)
tiledbsoma 1.17.0
Added
- New function
get_tiledb_object_type()to replacetiledb::tiledb_object_type()(#3644) - New function
get_tiledb_version()to replacetiledb::tiledb_version()(#3644) - New method
SOMAArrayBase$is_sparse()to replacetiledb::is.sparse()(#3644) - New method
SOMAArrayBase$allows_duplicates()to replacetiledb::allows_dups()(#3644) - New method
SOMADataFrame$levels()to replace tiledb-r enum accessors (#3644)
Changed
- Update TileDB core to 2.28.0 (#4057)
-
TileDBArray$attributes()has been promoted toSOMAArrayBase$attributes()and returns a named list instead of an external pointer (#3644)
Fixed
- Fix C++20 flag to be a configuration option instead of hard-coded (#4051)
tiledbsoma 1.16.0
- Encode string metadata as
TILEDB_STRING_UTF8instead ofTILEDB_STRING_ASCII - Use S3 method dispatch on
integer64instead of directly calling the S3 methods - [c++] Replace
SOMAArrayread and write calls withManagedQuery#3678 - Remove
used_shape, which was deprecated in 1.15 with scheduled removal in 1.16 #3723
tiledbsoma 1.15.1
- Encode string metadata as
TILEDB_STRING_UTF8instead ofTILEDB_STRING_ASCII#3469
tiledbsoma 1.15.0
Changes
- Remove unused
fragment_countaccessor #3054 - Implement missing
domainargument toSOMADataFramecreate#3032 - Use
libtiledbsomafor R schema evolution #3100 - Push
attrnamesdown to C++ #3121 - Push
schemaaccessor down tolibtiledbsoma#3079 - Handle
numericcoords properly when reading arrays - Remove two more
tiledb::schemacallsites #3160 - Add new Arrow-to-R type mapper
- Add transitional/non-exported
parse_query_condition_new#3162 - Apply new
parse_query_condition#3174 - Apply new
non_empty_domain#3176 - Support for dense current domain with core 2.27 #3180
- Fix
is_named_listbug for half-named lists #3183 - Expose block/random writer for sparse arrays #3204
- Min-sizing for dataframes/arrays with new shape feature #3208
- Proper prefixing for shape-related methods #3237
- Bindings for
upgrade_domain#3238 - Apply
styler::style_pkg()#3239 - Plumb old-style
SOMATileDBContextinto new-stylesoma_context()#3252 - Fixes for dense arrays and yet-to-be-released core 2.27 #3270
- More fixes for unit-test cases with dense + core 2.27 #3280
- Add initial support for ragged array writing for Seurat v5 by @mojaveazure in #2523
- Remove 2.27-related feature flag by @johnkerl in #3368
- Revert #3300 by @johnkerl in #3358
- Enforce dataframe domain lower bound == 0 by @johnkerl in #3300
- Data refresh for new shapes by @johnkerl in #3303
- Move beyond the new-shape feature flag by @johnkerl in #3301
- Note on dev installs and
spdlogfailures by @johnkerl in #3324 - Remove tiledb-r specific install by @mojaveazure in #3319
- Try to unbreak
r-valgrindCI by @johnkerl in #3318 - Avoid log truncation with “Last 13 lines of output” by @johnkerl in #3313
- Run tests in closer to internal-dependency order by @johnkerl in #3311
- Use standard name
zzz.Rfor init code by @johnkerl in #3332 - Address two more compiler warnings by @johnkerl in #3320
- Add support for writing Seurat v5 ragged arrays
- Update docstrings for
domainargument tocreate#3396 - Vignette for new-shape feature #3302
- Fix blockwise iterator + re-indexer to return re-indexed shape instead of full domain
- Docstring audit for new shape #3399
- Add
check_onlysupport for domain/shape updates #3400 - Adjust blockwise + re-indexer to return condensed matrix, not full domain #3395
- [c++] Use core 2.27.0.rc5 #3410
- [c++] Use core 2.27.0 #3422
tiledbsoma 1.14.5
Changes
- Fixes a Python-only bug #3225
tiledbsoma 1.14.3
Changes
- Handle
numericcoords properly when reading arrays 3145
tiledbsoma 1.14.2
Changes
- Fixes a Python-only bug #3074
tiledbsoma 1.14.1
Changes
- Fixes a Python-only bug #3013
tiledbsoma 1.14.0
Changes
- New
resizeandtiledbsoma_upgrade_shapeaccessors as part of the new-shape project - Make use of timestamp ranges in libtiledbsoma
- Simplify timestamp ranges; strengthen assumptions about
tiledb_timestamp - Use cached timestamps in
$write()and$create() - Fix bug in blockwise iteration
- Lay groundwork for cached SOMA contexts within objects rather than re-creating contexts
- SOMA context objects are used throughout SOMA object creation
- Add value-checking for
axisparameter when initializing blockwise reads
tiledbsoma 1.13.1
Changes
- Includes a fix for appended enumerations #2903
Changes
- New
resizeandtiledbsoma_upgrade_shapeaccessors as part of the new-shape project - Make use of timestamp ranges in libtiledbsoma
- Simplify timestamp ranges; strengthen assumptions about
tiledb_timestamp - Use cached timestamps in
$write()and$create() - Fix bug in blockwise iteration
- Lay groundwork for cached SOMA contexts within objects rather than re-creating contexts
- SOMA context objects are used throughout SOMA object creation
- Add value-checking for
axisparameter when initializing blockwise reads
tiledbsoma 1.13.0
Changes
- Updates the TileDB Core dependency to 2.25.0
- The
used_shapefunction is deprecated;shapemods are upcoming scheduled for TileDB-SOMA 1.15 - Change
$reopen(mode = )default to not flip modes; require explicitmodeparameter to be passed - Add
drop_levelstoSOMAExperimentAxisQuery-> ecosystem outgestors to drop unused factor levels
tiledbsoma 1.11.0
Changes
- Add support for ingestion of
SeuratCommandlogs - Add support for outgestion of
SeuratCommandlogs - Add support for reading
*mand*players fromSOMAExperimentAxisQuery - Add support for blockwise iteration
- Make
reopen()a public method for allTileDBObjects - Add support for resume-mode in
write_soma() - Push default-setting for
TileDBCreateOptionsto$initialize()instead of in the accessors - Muffle warnings for missing command logs when outgesting SOMA to
Seurat - Have
SOMADataFrame$shape()throw a not-yet-implemented error - Disable running
SeuratObject::.CalcN()when outgesting from SOMA toSeurat - Clear timestamp when using
$reopen()to reopen at the current time - Add support for the re-indexer
tiledbsoma 1.6.0
Fixes
-
SOMADataFrame,SOMASparseNDArray, andSOMADenseNDArray’swrite()method now correctly leaves the array open in write mode
tiledbsoma 1.5.0
Changes
- Add support for I/O of R factors as enumerated types in
SOMADataFrame - Add support for writing
SummarizedExperimentandSingleCellExperimentobject to SOMAs - Add support for bounding boxes for sparse arrays
- Add support for creating
SOMADataFrameswithordered()columns - Add support for I/O between SOMA and
SingleCellExperiment - Add support for updating
obsandvar - Write string attrs as UTF-8 (Python compatibility)
- Optimize export of obsm/varm arrays to Seurat
- Add
axis_query()method toSOMAExperiment - Add
to_sparse_matrix()method toSOMAExperimentAxisQuery - Force exporting v3 assays with SeuratObject v5 installed
tiledbsoma 1.4.0
This is the initial release of the tiledbsoma R package.
Changes
- Added a
NEWS.mdfile to track changes to the package -
TileDBGroupgains anamesmethod to retrieve the names of group members - Added
SOMAMeasurementandSOMAExperimentclasses - spdl is now used for logging
- TileDB performance statistics can now be collected for analysis
- Added support for performing axis-based queries against a
SOMAExperimentvia theSOMAExperimentAxisQueryclass -
TileDBArrayclass gained acolnames()method that returns the names of both dimensions and attributes - Added internal helpers to centrally validate
coordsandvalue_filterarguments - All R6 classes’
create()method now returnselfrather than nothing - Fixed calculating of relative paths when 1 of the URIs contains the
file://prefix - Added
PlatformConfigandSOMATileDBContextclasses to handle SOMA and TileDB configuration - Add Seurat outgestors for
SOMAExperimentAxisQueryobjects - Numeric coordinates passed to SOMADataFrame$read() are now automatically upcast to int64 when necessary
- Add ingestors to read data from
Seuratobjects - Add methods for listing and accessing bundled datasets, which now includes a
SOMAExperimentcontaining the pbmc_small dataset from the SeuratObject package - New vignettes describing SOMA objects, reading data from them, and querying SOMA experiments
- Objects added to
SOMACollection-based classes using theadd_new_*()methods now pass through their parent context and platform config -
SOMAExperimentAxisQuerygained ato_sparse_matrix()method for retrieving data as a named sparse matrix -
SOMAExperimentgainedaxis_query()to construct aSOMAExperimentAxisQueryobject - Add SingleCellExperiment outgestor for
SOMAExperimentAxisQueryobjects