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

[c++/python] Map core-to-soma domains correctly #2957

Closed johnkerl closed 1 month ago

johnkerl commented 1 month ago

Issue and/or context: As tracked on issue #2407 / [sc-51048].

Note that the intended Python and R API changes are all agreed on and finalized as described in #2407.

Changes:

Notes for Reviewer:

There is no R counterpart on this PR (compare #2951 which is at parity):

> sdf <- SOMAOpen('/var/p/obs')

> sdf$ TAB-COMPLETION
sdf$.__enclos_env__              sdf$dimensions                   sdf$ndim                         sdf$soma_type
sdf$.maybe_soma_joinid_maxshape  sdf$dimnames                     sdf$non_empty_domain             sdf$tiledb_array
sdf$.maybe_soma_joinid_shape     sdf$exists                       sdf$object                       sdf$tiledb_schema
sdf$.tiledb_timestamp_range      sdf$fragment_count               sdf$open                         sdf$tiledb_timestamp
sdf$attributes                   sdf$get_metadata                 sdf$platform_config              sdf$tiledbsoma_ctx
sdf$attrnames                    sdf$has_upgraded_domain          sdf$print                        sdf$update
sdf$class                        sdf$index_column_names           sdf$read                         sdf$uri
sdf$clone                        sdf$initialize                   sdf$reopen                       sdf$used_shape
sdf$close                        sdf$is_open                      sdf$schema                       sdf$write
sdf$colnames                     sdf$maxshape                     sdf$set_metadata
sdf$create                       sdf$mode                         sdf$shape

> sdf$dimensions()
$soma_joinid
tiledb_dim(name="soma_joinid", domain=c(0L,2147483646L), tile=2048L, type="INT64", filter_list=tiledb_filter_list(c(tiledb_filter_set_option(tiledb_filter("ZSTD"),"COMPRESSION_LEVEL",3))))
codecov[bot] commented 1 month ago

Codecov Report

Attention: Patch coverage is 70.00000% with 3 lines in your changes missing coverage. Please review.

Project coverage is 89.99%. Comparing base (796c168) to head (7a397c4). Report is 1 commits behind head on main.

Additional details and impacted files ```diff @@ Coverage Diff @@ ## main #2957 +/- ## ========================================== + Coverage 89.89% 89.99% +0.09% ========================================== Files 39 39 Lines 4049 4057 +8 ========================================== + Hits 3640 3651 +11 + Misses 409 406 -3 ``` | [Flag](https://app.codecov.io/gh/single-cell-data/TileDB-SOMA/pull/2957/flags?src=pr&el=flags&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=single-cell-data) | Coverage Δ | | |---|---|---| | [python](https://app.codecov.io/gh/single-cell-data/TileDB-SOMA/pull/2957/flags?src=pr&el=flag&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=single-cell-data) | `89.99% <70.00%> (+0.09%)` | :arrow_up: | Flags with carried forward coverage won't be shown. [Click here](https://docs.codecov.io/docs/carryforward-flags?utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=single-cell-data#carryforward-flags-in-the-pull-request-comment) to find out more. | [Components](https://app.codecov.io/gh/single-cell-data/TileDB-SOMA/pull/2957/components?src=pr&el=components&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=single-cell-data) | Coverage Δ | | |---|---|---| | [python_api](https://app.codecov.io/gh/single-cell-data/TileDB-SOMA/pull/2957/components?src=pr&el=component&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=single-cell-data) | `89.99% <70.00%> (+0.09%)` | :arrow_up: | | [libtiledbsoma](https://app.codecov.io/gh/single-cell-data/TileDB-SOMA/pull/2957/components?src=pr&el=component&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=single-cell-data) | `∅ <ø> (∅)` | |
johnkerl commented 1 month ago

Thanks for the well written documentation

You're welcome! The core-to-soma mapping is absoutely the central part of this project, and the names can get very confusing -- so I believed it was well worth the time to clarify terminology. :)