diff --git a/pf2/figures/figureA2d_j.py b/pf2/figures/figureA2d_j.py index f7b7ba7..8bbcb7c 100644 --- a/pf2/figures/figureA2d_j.py +++ b/pf2/figures/figureA2d_j.py @@ -30,7 +30,7 @@ def makeFigure(): ax[0].yaxis.set_ticklabels([]) plot_eigenstate_factors(X, ax[1]) - plot_gene_factors(X, ax[2], save_genes=True) + plot_gene_factors(X, ax[2]) ax[2].yaxis.set_ticklabels([]) X = X[X.obs["patient_category"] != "Non-Pneumonia Control"] diff --git a/pyproject.toml b/pyproject.toml index 5c437e9..6572865 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -14,7 +14,7 @@ dependencies = [ "scikit-learn>=1.5", "tensorly>=0.8.1", "numpy>=1.26.2", - "parafac2 @ git+https://github.com/meyer-lab/parafac2.git@6600c677a77d0f242668babf39559cf7953ff534", + "parafac2 @ git+https://github.com/meyer-lab/parafac2.git@ccf708fe71c78a106151643e893ea006bba865d9", "rise @ git+https://github.com/meyer-lab/RISE.git", "pacmap>=0.7.3", "anndata>=0.10.3", @@ -23,8 +23,11 @@ dependencies = [ "dask[dataframe]>=2024.5.0", "setuptools>=69.5", "doubletdetection>=4.2", - "networkx>=3.3" -, "gseapy~=1.1.6"] + "networkx>=3.3", + "gseapy~=1.1.6", + "statsmodels>=0.14.5", + "scipy<=1.15.3", +] readme = "README.md" diff --git a/requirements-dev.lock b/requirements-dev.lock index 67bba79..9214cec 100644 --- a/requirements-dev.lock +++ b/requirements-dev.lock @@ -11,41 +11,23 @@ -e file:. absl-py==2.3.0 - # via chex - # via ml-collections - # via optax - # via orbax-checkpoint - # via tensorboard -aiohappyeyeballs==2.6.1 - # via aiohttp -aiohttp==3.12.4 - # via fsspec -aiosignal==1.3.2 - # via aiohttp + # via ortools anndata==0.11.4 # via doubletdetection - # via mudata # via parafac2 # via pf2 # via rise # via scanpy - # via scib - # via scvi-tools annoy==1.17.3 # via pacmap - # via scanorama array-api-compat==1.8 # via anndata asttokens==2.4.1 # via stack-data -attrs==25.3.0 - # via aiohttp certifi==2024.8.30 # via requests charset-normalizer==3.3.2 # via requests -chex==0.1.89 - # via optax click==8.1.7 # via dask cloudpickle==3.0.0 @@ -58,7 +40,7 @@ contourpy==1.3.0 # via matplotlib coverage==7.6.1 # via pytest-cov -cupy-cuda12x==13.3.0 +cupy-cuda12x==13.5.1 # via parafac2 cycler==0.12.1 # via matplotlib @@ -74,42 +56,17 @@ datashader==0.16.3 # via rise decorator==5.1.1 # via ipython -deprecated==1.2.18 - # via scib -docrep==0.3.2 - # via scvi-tools doubletdetection==4.2 # via pf2 # via rise -etils==1.12.2 - # via optax - # via orbax-checkpoint executing==2.1.0 # via stack-data fastrlock==0.8.2 # via cupy-cuda12x -fbpca==1.0 - # via geosketch - # via scanorama -filelock==3.18.0 - # via torch -flax==0.10.6 - # via scvi-tools fonttools==4.53.1 # via matplotlib -frozenlist==1.6.0 - # via aiohttp - # via aiosignal fsspec==2024.9.0 # via dask - # via etils - # via lightning - # via pytorch-lightning - # via torch -geosketch==1.3 - # via scanorama -grpcio==1.71.0 - # via tensorboard gseapy==1.1.6 # via pf2 # via rise @@ -119,45 +76,21 @@ h5py==3.11.0 # via anndata # via h5netcdf # via scanpy - # via scib -harmonypy==0.0.10 - # via rise -humanize==4.12.3 - # via orbax-checkpoint idna==3.8 # via requests - # via yarl igraph==0.11.6 # via leidenalg # via louvain - # via scib -importlib-resources==6.5.2 - # via etils +immutabledict==4.2.1 + # via ortools iniconfig==2.0.0 # via pytest -intervaltree==3.1.0 - # via scanorama ipython==8.27.0 # via ipywidgets ipywidgets==8.1.5 # via doubletdetection -jax==0.6.1 - # via chex - # via flax - # via numpyro - # via optax - # via orbax-checkpoint - # via scvi-tools -jaxlib==0.6.1 - # via chex - # via jax - # via numpyro - # via optax - # via scvi-tools jedi==0.19.1 # via ipython -jinja2==3.1.6 - # via torch joblib==1.4.2 # via pynndescent # via scanpy @@ -171,70 +104,30 @@ legacy-api-wrap==1.4.1 leidenalg==0.10.2 # via doubletdetection # via phenograph - # via rise - # via scib -lightning==2.5.1.post0 - # via scvi-tools -lightning-utilities==0.14.3 - # via lightning - # via pytorch-lightning - # via torchmetrics llvmlite==0.44.0 # via numba # via pynndescent - # via scib locket==1.0.0 # via partd louvain==0.8.2 # via doubletdetection -markdown==3.8 - # via tensorboard -markdown-it-py==3.0.0 - # via rich -markupsafe==3.0.2 - # via jinja2 - # via werkzeug matplotlib==3.9.2 # via doubletdetection # via gseapy # via pf2 - # via scanorama # via scanpy - # via scib # via seaborn # via tlviz matplotlib-inline==0.1.7 # via ipython -mdurl==0.1.2 - # via markdown-it-py -ml-collections==1.1.0 - # via scvi-tools -ml-dtypes==0.5.1 - # via jax - # via jaxlib - # via tensorstore -mpmath==1.3.0 - # via sympy -msgpack==1.1.0 - # via flax - # via orbax-checkpoint -mudata==0.3.2 - # via scvi-tools -multidict==6.4.4 - # via aiohttp - # via yarl multipledispatch==1.0.0 # via datashader - # via numpyro natsort==8.4.0 # via anndata # via scanpy -nest-asyncio==1.6.0 - # via orbax-checkpoint networkx==3.3 # via pf2 # via scanpy - # via torch nodeenv==1.9.1 # via pyright numba==0.61.2 @@ -242,31 +135,19 @@ numba==0.61.2 # via pacmap # via pynndescent # via scanpy - # via scib - # via scvi-tools - # via sparse # via umap-learn numpy==2.2.6 # via anndata - # via chex # via contourpy # via cupy-cuda12x # via dask # via datashader # via doubletdetection - # via flax - # via geosketch # via gseapy # via h5py - # via harmonypy - # via jax - # via jaxlib # via matplotlib - # via ml-dtypes # via numba - # via numpyro - # via optax - # via orbax-checkpoint + # via ortools # via pacmap # via pandas # via parafac2 @@ -274,87 +155,29 @@ numpy==2.2.6 # via pf2 # via phenograph # via pyarrow - # via pyro-ppl # via rise - # via scanorama # via scanpy - # via scib # via scikit-learn - # via scikit-misc # via scipy - # via scvi-tools # via seaborn - # via sparse # via statsmodels - # via tensorboard # via tensorly - # via tensorstore # via tlviz - # via torchmetrics - # via treescope # via umap-learn # via xarray -numpyro==0.18.0 - # via scvi-tools -nvidia-cublas-cu12==12.6.4.1 - # via nvidia-cudnn-cu12 - # via nvidia-cusolver-cu12 - # via torch -nvidia-cuda-cupti-cu12==12.6.80 - # via torch -nvidia-cuda-nvrtc-cu12==12.6.77 - # via torch -nvidia-cuda-runtime-cu12==12.6.77 - # via torch -nvidia-cudnn-cu12==9.5.1.17 - # via torch -nvidia-cufft-cu12==11.3.0.4 - # via torch -nvidia-cufile-cu12==1.11.1.6 - # via torch -nvidia-curand-cu12==10.3.7.77 - # via torch -nvidia-cusolver-cu12==11.7.1.2 - # via torch -nvidia-cusparse-cu12==12.5.4.2 - # via nvidia-cusolver-cu12 - # via torch -nvidia-cusparselt-cu12==0.6.3 - # via torch -nvidia-nccl-cu12==2.26.2 - # via torch -nvidia-nvjitlink-cu12==12.6.85 - # via nvidia-cufft-cu12 - # via nvidia-cusolver-cu12 - # via nvidia-cusparse-cu12 - # via torch -nvidia-nvtx-cu12==12.6.77 - # via torch -opt-einsum==3.4.0 - # via jax - # via pyro-ppl -optax==0.2.4 - # via flax - # via scvi-tools -orbax-checkpoint==0.11.13 - # via flax +ortools==9.14.6206 + # via rise packaging==24.2 # via anndata # via dask # via datashader # via h5netcdf - # via lightning - # via lightning-utilities # via matplotlib # via pytest - # via pytorch-lightning # via scanpy # via statsmodels - # via tensorboard - # via torchmetrics # via xarray pacmap==0.7.3 - # via parafac2 # via pf2 # via rise pandas==2.2.2 @@ -364,17 +187,15 @@ pandas==2.2.2 # via datashader # via doubletdetection # via gseapy - # via harmonypy + # via ortools # via pf2 # via rise # via scanpy - # via scib - # via scvi-tools # via seaborn # via statsmodels # via tlviz # via xarray -parafac2 @ git+https://github.com/meyer-lab/parafac2.git@6600c677a77d0f242668babf39559cf7953ff534 +parafac2 @ git+https://github.com/meyer-lab/parafac2.git@ccf708fe71c78a106151643e893ea006bba865d9 # via pf2 # via rise param==2.1.1 @@ -398,12 +219,8 @@ pluggy==1.5.0 # via pytest prompt-toolkit==3.0.47 # via ipython -propcache==0.3.1 - # via aiohttp - # via yarl protobuf==6.31.1 - # via orbax-checkpoint - # via tensorboard + # via ortools psutil==6.0.0 # via phenograph ptyprocess==0.7.0 @@ -414,214 +231,116 @@ pyarrow==17.0.0 # via dask-expr pyct==0.5.0 # via datashader -pydot==4.0.0 - # via scib pygments==2.18.0 # via ipython - # via rich pynndescent==0.5.13 # via scanpy # via umap-learn pyparsing==3.1.4 # via matplotlib - # via pydot pyright==1.1.380 -pyro-api==0.1.2 - # via pyro-ppl -pyro-ppl==1.9.1 - # via scvi-tools pytest==8.3.3 # via pytest-cov pytest-cov==5.0.0 python-dateutil==2.9.0.post0 # via matplotlib # via pandas -pytorch-lightning==2.5.1.post0 - # via lightning pytz==2024.2 # via pandas pyyaml==6.0.2 # via dask - # via flax - # via lightning - # via ml-collections - # via orbax-checkpoint - # via pytorch-lightning requests==2.32.3 # via datashader # via gseapy # via tlviz -rich==14.0.0 - # via flax - # via scvi-tools -rise @ git+https://github.com/meyer-lab/RISE.git@7a2f63cd238b6afd3670eff73b4fcdc0f8c7230a +rise @ git+https://github.com/meyer-lab/RISE.git@f160a1b7a8598627bf507a37e771d2c811a58527 # via pf2 -scanorama==1.7.4 - # via rise scanpy==1.11.2 # via doubletdetection # via pf2 # via rise - # via scib -scib==1.1.7 - # via rise scikit-learn==1.6.1 - # via geosketch - # via harmonypy # via pacmap - # via parafac2 # via pf2 # via phenograph # via pynndescent # via rise - # via scanorama # via scanpy - # via scib - # via scvi-tools # via umap-learn -scikit-misc==0.5.1 - # via scib -scipy==1.14.1 +scipy==1.15.3 # via anndata # via datashader # via doubletdetection # via gseapy - # via harmonypy - # via jax - # via jaxlib # via parafac2 + # via pf2 # via phenograph # via pynndescent # via rise - # via scanorama # via scanpy - # via scib # via scikit-learn - # via scvi-tools # via statsmodels # via tensorly # via tlviz # via umap-learn -scvi-tools==1.3.1.post1 - # via rise seaborn==0.13.2 # via rise # via scanpy - # via scib session-info2==0.1.2 # via scanpy setuptools==74.1.2 - # via chex - # via lightning-utilities # via pf2 # via phenograph - # via tensorboard - # via torch - # via triton -simplejson==3.20.1 - # via orbax-checkpoint six==1.16.0 # via asttokens - # via docrep # via patsy # via python-dateutil - # via tensorboard -sortedcontainers==2.4.0 - # via intervaltree -sparse==0.17.0 - # via scvi-tools stack-data==0.6.3 # via ipython -statsmodels==0.14.4 +statsmodels==0.14.5 + # via pf2 # via rise # via scanpy # via tlviz -sympy==1.14.0 - # via torch -tensorboard==2.19.0 - # via scvi-tools -tensorboard-data-server==0.7.2 - # via tensorboard tensorly==0.8.1 # via parafac2 # via pf2 # via rise -tensorstore==0.1.75 - # via flax - # via orbax-checkpoint texttable==1.7.0 # via igraph threadpoolctl==3.5.0 # via scikit-learn tlviz==0.1.1 - # via parafac2 # via pf2 # via rise toolz==0.12.1 - # via chex # via dask # via datashader # via partd -torch==2.7.0 - # via lightning - # via pyro-ppl - # via pytorch-lightning - # via scvi-tools - # via torchmetrics -torchmetrics==1.7.2 - # via lightning - # via pytorch-lightning - # via scvi-tools tqdm==4.66.5 # via doubletdetection - # via lightning - # via numpyro # via parafac2 - # via pyro-ppl - # via pytorch-lightning # via rise # via scanpy - # via scvi-tools # via umap-learn traitlets==5.14.3 # via comm # via ipython # via ipywidgets # via matplotlib-inline -treescope==0.1.9 - # via flax -triton==3.3.0 - # via torch typing-extensions==4.13.2 - # via chex - # via etils - # via flax - # via lightning - # via lightning-utilities - # via orbax-checkpoint - # via pytorch-lightning + # via ortools # via scanpy - # via torch tzdata==2024.1 # via pandas umap-learn==0.5.6 # via scanpy - # via scib urllib3==2.2.3 # via requests wcwidth==0.2.13 # via prompt-toolkit -werkzeug==3.1.3 - # via tensorboard widgetsnbextension==4.0.13 # via ipywidgets -wrapt==1.17.2 - # via deprecated xarray==2024.9.0 # via datashader - # via scvi-tools # via tlviz -yarl==1.20.0 - # via aiohttp -zipp==3.22.0 - # via etils diff --git a/requirements.lock b/requirements.lock index 1c3e9db..b560815 100644 --- a/requirements.lock +++ b/requirements.lock @@ -11,41 +11,23 @@ -e file:. absl-py==2.3.0 - # via chex - # via ml-collections - # via optax - # via orbax-checkpoint - # via tensorboard -aiohappyeyeballs==2.6.1 - # via aiohttp -aiohttp==3.12.4 - # via fsspec -aiosignal==1.3.2 - # via aiohttp + # via ortools anndata==0.11.4 # via doubletdetection - # via mudata # via parafac2 # via pf2 # via rise # via scanpy - # via scib - # via scvi-tools annoy==1.17.3 # via pacmap - # via scanorama array-api-compat==1.8 # via anndata asttokens==2.4.1 # via stack-data -attrs==25.3.0 - # via aiohttp certifi==2024.8.30 # via requests charset-normalizer==3.3.2 # via requests -chex==0.1.89 - # via optax click==8.1.7 # via dask cloudpickle==3.0.0 @@ -56,7 +38,7 @@ comm==0.2.2 # via ipywidgets contourpy==1.3.0 # via matplotlib -cupy-cuda12x==13.3.0 +cupy-cuda12x==13.5.1 # via parafac2 cycler==0.12.1 # via matplotlib @@ -72,42 +54,17 @@ datashader==0.16.3 # via rise decorator==5.1.1 # via ipython -deprecated==1.2.18 - # via scib -docrep==0.3.2 - # via scvi-tools doubletdetection==4.2 # via pf2 # via rise -etils==1.12.2 - # via optax - # via orbax-checkpoint executing==2.1.0 # via stack-data fastrlock==0.8.2 # via cupy-cuda12x -fbpca==1.0 - # via geosketch - # via scanorama -filelock==3.18.0 - # via torch -flax==0.10.6 - # via scvi-tools fonttools==4.53.1 # via matplotlib -frozenlist==1.6.0 - # via aiohttp - # via aiosignal fsspec==2024.9.0 # via dask - # via etils - # via lightning - # via pytorch-lightning - # via torch -geosketch==1.3 - # via scanorama -grpcio==1.71.0 - # via tensorboard gseapy==1.1.6 # via pf2 # via rise @@ -117,43 +74,19 @@ h5py==3.11.0 # via anndata # via h5netcdf # via scanpy - # via scib -harmonypy==0.0.10 - # via rise -humanize==4.12.3 - # via orbax-checkpoint idna==3.8 # via requests - # via yarl igraph==0.11.6 # via leidenalg # via louvain - # via scib -importlib-resources==6.5.2 - # via etils -intervaltree==3.1.0 - # via scanorama +immutabledict==4.2.1 + # via ortools ipython==8.27.0 # via ipywidgets ipywidgets==8.1.5 # via doubletdetection -jax==0.6.1 - # via chex - # via flax - # via numpyro - # via optax - # via orbax-checkpoint - # via scvi-tools -jaxlib==0.6.1 - # via chex - # via jax - # via numpyro - # via optax - # via scvi-tools jedi==0.19.1 # via ipython -jinja2==3.1.6 - # via torch joblib==1.4.2 # via pynndescent # via scanpy @@ -167,100 +100,48 @@ legacy-api-wrap==1.4.1 leidenalg==0.10.2 # via doubletdetection # via phenograph - # via rise - # via scib -lightning==2.5.1.post0 - # via scvi-tools -lightning-utilities==0.14.3 - # via lightning - # via pytorch-lightning - # via torchmetrics llvmlite==0.44.0 # via numba # via pynndescent - # via scib locket==1.0.0 # via partd louvain==0.8.2 # via doubletdetection -markdown==3.8 - # via tensorboard -markdown-it-py==3.0.0 - # via rich -markupsafe==3.0.2 - # via jinja2 - # via werkzeug matplotlib==3.9.2 # via doubletdetection # via gseapy # via pf2 - # via scanorama # via scanpy - # via scib # via seaborn # via tlviz matplotlib-inline==0.1.7 # via ipython -mdurl==0.1.2 - # via markdown-it-py -ml-collections==1.1.0 - # via scvi-tools -ml-dtypes==0.5.1 - # via jax - # via jaxlib - # via tensorstore -mpmath==1.3.0 - # via sympy -msgpack==1.1.0 - # via flax - # via orbax-checkpoint -mudata==0.3.2 - # via scvi-tools -multidict==6.4.4 - # via aiohttp - # via yarl multipledispatch==1.0.0 # via datashader - # via numpyro natsort==8.4.0 # via anndata # via scanpy -nest-asyncio==1.6.0 - # via orbax-checkpoint networkx==3.3 # via pf2 # via scanpy - # via torch numba==0.61.2 # via datashader # via pacmap # via pynndescent # via scanpy - # via scib - # via scvi-tools - # via sparse # via umap-learn numpy==2.2.6 # via anndata - # via chex # via contourpy # via cupy-cuda12x # via dask # via datashader # via doubletdetection - # via flax - # via geosketch # via gseapy # via h5py - # via harmonypy - # via jax - # via jaxlib # via matplotlib - # via ml-dtypes # via numba - # via numpyro - # via optax - # via orbax-checkpoint + # via ortools # via pacmap # via pandas # via parafac2 @@ -268,86 +149,28 @@ numpy==2.2.6 # via pf2 # via phenograph # via pyarrow - # via pyro-ppl # via rise - # via scanorama # via scanpy - # via scib # via scikit-learn - # via scikit-misc # via scipy - # via scvi-tools # via seaborn - # via sparse # via statsmodels - # via tensorboard # via tensorly - # via tensorstore # via tlviz - # via torchmetrics - # via treescope # via umap-learn # via xarray -numpyro==0.18.0 - # via scvi-tools -nvidia-cublas-cu12==12.6.4.1 - # via nvidia-cudnn-cu12 - # via nvidia-cusolver-cu12 - # via torch -nvidia-cuda-cupti-cu12==12.6.80 - # via torch -nvidia-cuda-nvrtc-cu12==12.6.77 - # via torch -nvidia-cuda-runtime-cu12==12.6.77 - # via torch -nvidia-cudnn-cu12==9.5.1.17 - # via torch -nvidia-cufft-cu12==11.3.0.4 - # via torch -nvidia-cufile-cu12==1.11.1.6 - # via torch -nvidia-curand-cu12==10.3.7.77 - # via torch -nvidia-cusolver-cu12==11.7.1.2 - # via torch -nvidia-cusparse-cu12==12.5.4.2 - # via nvidia-cusolver-cu12 - # via torch -nvidia-cusparselt-cu12==0.6.3 - # via torch -nvidia-nccl-cu12==2.26.2 - # via torch -nvidia-nvjitlink-cu12==12.6.85 - # via nvidia-cufft-cu12 - # via nvidia-cusolver-cu12 - # via nvidia-cusparse-cu12 - # via torch -nvidia-nvtx-cu12==12.6.77 - # via torch -opt-einsum==3.4.0 - # via jax - # via pyro-ppl -optax==0.2.4 - # via flax - # via scvi-tools -orbax-checkpoint==0.11.13 - # via flax +ortools==9.14.6206 + # via rise packaging==24.2 # via anndata # via dask # via datashader # via h5netcdf - # via lightning - # via lightning-utilities # via matplotlib - # via pytorch-lightning # via scanpy # via statsmodels - # via tensorboard - # via torchmetrics # via xarray pacmap==0.7.3 - # via parafac2 # via pf2 # via rise pandas==2.2.2 @@ -357,17 +180,15 @@ pandas==2.2.2 # via datashader # via doubletdetection # via gseapy - # via harmonypy + # via ortools # via pf2 # via rise # via scanpy - # via scib - # via scvi-tools # via seaborn # via statsmodels # via tlviz # via xarray -parafac2 @ git+https://github.com/meyer-lab/parafac2.git@6600c677a77d0f242668babf39559cf7953ff534 +parafac2 @ git+https://github.com/meyer-lab/parafac2.git@ccf708fe71c78a106151643e893ea006bba865d9 # via pf2 # via rise param==2.1.1 @@ -389,12 +210,8 @@ pillow==10.4.0 # via matplotlib prompt-toolkit==3.0.47 # via ipython -propcache==0.3.1 - # via aiohttp - # via yarl protobuf==6.31.1 - # via orbax-checkpoint - # via tensorboard + # via ortools psutil==6.0.0 # via phenograph ptyprocess==0.7.0 @@ -405,210 +222,112 @@ pyarrow==17.0.0 # via dask-expr pyct==0.5.0 # via datashader -pydot==4.0.0 - # via scib pygments==2.18.0 # via ipython - # via rich pynndescent==0.5.13 # via scanpy # via umap-learn pyparsing==3.1.4 # via matplotlib - # via pydot -pyro-api==0.1.2 - # via pyro-ppl -pyro-ppl==1.9.1 - # via scvi-tools python-dateutil==2.9.0.post0 # via matplotlib # via pandas -pytorch-lightning==2.5.1.post0 - # via lightning pytz==2024.2 # via pandas pyyaml==6.0.2 # via dask - # via flax - # via lightning - # via ml-collections - # via orbax-checkpoint - # via pytorch-lightning requests==2.32.3 # via datashader # via gseapy # via tlviz -rich==14.0.0 - # via flax - # via scvi-tools -rise @ git+https://github.com/meyer-lab/RISE.git@7a2f63cd238b6afd3670eff73b4fcdc0f8c7230a +rise @ git+https://github.com/meyer-lab/RISE.git@f160a1b7a8598627bf507a37e771d2c811a58527 # via pf2 -scanorama==1.7.4 - # via rise scanpy==1.11.2 # via doubletdetection # via pf2 # via rise - # via scib -scib==1.1.7 - # via rise scikit-learn==1.6.1 - # via geosketch - # via harmonypy # via pacmap - # via parafac2 # via pf2 # via phenograph # via pynndescent # via rise - # via scanorama # via scanpy - # via scib - # via scvi-tools # via umap-learn -scikit-misc==0.5.1 - # via scib -scipy==1.14.1 +scipy==1.15.3 # via anndata # via datashader # via doubletdetection # via gseapy - # via harmonypy - # via jax - # via jaxlib # via parafac2 + # via pf2 # via phenograph # via pynndescent # via rise - # via scanorama # via scanpy - # via scib # via scikit-learn - # via scvi-tools # via statsmodels # via tensorly # via tlviz # via umap-learn -scvi-tools==1.3.1.post1 - # via rise seaborn==0.13.2 # via rise # via scanpy - # via scib session-info2==0.1.2 # via scanpy setuptools==74.1.2 - # via chex - # via lightning-utilities # via pf2 # via phenograph - # via tensorboard - # via torch - # via triton -simplejson==3.20.1 - # via orbax-checkpoint six==1.16.0 # via asttokens - # via docrep # via patsy # via python-dateutil - # via tensorboard -sortedcontainers==2.4.0 - # via intervaltree -sparse==0.17.0 - # via scvi-tools stack-data==0.6.3 # via ipython -statsmodels==0.14.4 +statsmodels==0.14.5 + # via pf2 # via rise # via scanpy # via tlviz -sympy==1.14.0 - # via torch -tensorboard==2.19.0 - # via scvi-tools -tensorboard-data-server==0.7.2 - # via tensorboard tensorly==0.8.1 # via parafac2 # via pf2 # via rise -tensorstore==0.1.75 - # via flax - # via orbax-checkpoint texttable==1.7.0 # via igraph threadpoolctl==3.5.0 # via scikit-learn tlviz==0.1.1 - # via parafac2 # via pf2 # via rise toolz==0.12.1 - # via chex # via dask # via datashader # via partd -torch==2.7.0 - # via lightning - # via pyro-ppl - # via pytorch-lightning - # via scvi-tools - # via torchmetrics -torchmetrics==1.7.2 - # via lightning - # via pytorch-lightning - # via scvi-tools tqdm==4.66.5 # via doubletdetection - # via lightning - # via numpyro # via parafac2 - # via pyro-ppl - # via pytorch-lightning # via rise # via scanpy - # via scvi-tools # via umap-learn traitlets==5.14.3 # via comm # via ipython # via ipywidgets # via matplotlib-inline -treescope==0.1.9 - # via flax -triton==3.3.0 - # via torch typing-extensions==4.13.2 - # via chex - # via etils - # via flax - # via lightning - # via lightning-utilities - # via orbax-checkpoint - # via pytorch-lightning + # via ortools # via scanpy - # via torch tzdata==2024.1 # via pandas umap-learn==0.5.6 # via scanpy - # via scib urllib3==2.2.3 # via requests wcwidth==0.2.13 # via prompt-toolkit -werkzeug==3.1.3 - # via tensorboard widgetsnbextension==4.0.13 # via ipywidgets -wrapt==1.17.2 - # via deprecated xarray==2024.9.0 # via datashader - # via scvi-tools # via tlviz -yarl==1.20.0 - # via aiohttp -zipp==3.22.0 - # via etils