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.
- Python 3.x
- pip
- Conda
- Git or GitHub Desktop
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)
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.
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
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:
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:
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.
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:
The peak integrals can be copied directly from the data table but no save function has yet been implemented
- 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.
This project is licensed under the MIT License. See the LICENSE file for more details.
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



