This is a quality control tool for spatial proteomics data that has been developed in the Borner lab. Primary results illustrating the functionality of the tool have been published here and presented here. The graphical user interface is available at https://domqc.bornerlab.org. Alternatively you can clone this repository and run the user interface locally or use the underlying python library in custom code. If you encounter any issues with the website or the code please let us know through the issues on this repository and if you have any unanswered questions regarding the science behind it don't hesitate to contact us directly.
Instructions for uploading data as well as sample data are included in the interface.
There are no special hardware requirements for running the QCtool. The code was tested on Linux and Windows and should also run on Mac.
To run the app locally create a new python environment (required version >=3.7, <= 3.10). This can either be done using anaconda or a native virtual environment. Illustration for unix systems:
python3 -m venv path/to/env
source path/to/env/bin/activate
Next, clone this repository (requires git) or download it here and install the package including its dependencies (see requirements file):
git clone https://github.com/valbrecht/SpatialProteomicsQC
pip install .
This step takes roughly 20 minutes, depending on download speed and hardware configuration, limited by the plotly library. If any pip installations fail due to external dependencies missing (e.g. zlib requirement for Pillow installation from source on python 3.6, or Microsoft Visual C++ 14 on windows) try installing that library using a binary file, thereby avoiding the dependency:
pip install --only-binary :all: Pillow
To run the tool on your computer and to be able to interact with the data and the interface through pyhton code use jupyter. This is not included in the requirements so you need to add it to your environment if you haven't used anaconda. You can then run the jupyter notebook in the webapp folder to run a locally hosted interface. The only time you need to do this is when working with files larger than 80 MB, since they can't be loaded through the interface directly. Instead adjust one of the two code cells at the end of the notebook, to load the file directly from your file system.
To access the GUI without directly interacting with the code, or to host your own instance of the tool, you can run a panel serve command from the command line:
cd webapp
panel serve QCtool.py