This is very experimental code, which will eventually replace the current SCIViewer prototype here.
First, make sure the following requirements are met:
- A working installation of Python 3.8 (or later), if you dont have one consider installing Miniconda.
- An installation of OpenJDK 17, preferrable Eclipse Temurin from Adoptium.
Then, follow the next steps:
- Clone the repo:
git clone https://github.com/colabobio/sciviewer-dev.git
- Prepare and activate the conda environment containing dependencies for sciviewer-dev:
conda env create -n sciviewer-dev -f sciviewer-dev-env.yml
conda activate sciviewer-dev
You should be all set! Use your preferred code editor to develop SCIViewer, you can run the Jupyter notebooks in the test subfolder to debug your changes. These notebook use the autoreload IPython extension to reload modules as you change the code to make the development process easier.
To install the sciviewer-dev package globally on your development computer, please run:
pip install -e .
Sciviewer is executed from a Jupyter notebook such as in the examples directory. It is run by initializing a opening the interacive viewer window with some data as input and then embeding the viewer into the notebook (this step should not be required in the future). E.g.
import sciviewer as sci
pbmc = sci.datasets.pbmc68k_reduced()
sci.view(pbmc, 500)
sci.embed()
Click the video link below for a 50 second demo demonstrating the notebook embedding:
We are following scVelo's architecture to package SCIViewer as a tool that integrates well with the scanpy ecosystem. Some additional resources on creating Python packages below: