Skip to content

Repackaging RISE#507

Merged
aarmey merged 8 commits into
mainfrom
repackaging
Jun 29, 2026
Merged

Repackaging RISE#507
aarmey merged 8 commits into
mainfrom
repackaging

Conversation

@aarmey

@aarmey aarmey commented Jun 21, 2026

Copy link
Copy Markdown
Member

No description provided.

@aarmey

aarmey commented Jun 29, 2026

Copy link
Copy Markdown
Member Author

@copilot summarize this PR.

Copilot AI commented Jun 29, 2026

Copy link
Copy Markdown

@copilot summarize this PR.

This PR repackages RISE as a proper Python package and includes two sets of changes:

Overall structure (initial commit):

  • Establishes RISE as an installable Python package (pyproject.toml, hatchling build, MIT license) with a clean RISE/ module containing factorization and plotting submodules
  • Adds CI/CD workflows for building, testing, and publishing documentation
  • Includes a full Sphinx documentation site with tutorial, API reference, and tutorial images
  • Ships analysis scripts, figure generation code, and Jupyter notebooks for the Lupus and Thomson PBMC datasets
  • Adds pyproject.toml-managed dependency groups (analysis, docs, dev) with uv.lock for reproducibility

Memory usage fixes (second commit):

  • Lupus loading: Replaces anndata.read_h5ad(..., backed="r") with direct h5py reads of only the needed HDF5 elements (obs, raw/var, raw/X). The old approach caused ~180 GB of decompression buffer allocation even in backed mode because hdf5plugin pre-allocated buffers for the dense processed X slot (9.6 GB float32).
  • OOM on subsetting: Adds .copy() after the boolean-mask filter before passing to prepare_dataset. Without it, prepare_dataset's X.X = csr_array(X.X) triggered a setitem on the parent sparse matrix (1.26M × 32,738 CSR → LIL/dense conversion → OOM).
  • Makes the Thomson gating import lazy (inside the function body) to avoid loading unnecessary modules at import time.

@aarmey aarmey merged commit 2d17aa7 into main Jun 29, 2026
1 of 2 checks passed
@aarmey aarmey deleted the repackaging branch June 29, 2026 00:49
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants