Skip to content

Open-Source package for segmentation and analysis of gel electrophoresis images using machine learning. Both a python framework for training/running models and a QuPath GUI extension are available.

License

Notifications You must be signed in to change notification settings

mattaq31/GelGenie

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

GelGenie logo

One-click gel electrophoresis analysis.

Platform Support License: Apache 2.0 GitHub all releases QuPath Extension


Main code repository for GelGenie, an app that uses deep learning models to segment gel electrophoresis images and completely automate the gel analysis process. The repo is split into two:

  • python-gelgenie contains a python package for preparing gel image datasets, creating segmentation architectures and training/evaluating deep learning models with PyTorch. More details on usage and installation in the python package README.
  • qupath-gelgenie contains a QuPath extension that provides an easy-to-access interface for GelGenie models as well as a rich set of tools for analysing and exporting segmentation results.

GelGenie Feature Highlights:

  • One-click segmentation of gel electrophoresis images
  • General-purpose models that work with a wide range of gel conditions, imagers and stains
  • Customisable band measurement, bar chart generation and normalisation
  • Easy export to csv for further processing
  • Scriptable interface for model inference and labelling
  • Python environment for training new models and advanced features
  • Open-source and configurable by everyone!
GelGenie in action GelGenie Screenshot 1 GelGenie Screenshot 2 GelGenie Screenshot 3 GelGenie Screenshot 4

Installing the QuPath GelGenie Extension

  • First, install the latest version of QuPath (currently 0.5.1), following the instructions for your operating system here.
  • Next, download the latest version of the GelGenie extension from the releases page (make sure to only download the .jar file):

How to download GelGenie

  • Then drag & drop the downloaded .jar file onto the main QuPath window to install it:

Drag-n-drop installation

  • Finally, run GelGenie from the extensions menu:

How to activate GelGenie

QuPath GelGenie Extension Tutorial/Manual

  • For a comprehensive manual describing the installation and use of GelGenie, jump to the readme page here.
  • A quick-start video showing how to install the app and the main features is available here: https://youtu.be/_HZyM8Shgc0.

GelGenie's Python Environment and Training New Models (for developers)

Full documentation, Python installation instructions and more details are provided here Python Quick Start.

Acessing Pre-Trained Models (for developers)

All pre-trained models are available on HuggingFace. The main registry can be found at the link here. The QuPath GelGenie extension directly downloads the models from HuggingFace, with no user tweaking required.

Accessing Labelled Gel Datasets

All data can be downloaded in the original format used for training, validation and testing from our Zenodo upload with DOI 10.5281/zenodo.13218469.

Development & Support

The principal GelGenie researcher and developer is Matthew Aquilina, who built up the concept of gel electrophoresis segmentation and oversaw the project together with Katherine Dunn at the University of Edinburgh. The other developers/scientists who contributed to the project are:

  • Nathan Wu - Gel labelling, lab data generation, data analysis and statistical pipeline development
  • Kiros Kwan - Gel labelling, deep learning framework development and model training
  • Filip Buŝić - Image analysis, classical segmentation algorithms and prototype GUI development
  • James Dodd - Gel labelling, lab data generation, prototype testing and feedback
  • Peter Bankhead - QuPath extension development, deep learning algorithms and java development guidance
  • Alan O'Callaghan - QuPath extension development and java development guiidance
  • Laura Nicolás-Sáenz - Clustering algorithm development
  • We also received advice, gel data (thanks Arun and Stella!) and alpha testing feedback from other colleagues in both the University of Edinburgh and the Dana-Farber/Wyss Institute for which we are incredibly grateful!

The project was directly supported by both the School of Engineering (who funded Kiros and Filip) and the Precision Medicine Doctoral Training Programme at the University of Edinburgh (via Medical Research Council (MRC) grant number MR/N013166/1). The EDDIE compute cluster (from the Edinburgh Compute and Data Facility (ECDF)) was used to train the baseline machine learning models.

For more details of everyone's coding contributions, please check the graphs here.

Contributions from the open-source community are welcome! In particular, we are looking for help with introducing unit tests to both the Python and Java GelGenie packages!

Literature Citation

Currently, our main manuscript is available as a preprint on bioRxiv, available here: https://doi.org/10.1101/2024.09.06.611479

Bibtex citation details available below:

@article{aquilinaGelGenieAIpoweredFramework2024,
	title = {{GelGenie}: an {AI}-powered framework for gel electrophoresis image analysis},
	copyright = {All rights reserved},
	url = {http://biorxiv.org/content/early/2024/09/06/2024.09.06.611479.abstract},
	doi = {10.1101/2024.09.06.611479},
	abstract = {Gel electrophoresis is a ubiquitous laboratory method for the separation and semi-quantitative analysis of biomolecules. However, gel image analysis principles have barely advanced for decades, in stark contrast to other fields where AI has revolutionised data processing. Here, we show that an AI-based system can automatically identify gel bands in seconds for a wide range of experimental conditions, far surpassing the capabilities of current software. We used a dataset containing 500+ images of manually-labelled gels to train various U-Nets to accurately identify bands through segmentation, i.e. classifying pixels as 'band' or 'background'. When applied to gel electrophoresis data from other laboratories, our system generated results that quantitatively matched those of the original authors. We have publicly released our models through GelGenie, an open-source application that allows users to extract bands from gel images on their own devices, with no expert knowledge or experience required.},
	journal = {bioRxiv},
	author = {Aquilina, Matthew and Wu, Nathan J.W. and Kwan, Kiros and Busic, Filip and Dodd, James and Nicolas-Saenz, Laura and O'Callaghan, Alan and Bankhead, Peter and Dunn, Katherine E},
	year = {2024},
	pages = {2024.09.06.611479},
}

About

Open-Source package for segmentation and analysis of gel electrophoresis images using machine learning. Both a python framework for training/running models and a QuPath GUI extension are available.

Topics

Resources

License

Stars

Watchers

Forks