Skip to content

tiledbsc 0.1.4

Compare
Choose a tag to compare
@aaronwolen aaronwolen released this 11 Nov 21:58
· 71 commits to main since this release
eaa52ae

Features

  • Added batch_mode option to methods that read X layers (i.e., AssayMatrix objects) into memory. When enabled, batch mode leverages the family of Batched classes added to tiledb-r in version 0.14.0 to detect partial query results and resubmit until all results are retrieved. This feature is currently disabled by default and only applies to X layers (which are typically the largest arrays). You can enable batch mode from the following methods:

    • SOMACollection$to_seurat()
    • SOMA$to_seurat_assay()
    • SOMA$to_summarized_experiment()
    • SOMA$to_single_cell_experiment()
    • AssayMatrix$to_dataframe()
    • AssayMatrix$to_matrix()
  • Members can now be removed from TileDBGroups with remove_member()

  • New vignette("quickstart") which provides new users with a high-level overview of the package

  • New function dataset_seurat_pbmc3k() to download the pbmc 3k dataset from 10X and import as a Seurat object without requiring any extra dependencies. This dataset is used in the new vignette

  • Updated bundled Makefile to add targets for generating pre-computed vignettes and performing common dev operations

  • Added CONTRIBUTING.md to reference TileDB's CoC and document the Makefile

Changes

  • Removed vestigial code for merging non-layerable COO data.frames, which was previously used to add ingest dense scaled.data from a Seurat Assay as an attribute of the X array, along with counts/data. This is no longer necessary as each layer is now ingested into a separate array within the X group (#73).
  • The internal utility dgtmatrix_to_dataframe() was replaced with matrix_to_coo(), which converts Matrix-like objects to COO data frames much more efficiently (#75).
  • The internal utility pad_matrix() can now pad a matrix by adding empty rows (#79).
  • The internal assertion has_dimnames() was replaced with is_labeled_matrix() for clarity (#79).

Fixes

  • Matrix conversion message from AssayMatrix now respects the verbose option
  • Upon initialization SOMA now looks for a raw group and warns the user it will be ignored. Currently tiledbsc-py creates a raw group when converting anndata objects where .raw is populated. However, Seurat/BioC objects do not have an obvious place to store this data, so ignoring it improves compatibility.
  • Fixed a non-user-facing issue with the internal dgtmatrix_to_dataframe() function used to convert unordered dgTMatrix objects to COO data frames (#73).
  • Pretty printing of classes that inherit from TileDBObject has been improved so that the class name is displayed first (#79).
  • Don't use default assay name when recreating a Seurat object (#80, thanks @dan11mcguire)

Build and Test Systems

  • Added with_allocation_size_preference() helper to temporarily set the allocation size preference for testing.
  • Tests were added to verify the internal dgtmatrix_to_dataframe() will error out if an input list contains non-layerable matrices.