Skip to content

ombayley/UPLC_Data_Analyser

Repository files navigation

Chromatogram Analyzer GUI


Overview

The UPLC Data Analyser is a GUI application designed to open and analyse chromatogram data stored in Agilent's proprietary .dx files. This application utilizes CustomTKinter for the user interface and Matplotlib+seaborn for plotting the chromatogram data. The data processing is based on the MOCCA2 by the Bayer-Group (https://github.com/Bayer-Group/MOCCA).

NOTE: This package is in early stages of development, but it is currently functional.

LAMA Installation

Requirements

  • Python 3.x
  • pip
  • Conda
  • Git or GitHub Desktop

Cloning the Repo

The UPLCDataAnalyser package can be cloned via command line using the command:

git clone https://github.com/ombayley/UPLC_Data_Analyser.git

Or alternatively it can be cloned via GitHub desktop (https://docs.github.com/en/desktop)

Setting up the Environment

To avoid problems with other installed Python packages, the Conda environment manager is used. The Conda environment can be built from the UPLCDataAnalyser_env.yml file using:

conda env create -f UPLCDataAnalyser_env.yml
conda activate UPLCDataAnalyser_env

After running "conda env create" all necessary dependancies will be installed.

Useage

Starting the Program

The program can be started directly from the GUI.py or (assuming you are in the root directory) via the command line using:

python GUI.py

Using GUI Interface

Once open, the GUI should contain no chromatogram data but all settings should have been loaded from the analysis_settings.json in the settings_files directory:

Main Window

The path to the directory containing the chromatogram data can be set in the top search bar using the Browse Button and all the .dx files will appear under the Files tab on the right-hand side:

Files Tab

After selecting (click) the desired .dx file, the chromatogram can be loaded by clicking the Load Chromatogram button.

NOTE: The Gradient/Background is automatically identifed based on the creation time of the Sample and Gradient files. This means a Gradient file is required in the results' directory. The automatic file identification requires background file to contain the string ' gradient ' (case-insensitive). This can also be changed in the analysis_settings.json file.

Raw_Chrom

No data will be displayed in the table until the chromatogram is processed. To process the data, switch to the Settings tab. The default settings loaded from the .json file should be a good starting point for analysis but altering the Min wavelength, Max Wavelength, Min Peak Picking Time, Max Peak Picking Time and Min Prominence can be very beneficial. After saving any changes (Save button) the spectra can be processed using the Process Data button:

Processed_Data

The peak integrals can be copied directly from the data table but no save function has yet been implemented

Project Structure

  • GUI.py/: The main Python script responsible for running the Application
  • ct_components/: Contains the necessary components for analysis.
  • settings_files/: Directory where analysis settings are stored as JSON files.

License

This project is licensed under the MIT License. See the LICENSE file for more details.

Acknowledgments

Thanks to the developers of CustomTKinter, and Matplotlib and MOCCA2 (https://github.com/Bayer-Group/MOCCA) for providing the libraries required for the operation of this package


About

GUI Application for the automated analysis of Agilen OpenLab CDS raw data

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages