diff --git a/analysis/gating.py b/analysis/gating.py index 507c6548..3b58113d 100644 --- a/analysis/gating.py +++ b/analysis/gating.py @@ -28,12 +28,12 @@ def gateThomsonCells(X) -> npt.ArrayLike: def Thomson_Doublet(): """Detects doublets in scRNA-seq""" import hdf5plugin # noqa: F401 - import vcsc + import vsparse from .imports import download_thomson_raw raw_path = download_thomson_raw() - X = vcsc.VCSCAnnData.read_h5ad(raw_path).to_anndata() + X = vsparse.VCSCAnnData.read_h5ad(raw_path).to_anndata() sc.pp.filter_genes(X, min_cells=1) clf = doubletdetection.BoostClassifier( n_iters=10, diff --git a/analysis/imports.py b/analysis/imports.py index 682e7b0e..414736cb 100644 --- a/analysis/imports.py +++ b/analysis/imports.py @@ -4,7 +4,7 @@ import anndata import h5py import pandas as pd -import vcsc +import vsparse from anndata.io import read_elem from parafac2.normalize import prepare_dataset @@ -28,7 +28,7 @@ def import_thomson() -> anndata.AnnData: from .gating import gateThomsonCells raw_path = download_thomson_raw() - X = vcsc.VCSCAnnData.read_h5ad(raw_path).to_anndata() + X = vsparse.VCSCAnnData.read_h5ad(raw_path).to_anndata() doubletDF = pd.read_csv("analysis/data/Thomson/ThomsonDoublets.csv", index_col=0) doubletDF.index.name = "cell_barcode" diff --git a/pyproject.toml b/pyproject.toml index e21d6f7d..9319c253 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -17,7 +17,10 @@ dependencies = [ "anndata>=0.13", "pacmap>=0.9", "tqdm>=4.66.1", - "vcsc", + "vsparse>=0.2.0", + "hdf5plugin>=7.0.0", + "matplotlib>=3.8", + "seaborn>=0.13.2", ] readme = "README.md" @@ -39,9 +42,6 @@ build-backend = "uv_build" module-name = ["scrise"] module-root = "" -[tool.uv.sources] -vcsc = { git = "https://github.com/meyer-lab/anndata-VCSC.git" } - [dependency-groups] analysis = [ diff --git a/scrise/factorization.py b/scrise/factorization.py index d6983f78..34ea3571 100644 --- a/scrise/factorization.py +++ b/scrise/factorization.py @@ -560,9 +560,9 @@ def load_factors( # Optionally match and attach raw data if raw_path is not None: try: - import vcsc + import vsparse - raw = vcsc.VCSCAnnData.read_h5ad(raw_path).to_anndata() + raw = vsparse.VCSCAnnData.read_h5ad(raw_path).to_anndata() except (ImportError, AttributeError, KeyError, ValueError, OSError): raw = anndata.read_h5ad(raw_path) diff --git a/uv.lock b/uv.lock index 01b3904b..f0f98e6c 100644 --- a/uv.lock +++ b/uv.lock @@ -2097,6 +2097,8 @@ version = "1.2.0" source = { editable = "." } dependencies = [ { name = "anndata" }, + { name = "hdf5plugin" }, + { name = "matplotlib" }, { name = "numpy" }, { name = "pacmap" }, { name = "pandas" }, @@ -2104,9 +2106,10 @@ dependencies = [ { name = "pyarrow" }, { name = "scikit-learn" }, { name = "scipy" }, + { name = "seaborn" }, { name = "tensorly" }, { name = "tqdm" }, - { name = "vcsc" }, + { name = "vsparse" }, ] [package.optional-dependencies] @@ -2159,6 +2162,8 @@ docs = [ [package.metadata] requires-dist = [ { name = "anndata", specifier = ">=0.13" }, + { name = "hdf5plugin", specifier = ">=7.0.0" }, + { name = "matplotlib", specifier = ">=3.8" }, { name = "numpy", specifier = ">=2.2" }, { name = "pacmap", specifier = ">=0.9" }, { name = "pandas", specifier = ">=3.0.0" }, @@ -2167,9 +2172,10 @@ requires-dist = [ { name = "pyarrow", specifier = ">=19.0" }, { name = "scikit-learn", specifier = ">=1.6" }, { name = "scipy", specifier = ">=1.16" }, + { name = "seaborn", specifier = ">=0.13.2" }, { name = "tensorly", specifier = ">=0.9.0" }, { name = "tqdm", specifier = ">=4.66.1" }, - { name = "vcsc", git = "https://github.com/meyer-lab/anndata-VCSC.git" }, + { name = "vsparse", specifier = ">=0.2.0" }, ] provides-extras = ["gpu"] @@ -2462,9 +2468,9 @@ wheels = [ ] [[package]] -name = "vcsc" -version = "0.1.0" -source = { git = "https://github.com/meyer-lab/anndata-VCSC.git#5ada8d2d5cd2deef16b66590f32ab96489e44406" } +name = "vsparse" +version = "0.2.0" +source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "anndata" }, { name = "hdf5plugin" }, @@ -2472,6 +2478,10 @@ dependencies = [ { name = "numpy" }, { name = "scipy" }, ] +sdist = { url = "https://files.pythonhosted.org/packages/3d/a5/78db8f12cb1dfe2e0a2f7d637efef572ffb75578d01e34f2c1d2a4327747/vsparse-0.2.0.tar.gz", hash = "sha256:aba6221ec50ce3cbe6bc149d69216202c66b2361c9b7a7ba09e3f3bc21a52cff", size = 37836, upload-time = "2026-09-04T12:50:17.51Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/28/14/f2a51a5aa3a3d131429ed7d238d9a13d32dd10493b3019e69e9fd4399420/vsparse-0.2.0-py3-none-any.whl", hash = "sha256:567035afa9a51c5edfc3103a9f98f95568f4ba5e2a9477f73031b703a376d277", size = 45084, upload-time = "2026-09-04T12:50:16.137Z" }, +] [[package]] name = "watchdog"