single-cell-data / TileDB-SOMA

Python and R SOMA APIs using TileDB’s cloud-native format. Ideal for single-cell data at any scale.
https://tiledbsoma.readthedocs.io
MIT License
90 stars 25 forks source link

[r] `SparseNDArray`/`DenseNDArray` `create` methods need to accept tile extent from `PlatformConfig` #2966

Open johnkerl opened 1 month ago

johnkerl commented 1 month ago

Found while working on issue #2407 / [sc-51048].

SOMADataFrame

The SOMADataFrame create method accepts platform_config here: https://github.com/single-cell-data/TileDB-SOMA/blob/248f46e50096eee3c707eb29dd3d0e7a32e6a466/apis/r/R/SOMADataFrame.R#L26-L31

That's passed here https://github.com/single-cell-data/TileDB-SOMA/blob/248f46e50096eee3c707eb29dd3d0e7a32e6a466/apis/r/R/SOMADataFrame.R#L49-L53 and used here https://github.com/single-cell-data/TileDB-SOMA/blob/248f46e50096eee3c707eb29dd3d0e7a32e6a466/apis/r/R/utils-arrow.R#L364

SOMASparseNDArray and SOMADenseNDArray

The SOMANDArrayBase create method accepts platform_config here: https://github.com/single-cell-data/TileDB-SOMA/blob/248f46e50096eee3c707eb29dd3d0e7a32e6a466/apis/r/R/SOMANDArrayBase.R#L29

That's not passed here https://github.com/single-cell-data/TileDB-SOMA/blob/248f46e50096eee3c707eb29dd3d0e7a32e6a466/apis/r/R/SOMANDArrayBase.R#L42 and so here https://github.com/single-cell-data/TileDB-SOMA/blob/248f46e50096eee3c707eb29dd3d0e7a32e6a466/apis/r/R/utils-arrow.R#L392 the extent is set to shape minus one.

This isn't super-high-pri, but, it should be fixed.