**Pre-coding tasks** * Fold in the output of #1239 * Enumerate whatever's not already OK with #922 * Close out #922 * Replace it with a new write-up --- **Set up new directory structure** - [x] #1300 **Create internal use classes** - `SOMAArray` - [x] #1282 - [x] Metadata functions https://github.com/single-cell-data/TileDB-SOMA/issues/926: First pass places metadata values into `void*` buffer - [x] #1577 - [ ] Second pass to return as `SOMAMetadataMapping` where underlying data structure is an `arrow::Table` - [x] `schema`: First pass will use the already existing `ArraySchema SOMAArrayReader::schema()` - [ ] Additional pass to return `arrow::schema` https://github.com/single-cell-data/TileDB-SOMA/issues/1121 - [x] `read_next`: First pass will return data as `ArrayBuffers` (already implemented) - [ ] Additional pass to return `arrow::RecordBatch` or `arrow::Table` - [x] `write`: First pass #1364 - [ ] Additional pass to add batching and parallization optimizations https://github.com/single-cell-data/TileDB-SOMA/issues/1175#issuecomment-1502277218 - [ ] Additional pass to take data in the form of `arrow::RecordBatch` or `arrow::Table` - `SOMAGroup` - [x] `open` - [x] `close` - [x] Metadata functions #1247 - [x] #1577 - [x] #1351 - [x] Group member functions https://github.com/single-cell-data/TileDB-SOMA/issues/1248 - [x] `member_to_uri_mapping` https://github.com/single-cell-data/TileDB-SOMA/issues/1122' - [x] #1623 **Create public API** - [x] #1356 - [x] #1256 - [x] #1354 - [x] #1355 - [x] #1257 - [x] #1258 - [x] #1575 **Replace API bindings** - [x] #1632 - [ ] Replace TileDB-SOMA-R bindings
Pre-coding tasks
Set up new directory structure
Create internal use classes
SOMAArraySOMAArrayReadertoSOMAArray#1282SOMAArray#926: First pass places metadata values intovoid*bufferSOMAObjects need metadata accessible in both read and write mode #1577SOMAMetadataMappingwhere underlying data structure is anarrow::Tableschema: First pass will use the already existingArraySchema SOMAArrayReader::schema()arrow::schema[c++] Implement Arrow-schema-getter in C++ #1121read_next: First pass will return data asArrayBuffers(already implemented)arrow::RecordBatchorarrow::Tablewrite: First pass [c++] Implement basicSOMAArraywrite #1364batch_sizeandpartitions#1175 (comment)arrow::RecordBatchorarrow::TableSOMAGroupopencloseSOMAGroup#1247SOMAObjects need metadata accessible in both read and write mode #1577SOMAGroupshould returnSOMAMetadataMappingwhere underlying data structure is anarrow::Table#1351SOMAGroup#1248member_to_uri_mapping[c++] Implement group member-names-to-URIs map in C++ #1122'member_to_uri_mappingneeds to be accessible in read and write mode #1623Create public API
SOMAObject#1356SOMACollection#1256SOMAExperiment#1354SOMAMeasurement#1355SOMADataFrame#1257SOMA{Sparse,Dense}NDArray#1258SOMAObjectopenFunctions Should Take Start and End Timestamps #1575Replace API bindings