opsccnet

Stratify OPSCC patients using regular H&E stained sections

https://github.com/opsccnet/opsccnet

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
Last synced: 10 months ago · JSON representation

Repository

Stratify OPSCC patients using regular H&E stained sections

Basic Info
  • Host: GitHub
  • Owner: OPSCCnet
  • License: cc0-1.0
  • Language: PureBasic
  • Default Branch: main
  • Homepage:
  • Size: 190 MB
Statistics
  • Stars: 3
  • Watchers: 1
  • Forks: 0
  • Open Issues: 0
  • Releases: 0
Created about 4 years ago · Last pushed over 2 years ago
Metadata Files
Readme License Citation

README.md

OPSCCnet

Github Overview 1 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

  1. Requirements
  2. Installation
  3. Configuration of paquo
  4. How to run OPSCCnet browser
  5. How to run OPSCCnet using command line
  6. Examples
  7. Shoutout
  8. Citing
  9. License
  10. 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

Github Overview 2

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

requirements.txt pypi
  • 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
requirementsMacOS.txt pypi
  • 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