Skip to contents

Overview

chromatographR implements a vendor-agnostic, fully scriptable workflow for reproducible analysis of HPLC-DAD and other chromatographic data (e.g., GC-FID, HPLC-UV, or HPLC-FD) in R. It provides an open-source alternative to proprietary chromatography software, with support for:

  • Pre-processing: smoothing, baseline correction, and interpolation
  • Retention-time alignment: parametric time warping (PTW), landmark parametric time warping (LPTW), and variable penalty dynamic time warping (VPdtw)
  • Peak detection and integration: Gaussian, exponential-Gaussian hybrid (EGH), or bidirectional exponentially modified Gaussian (BEMG) fits, or raw trapezoidal integration
  • Peak table construction: hierarchical clustering to match peaks across samples
  • Downstream analysis: metadata attachment, normalization, UV spectral analysis, and visualization

Installation

chromatographR can be installed from CRAN:

install.packages("chromatographR")

However, it’s recommended to install the latest development version of chromatographR from GitHub using the pak package:

if (!require("pak", quietly=TRUE)) install.packages("pak")
pak::pak("ethanbass/chromatographR")

or from R Universe:

install.packages("chromatographR", repos="https://ethanbass.r-universe.dev/")

Usage

Importing data

chromatographR can import many vendor formats, including ‘Agilent ChemStation’ and ‘MassHunter’ files, using parsers from the chromConverter package. See the chromConverter page for a detailed list of supported formats. Alternatively, chromatographR can also be used with regular csv files.

Analysis

Please see the vignette included with the package for details on the application of chromatographR for the analysis of HPLC data. Additional articles are available on the pkgdown website:

Contributing

Contributions are always welcome. Please get in touch (preferably by opening a GitHub issue) to discuss any suggestions or to file a bug report. Some good reasons to file an issue:

  • You think you’ve found a bug.
  • You’re getting a cryptic error message that you don’t understand.
  • You have a file format you’d like to read that isn’t currently supported by chromatographR. (If you do this, please make sure to include a link to an example file!)
  • You have a new feature you’d like to see implemented.

When reporting a bug, please check existing issues first, then include a code snippet that reproduces the problem, any error messages printed to the console, and the version of chromatographR you’re running (packageVersion("chromatographR")).

Also see the contributing.md page for more details.

(Note: Please direct questions about file conversions to the chromConverter page).

Citation:

If you use chromatographR in published work, please cite it as follows:

Bass, E. (2026). chromatographR: Chromatographic Data Analysis Toolkit. https://doi.org/10.5281/zenodo.6944334.

If your workflow includes data import with chromConverter, please also cite:

Bass, E. (2026). chromConverter: Chromatographic File Converter. https://doi.org/10.5281/zenodo.6792521.