diff --git a/requirements-dev.lock b/requirements-dev.lock
index 6c44cfb..02a0f3e 100644
--- a/requirements-dev.lock
+++ b/requirements-dev.lock
@@ -5,106 +5,307 @@
 #   pre: false
 #   features: []
 #   all-features: false
+#   with-sources: false
+#   generate-hashes: false
+#   universal: false
 
 -e file:.
 anndata==0.10.9
+    # via doubletdetection
+    # via parafac2
+    # via scanpy
+    # via spatialpf2
 annoy==1.17.3
+    # via pacmap
 array-api-compat==1.8
+    # via anndata
 asttokens==2.4.1
+    # via stack-data
 certifi==2024.8.30
+    # via requests
 charset-normalizer==3.3.2
+    # via requests
 click==8.1.7
+    # via dask
 cloudpickle==3.0.0
+    # via dask
 colorcet==3.1.0
+    # via datashader
 comm==0.2.2
+    # via ipywidgets
 contourpy==1.3.0
+    # via matplotlib
 coverage==7.6.1
+    # via pytest-cov
 cupy-cuda12x==13.3.0
+    # via parafac2
 cycler==0.12.1
+    # via matplotlib
 dask==2024.9.0
+    # via dask-expr
+    # via datashader
+    # via spatialpf2
 dask-expr==1.1.14
+    # via dask
 datashader==0.16.3
+    # via spatialpf2
 decorator==5.1.1
+    # via ipython
 doubletdetection==4.2
+    # via spatialpf2
 executing==2.1.0
+    # via stack-data
 fastrlock==0.8.2
+    # via cupy-cuda12x
 fonttools==4.53.1
+    # via matplotlib
 fsspec==2024.9.0
+    # via dask
 h5py==3.11.0
+    # via anndata
+    # via scanpy
 idna==3.10
+    # via requests
 igraph==0.11.6
+    # via leidenalg
+    # via louvain
 importlib-metadata==8.5.0
+    # via dask
 iniconfig==2.0.0
+    # via pytest
 ipython==8.27.0
+    # via ipywidgets
 ipywidgets==8.1.5
+    # via doubletdetection
 jedi==0.19.1
+    # via ipython
 joblib==1.4.2
+    # via pynndescent
+    # via scanpy
+    # via scikit-learn
 jupyterlab-widgets==3.0.13
+    # via ipywidgets
 kiwisolver==1.4.7
+    # via matplotlib
 legacy-api-wrap==1.4
+    # via scanpy
 leidenalg==0.10.2
+    # via doubletdetection
+    # via phenograph
 llvmlite==0.43.0
+    # via numba
+    # via pynndescent
 locket==1.0.0
+    # via partd
 louvain==0.8.2
+    # via doubletdetection
 matplotlib==3.9.2
+    # via doubletdetection
+    # via scanpy
+    # via seaborn
+    # via spatialpf2
+    # via tlviz
 matplotlib-inline==0.1.7
+    # via ipython
 multipledispatch==1.0.0
+    # via datashader
 natsort==8.4.0
+    # via anndata
+    # via scanpy
 networkx==3.3
+    # via scanpy
+    # via spatialpf2
 nodeenv==1.9.1
+    # via pyright
 numba==0.60.0
+    # via datashader
+    # via pacmap
+    # via pynndescent
+    # via scanpy
+    # via umap-learn
 numpy==1.26.4
+    # via anndata
+    # via contourpy
+    # via cupy-cuda12x
+    # via dask
+    # via datashader
+    # via doubletdetection
+    # via h5py
+    # via matplotlib
+    # via numba
+    # via pacmap
+    # via pandas
+    # via parafac2
+    # via patsy
+    # via phenograph
+    # via pyarrow
+    # via scanpy
+    # via scikit-learn
+    # via scipy
+    # via seaborn
+    # via spatialpf2
+    # via statsmodels
+    # via tensorly
+    # via tlviz
+    # via umap-learn
+    # via xarray
 packaging==24.1
+    # via anndata
+    # via dask
+    # via datashader
+    # via matplotlib
+    # via pytest
+    # via scanpy
+    # via statsmodels
+    # via xarray
 pacmap==0.7.3
+    # via parafac2
+    # via spatialpf2
 pandas==2.2.2
+    # via anndata
+    # via dask
+    # via dask-expr
+    # via datashader
+    # via doubletdetection
+    # via scanpy
+    # via seaborn
+    # via spatialpf2
+    # via statsmodels
+    # via tlviz
+    # via xarray
 parafac2 @ git+https://github.com/meyer-lab/parafac2.git@793f8ad06791ffcc698105d80941774741722574
+    # via spatialpf2
 param==2.1.1
+    # via datashader
+    # via pyct
 parso==0.8.4
+    # via jedi
 partd==1.4.2
+    # via dask
 patsy==0.5.6
+    # via scanpy
+    # via statsmodels
 pexpect==4.9.0
+    # via ipython
 phenograph==1.5.7
+    # via doubletdetection
 pillow==10.4.0
+    # via datashader
+    # via matplotlib
 pluggy==1.5.0
+    # via pytest
 prompt-toolkit==3.0.47
+    # via ipython
 psutil==6.0.0
+    # via phenograph
 ptyprocess==0.7.0
+    # via pexpect
 pure-eval==0.2.3
+    # via stack-data
 pyarrow==17.0.0
+    # via dask-expr
 pyct==0.5.0
+    # via datashader
 pygments==2.18.0
+    # via ipython
 pynndescent==0.5.13
+    # via scanpy
+    # via umap-learn
 pyparsing==3.1.4
+    # via matplotlib
 pyright==1.1.380
 pytest==8.3.3
+    # via pytest-cov
 pytest-cov==5.0.0
 python-dateutil==2.9.0.post0
+    # via matplotlib
+    # via pandas
 pytz==2024.2
+    # via pandas
 pyyaml==6.0.2
+    # via dask
 requests==2.32.3
+    # via datashader
+    # via tlviz
 scanpy==1.10.2
+    # via doubletdetection
+    # via spatialpf2
 scikit-learn==1.5.2
+    # via pacmap
+    # via parafac2
+    # via phenograph
+    # via pynndescent
+    # via scanpy
+    # via spatialpf2
+    # via umap-learn
 scipy==1.14.1
+    # via anndata
+    # via datashader
+    # via doubletdetection
+    # via parafac2
+    # via phenograph
+    # via pynndescent
+    # via scanpy
+    # via scikit-learn
+    # via statsmodels
+    # via tensorly
+    # via tlviz
+    # via umap-learn
 seaborn==0.13.2
+    # via scanpy
 session-info==1.0.0
+    # via scanpy
+setuptools==75.1.0
+    # via phenograph
+    # via spatialpf2
 six==1.16.0
+    # via asttokens
+    # via patsy
+    # via python-dateutil
 stack-data==0.6.3
+    # via ipython
 statsmodels==0.14.3
+    # via scanpy
+    # via tlviz
 stdlib-list==0.10.0
+    # via session-info
 tensorly==0.8.1
+    # via parafac2
+    # via spatialpf2
 texttable==1.7.0
+    # via igraph
 threadpoolctl==3.5.0
+    # via scikit-learn
 tlviz==0.1.1
+    # via spatialpf2
 toolz==0.12.1
+    # via dask
+    # via datashader
+    # via partd
 tqdm==4.66.5
+    # via doubletdetection
+    # via parafac2
+    # via scanpy
+    # via umap-learn
 traitlets==5.14.3
+    # via comm
+    # via ipython
+    # via ipywidgets
+    # via matplotlib-inline
 typing-extensions==4.12.2
+    # via ipython
 tzdata==2024.1
+    # via pandas
 umap-learn==0.5.6
+    # via scanpy
 urllib3==2.2.3
+    # via requests
 wcwidth==0.2.13
+    # via prompt-toolkit
 widgetsnbextension==4.0.13
+    # via ipywidgets
 xarray==2024.9.0
+    # via datashader
+    # via tlviz
 zipp==3.20.2
-# The following packages are considered to be unsafe in a requirements file:
-setuptools==75.1.0
+    # via importlib-metadata
diff --git a/requirements.lock b/requirements.lock
index 35906cb..a70d000 100644
--- a/requirements.lock
+++ b/requirements.lock
@@ -5,99 +5,294 @@
 #   pre: false
 #   features: []
 #   all-features: false
+#   with-sources: false
+#   generate-hashes: false
+#   universal: false
 
 -e file:.
 anndata==0.10.9
+    # via doubletdetection
+    # via parafac2
+    # via scanpy
+    # via spatialpf2
 annoy==1.17.3
+    # via pacmap
 array-api-compat==1.8
+    # via anndata
 asttokens==2.4.1
+    # via stack-data
 certifi==2024.8.30
+    # via requests
 charset-normalizer==3.3.2
+    # via requests
 click==8.1.7
+    # via dask
 cloudpickle==3.0.0
+    # via dask
 colorcet==3.1.0
+    # via datashader
 comm==0.2.2
+    # via ipywidgets
 contourpy==1.3.0
+    # via matplotlib
 cupy-cuda12x==13.3.0
+    # via parafac2
 cycler==0.12.1
+    # via matplotlib
 dask==2024.9.0
+    # via dask-expr
+    # via datashader
+    # via spatialpf2
 dask-expr==1.1.14
+    # via dask
 datashader==0.16.3
+    # via spatialpf2
 decorator==5.1.1
+    # via ipython
 doubletdetection==4.2
+    # via spatialpf2
 executing==2.1.0
+    # via stack-data
 fastrlock==0.8.2
+    # via cupy-cuda12x
 fonttools==4.53.1
+    # via matplotlib
 fsspec==2024.9.0
+    # via dask
 h5py==3.11.0
+    # via anndata
+    # via scanpy
 idna==3.10
+    # via requests
 igraph==0.11.6
+    # via leidenalg
+    # via louvain
 importlib-metadata==8.5.0
+    # via dask
 ipython==8.27.0
+    # via ipywidgets
 ipywidgets==8.1.5
+    # via doubletdetection
 jedi==0.19.1
+    # via ipython
 joblib==1.4.2
+    # via pynndescent
+    # via scanpy
+    # via scikit-learn
 jupyterlab-widgets==3.0.13
+    # via ipywidgets
 kiwisolver==1.4.7
+    # via matplotlib
 legacy-api-wrap==1.4
+    # via scanpy
 leidenalg==0.10.2
+    # via doubletdetection
+    # via phenograph
 llvmlite==0.43.0
+    # via numba
+    # via pynndescent
 locket==1.0.0
+    # via partd
 louvain==0.8.2
+    # via doubletdetection
 matplotlib==3.9.2
+    # via doubletdetection
+    # via scanpy
+    # via seaborn
+    # via spatialpf2
+    # via tlviz
 matplotlib-inline==0.1.7
+    # via ipython
 multipledispatch==1.0.0
+    # via datashader
 natsort==8.4.0
+    # via anndata
+    # via scanpy
 networkx==3.3
+    # via scanpy
+    # via spatialpf2
 numba==0.60.0
+    # via datashader
+    # via pacmap
+    # via pynndescent
+    # via scanpy
+    # via umap-learn
 numpy==1.26.4
+    # via anndata
+    # via contourpy
+    # via cupy-cuda12x
+    # via dask
+    # via datashader
+    # via doubletdetection
+    # via h5py
+    # via matplotlib
+    # via numba
+    # via pacmap
+    # via pandas
+    # via parafac2
+    # via patsy
+    # via phenograph
+    # via pyarrow
+    # via scanpy
+    # via scikit-learn
+    # via scipy
+    # via seaborn
+    # via spatialpf2
+    # via statsmodels
+    # via tensorly
+    # via tlviz
+    # via umap-learn
+    # via xarray
 packaging==24.1
+    # via anndata
+    # via dask
+    # via datashader
+    # via matplotlib
+    # via scanpy
+    # via statsmodels
+    # via xarray
 pacmap==0.7.3
+    # via parafac2
+    # via spatialpf2
 pandas==2.2.2
+    # via anndata
+    # via dask
+    # via dask-expr
+    # via datashader
+    # via doubletdetection
+    # via scanpy
+    # via seaborn
+    # via spatialpf2
+    # via statsmodels
+    # via tlviz
+    # via xarray
 parafac2 @ git+https://github.com/meyer-lab/parafac2.git@793f8ad06791ffcc698105d80941774741722574
+    # via spatialpf2
 param==2.1.1
+    # via datashader
+    # via pyct
 parso==0.8.4
+    # via jedi
 partd==1.4.2
+    # via dask
 patsy==0.5.6
+    # via scanpy
+    # via statsmodels
 pexpect==4.9.0
+    # via ipython
 phenograph==1.5.7
+    # via doubletdetection
 pillow==10.4.0
+    # via datashader
+    # via matplotlib
 prompt-toolkit==3.0.47
+    # via ipython
 psutil==6.0.0
+    # via phenograph
 ptyprocess==0.7.0
+    # via pexpect
 pure-eval==0.2.3
+    # via stack-data
 pyarrow==17.0.0
+    # via dask-expr
 pyct==0.5.0
+    # via datashader
 pygments==2.18.0
+    # via ipython
 pynndescent==0.5.13
+    # via scanpy
+    # via umap-learn
 pyparsing==3.1.4
+    # via matplotlib
 python-dateutil==2.9.0.post0
+    # via matplotlib
+    # via pandas
 pytz==2024.2
+    # via pandas
 pyyaml==6.0.2
+    # via dask
 requests==2.32.3
+    # via datashader
+    # via tlviz
 scanpy==1.10.2
+    # via doubletdetection
+    # via spatialpf2
 scikit-learn==1.5.2
+    # via pacmap
+    # via parafac2
+    # via phenograph
+    # via pynndescent
+    # via scanpy
+    # via spatialpf2
+    # via umap-learn
 scipy==1.14.1
+    # via anndata
+    # via datashader
+    # via doubletdetection
+    # via parafac2
+    # via phenograph
+    # via pynndescent
+    # via scanpy
+    # via scikit-learn
+    # via statsmodels
+    # via tensorly
+    # via tlviz
+    # via umap-learn
 seaborn==0.13.2
+    # via scanpy
 session-info==1.0.0
+    # via scanpy
+setuptools==75.1.0
+    # via phenograph
+    # via spatialpf2
 six==1.16.0
+    # via asttokens
+    # via patsy
+    # via python-dateutil
 stack-data==0.6.3
+    # via ipython
 statsmodels==0.14.3
+    # via scanpy
+    # via tlviz
 stdlib-list==0.10.0
+    # via session-info
 tensorly==0.8.1
+    # via parafac2
+    # via spatialpf2
 texttable==1.7.0
+    # via igraph
 threadpoolctl==3.5.0
+    # via scikit-learn
 tlviz==0.1.1
+    # via spatialpf2
 toolz==0.12.1
+    # via dask
+    # via datashader
+    # via partd
 tqdm==4.66.5
+    # via doubletdetection
+    # via parafac2
+    # via scanpy
+    # via umap-learn
 traitlets==5.14.3
+    # via comm
+    # via ipython
+    # via ipywidgets
+    # via matplotlib-inline
 typing-extensions==4.12.2
+    # via ipython
 tzdata==2024.1
+    # via pandas
 umap-learn==0.5.6
+    # via scanpy
 urllib3==2.2.3
+    # via requests
 wcwidth==0.2.13
+    # via prompt-toolkit
 widgetsnbextension==4.0.13
+    # via ipywidgets
 xarray==2024.9.0
+    # via datashader
+    # via tlviz
 zipp==3.20.2
-# The following packages are considered to be unsafe in a requirements file:
-setuptools==75.1.0
+    # via importlib-metadata
diff --git a/spatialpf2/imports.py b/spatialpf2/imports.py
index a71c5bf..a5b0ed1 100644
--- a/spatialpf2/imports.py
+++ b/spatialpf2/imports.py
@@ -63,3 +63,10 @@ def import_HTAN() -> anndata.AnnData:
     X = anndata.concat(data, merge="same", label="Condition")
 
     return prepare_dataset(X, "Condition", geneThreshold=0.1)
+
+def import_scRNAseq() -> anndata.AnnData:
+    "Imports scRNA-seq data"
+   
+    X = anndata.read_h5ad("/opt/extra-storage/CRC/Heiser/VUMC_HTAN_DIS_EPI_V2.h5ad")
+   
+    return X
\ No newline at end of file