opsccnet
Stratify OPSCC patients using regular H&E stained sections
Science Score: 36.0%
This score indicates how likely this project is to be science-related based on various indicators:
-
○CITATION.cff file
-
✓codemeta.json file
Found codemeta.json file -
✓.zenodo.json file
Found .zenodo.json file -
○DOI references
-
✓Academic publication links
Links to: nature.com -
○Academic email domains
-
○Institutional organization owner
-
○JOSS paper metadata
-
○Scientific vocabulary similarity
Low similarity (14.9%) to scientific vocabulary
Repository
Stratify OPSCC patients using regular H&E stained sections
Basic Info
Statistics
- Stars: 3
- Watchers: 1
- Forks: 0
- Open Issues: 0
- Releases: 0
Metadata Files
README.md
OPSCCnet
Welcome to the reposiroty of OPSCCnet!
OPSCCnet is an open source tool that allows users to determine HPV-association in dedicated head and neck tumors. In its current version, OPSCCnet is built around the most used and most succesfull open-source tool for digital pathology (QuPath, at the time of latest commit at version 0.4.3), which has been built by Pete Bankhead from the The University of Edinburgh Shoutout.
Table of content
- Requirements
- Installation
- Configuration of paquo
- How to run OPSCCnet browser
- How to run OPSCCnet using command line
- Examples
- Shoutout
- Citing
- License
- Acknowledgements
Requirements
Please consider that OPSCCnet has been tested using unix based systems (MacOS and Ubuntu). A GPU is advantegous but not necessary. OPSCCnet can be run using regular clients.\ Requirements: - [ ] Unix based system - [ ] QuPath [anything above 0.3.1 should work, tested 0.4.3 at the time of latest commit] installed on your system - How to install QuPath 0.4.3 - [ ] Anaconda (recommended) / Miniconda installed on your system - How to install anaconda - [ ] git installed / or manually downloaded the OPSCCnet repository - How to install git
Clone repository
bash
git clone https://github.com/OPSCCnet/OPSCCnet.git
Installation
bash
conda create --name OPSCCnet python=3.9
conda activate OPSCCnet
pip install -r requirements.txt # please only use this if you are running a non MacOS system
pip install -r requirementsMacOS.txt # MacOS users: please use this
OPSCCnet is using paquo to generate project files. It is necessary for paquo to know where QuPath is installed. Please read the docs where to put the QuPath directory path in order to let paquo access it.
- [x] You have cloned / downloaded the OPSCCnet.git repository and installed the pip requirements
- [x] You have installed QuPath 0.4.3 (see above) on your system
- [x] You now have a directory where OPSCCnet is installeg, e.g. /media/somewhere/OPSCCnet
It appears there is some misunderstanding of how to configure paquo, I have put a description below on how to set the path.
If you have installed QuPath on a MacOS system with default parameters, you can skip this part!
Configuration of paquo
bash cd /media/somewhere/OPSCCnet python -m paquo config --list --default python -m paquo config -l -o . nano .paquo.toml
Details on how to use nano and set up the path
skip this part if you have installed QuPath on a MacOS system using the default location. //// Using nano: STRG + O writes the output and STRG + X exits the file. //// Once you have opened the paquo configure file, set the QuPath dir, e.g. qupathdir "/home/sebastian/DeepLearningImage/QuPath043/QuPath-0.4.3-Linux/QuPath/" [Please pay attention! The QuPath dir to be set for OPSCCnet either in the browser version or the command line version would be QuPathApp="/home/sebastian/DeepLearning_Image/QuPath043/QuPath-0.4.3-Linux/QuPath/bin/QuPath"; so they differ!]
- [x] You have put a reference of your QuPath APP to paquo (you don't have to do this if you have installed it on a MacOS system with default parameters; otherwise please see above)
You are ready to go
How to run OPSCCnet using a browser
If you are using a MacOS system, the correct directory to set for the QuPath app in the browser is "/Applications/QuPath.app/Contents/MacOS/QuPath"
bash streamlit run OPSCCnet.py
How to run OPSCCnet using the command line
Prepare the bash script of run_OPSCCnet.sh
Please set the QuPath App directory, e.g. "QuPathApp="/home/sebastian/DeepLearningImage/QuPath043/QuPath-0.4.3-Linux/QuPath/bin/QuPath" in the runOPSCCnet.sh //// If you are using a MacOS System and have installed QuPath using the system defaults, this path is "QuPathApp="/Applications/QuPath.app/Contents/MacOS/QuPath"
bash chmod +x run_OPSCCnet.sh #If you are starting the bash script for the first time, you need to include "chmod +x run_OPSCCnet.sh" ./run_OPSCCnet.sh -i '/media/sebastian/8e545a02-8515-436b-9abe-f0b9ba1489d1/WSI/test_folder/WSI' -o '/media/sebastian/b4215009-f647-4cf3-97fe-038c17c9f61e/OPSCCnet' -p '/media/sebastian/8e545a02-8515-436b-9abe-f0b9ba1489d1/WSI/test_folder/test'
Examples

OPSCCnet has essentially three parts:
- Segmentation of viable tumor areas using a FPN with a ResNet-18 encoder
- Classification of image tiles for HPV-association using a ResNet-18
- Visualizing HPV-association on whole slide level (WSI) and giving tabular data as output for individual WSI's
Cite our work
Klein, S., Wuerdemann, N., Demers, I. et al. Predicting HPV association using deep learning and regular H&E stains allows granular stratification of oropharyngeal cancer patients. npj Digit. Med. 6, 152 (2023).
Please get me to the article
Shoutout
You should visit this page which is a great ressource for questions regarding QuPath. Snippets and parts from scripts have been copied from there. - A big shoutout to Pete Bankhead and his crew for making this available to the community - Recently, Pete Bankhead has published a book, I have not had the chance to take a look, but I would recommend it either way - A big shoutout to segmentation models for PyTorch, which has been built by Pavel Iakubovskii
Licence
OPSCCnet is made for academic bodies, and its research use only. This is not a medical product.
Acknowledgements
Figures were created with https://biorender.com/ and Adobe illustrator version 26.4.
GitHub Events
Total
Last Year
Dependencies
- Pillow ==9.0.1
- featq ==1.0.0
- image-classifiers ==1.0.0
- imgaug ==0.4.0
- keras ==2.8.0
- matplotlib ==3.5.2
- numba ==0.55.2
- numpy ==1.22.3
- opencv-python ==4.6.0.66
- pandas ==1.4.3
- paquo ==0.5.0
- protobuf ==3.20.1
- pytorch_lightning ==0.8.5
- scikit-image ==0.19.3
- scikit-learn ==1.1.1
- scipy ==1.8.1
- segmentation_models_pytorch ==0.2.1
- spams ==2.6.5.4
- staintools ==2.1.2
- tensorflow ==2.8.0
- tensorflow-addons ==0.17.1
- tfa-nightly ==0.17.0.dev20220629222308
- the1owl ==0.0.8
- thebrainfuck ==0.0.3
- torch ==1.12.0
- torchvision ==0.13.0
- tqdm ==4.64.0
- JPype1 ==1.4.0
- Keras-Applications ==1.0.8
- Keras-Preprocessing ==1.1.2
- Markdown ==3.3.7
- Pillow ==9.0.1
- PyWavelets ==1.3.0
- PyYAML ==6.0
- Shapely ==1.8.2
- Werkzeug ==2.1.2
- absl-py ==1.1.0
- astunparse ==1.6.3
- cachetools ==5.2.0
- certifi ==2022.6.15
- charset-normalizer ==2.1.0
- cycler ==0.11.0
- dynaconf ==3.1.9
- efficientnet-pytorch ==0.6.3
- featq ==1.0.0
- flatbuffers ==2.0
- fonttools ==4.33.3
- future ==0.18.2
- gast ==0.5.3
- google-auth ==2.9.0
- google-auth-oauthlib ==0.4.6
- google-pasta ==0.2.0
- grpcio ==1.47.0
- h5py ==3.7.0
- idna ==3.3
- image-classifiers ==1.0.0
- imageio ==2.19.3
- imgaug ==0.4.0
- importlib-metadata ==4.12.0
- joblib ==1.1.0
- keras ==2.8.0
- kiwisolver ==1.4.3
- libclang ==14.0.1
- lightgbm ==3.3.2
- llvmlite ==0.38.1
- matplotlib ==3.5.2
- munch ==2.5.0
- networkx ==2.8.4
- numba ==0.55.2
- numpy ==1.22.3
- oauthlib ==3.2.0
- opencv-python ==4.6.0.66
- opt-einsum ==3.3.0
- packaging ==21.3
- pandas ==1.4.3
- paquo ==0.5.0
- pretrainedmodels ==0.7.4
- protobuf ==3.20.1
- pyasn1 ==0.4.8
- pyasn1-modules ==0.2.8
- pyparsing ==3.0.9
- python-dateutil ==2.8.2
- pytorch-lightning ==0.8.5
- pytz ==2022.1
- requests ==2.28.1
- requests-oauthlib ==1.3.1
- rsa ==4.8
- scikit-image ==0.19.3
- scikit-learn ==1.1.1
- scipy ==1.8.1
- segmentation-models-pytorch ==0.2.1
- six ==1.16.0
- sklearn ==0.0
- spams ==2.6.5.4
- staintools ==2.1.2
- streamlit ==1.24.1
- tensorboard ==2.8.0
- tensorboard-data-server ==0.6.1
- tensorboard-plugin-wit ==1.8.1
- tensorflow ==2.8.0
- tensorflow-addons ==0.17.1
- tensorflow-io-gcs-filesystem ==0.26.0
- termcolor ==1.1.0
- tf-estimator-nightly ==2.8.0.dev2021122109
- tfa-nightly ==0.17.0.dev20220629222308
- the1owl ==0.0.8
- theBrainFuck ==0.0.3
- threadpoolctl ==3.1.0
- tifffile ==2022.5.4
- timm ==0.4.12
- torch ==1.12.0
- torchvision ==0.13.0
- tqdm ==4.64.0
- typeguard ==2.13.3
- typing_extensions ==4.3.0
- urllib3 ==1.26.9
- wrapt ==1.14.1
- xgboost ==1.6.1
- zipp ==3.8.0