PeakPicker
HPLC chromatogram peak detection, baseline correction, deconvolution, and calibration-curve quantification for Agilent ChemStation data.
pip install hplc-peakpicker
Features
- File reading: Agilent Chemstation
.chfiles (format 130/131),.Dfolder scanning, Rainbow API support - Baseline correction: ArPLS, weighted spline, hybrid valley-based strategies with quality evaluation
- Peak detection: Two-pass detection with configurable parameters
- Peak deconvolution: Gaussian and EMG (Exponentially Modified Gaussian) fitting via
lmfit - Quantification: Calibration curves, sample parsing, statistical analysis, batch processing
- Export: Excel reports and publication-quality plots
Installation
pip install hplc-peakpicker # from PyPI
pip install -U hplc-peakpicker # upgrade to the latest release
From a clone (development):
conda activate PeakPicker
pip install -r requirements.txt
Update notice
Building a workflow checks PyPI at most once a day (1.5 s timeout, silent when
offline) and prints a one-line upgrade hint to stderr when a newer release
exists. Ask explicitly with peakpicker.check_for_update(); turn the check off
with PEAKPICKER_NO_UPDATE_CHECK=1 (it is also skipped under CI and pytest).
Project Structure
src/
peakpicker/ # Main package (clean architecture)
application/ # Workflows and batch processing
baseline/ # Baseline correction strategies
config/ # Configuration dataclasses
domain/ # Domain models and enums
infrastructure/ # File I/O, exporters, signal processing
peak_analysis/ # Peak detection and deconvolution
quant/ # Quantification methods (public API: QuantMethod, StandardCurve)
Lab-specific code: plugins
The library is generic. Sample-name conventions, quantification presets and method-selection rules for a particular lab live outside this repository as plugins and method YAMLs — see docs/PLUGINS.md.
Related
- sci-toolkit — the lab's research
skill bundle. Its
scripts/hplc_parser.pyis a stdlib-only port of this project's peak detection for quick trace reads; itslab-data-analysisskill routes full quantification here.
Dependencies
numpy, pandas, scipy, matplotlib, openpyxl, lmfit, pybaselines, rainbow-api
Metadata
Release files for hplc-peakpicker 2.0.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| hplc_peakpicker-2.0.1.tar.gz | 99.0 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| hplc_peakpicker-2.0.1-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 231.1 kB
Release files / hplc_peakpicker-2.0.1.tar.gz
| Download URL | hplc_peakpicker-2.0.1.tar.gz |
|---|---|
| Size | 99.0 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
8165191ef08ac6882841b18cf1f4fad93862821a4ea4989d366a025b4ce3ce7e
|
|
BLAKE2b-256 checksum How to use checksums |
a8b9cc177c84c4a7d0996cfd1f4c22908e8c68a3e484564f0157084a982345a3
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.5
|
Release files / hplc_peakpicker-2.0.1-py3-none-any.whl
| Download URL | hplc_peakpicker-2.0.1-py3-none-any.whl |
|---|---|
| Size | 132.1 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
80a27bef3644d3a80215aebb0d9d8c036b19a770200ed0ebc1e21bd0e3526098
|
|
BLAKE2b-256 checksum How to use checksums |
e78c2bf4c92f6c904ca92641bb82bb56b59d667391823f2cd96753037bea6a45
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.5
|