Skip to main content

MOCCA2 is an open-source Python project to analyze HPLC-DAD raw data

Project description

PyPI pytest Docs Pages Example Data

Welcome to MOCCA2

MOCCA2 is a Python package for automatic processing of HPLC chromatograms.

To automate your workflow and get accurate results, MOCCA2 features:

  • support for raw data files from Agilent, Shimadzu and Waters
  • automatic baseline correction
  • adaptive peak picking
  • automatic purity checking and peak deconvolution
  • compound tracking across chromatograms
  • fully automatic processing of any number of chromatograms

Documentation

Examples and detailed documentation are documented at https://bayer-group.github.io/MOCCA.

Getting Started

The latest version of MOCCA2 can be installed simply using pip:

pip install mocca2

Example data can be then downloaded using the following command:

python -m mocca2 --download-data

Now you are ready to process your first chromatogram!

from mocca2 import example_data
from matplotlib import pyplot as plt

# Load example data
chromatogram = example_data.example_1()

# Correct the baseline
chromatogram.correct_baseline()

# Crop the chromatogram to the region of interest, 1.4 to 1.8 minutes
chromatogram.extract_time(1.4, 1.8, inplace=True)

# Exclude low wavelengths that tend to be noisy - ignore everything below 220 nm
chromatogram.extract_wavelength(220, None, inplace=True)

# Find peaks in the chromatogram
chromatogram.find_peaks(min_height=2)

# Deconvolve the peaks
print("Deconvolving peaks, this migth take a minute...")

chromatogram.deconvolve_peaks(
    model="FraserSuzuki", min_r2=0.999, relaxe_concs=False, max_comps=5
)

print("Deconvolved!")

# Plot the chromatogram
chromatogram.plot()
plt.show()

Publications and MOCCA

This package is based on MOCCA package by HaasCP. This work has been published by Christian Haas et al. in 2023.

Inspired by MOCCA, MOCCA2 features more Pythonic interface as well as adaptive and more accurate algorithms.

Publication featuring MOCCA2 is coming soon!

Repository Details

This repository automates numerous workflows:

Automatic testing

On push to main, all tests in the tests directory are automatically run. Currently, MOCCA2 is tested on Ubuntu with Python 3.10, 3.11 and 3.12.

Docs

On push to main, the Sphinx docs are automatically compiled and published to GitHub pages.

Example data

The repository contains various example datasets:

Since these datasets don't fit into the PyPI package size limit, they are automatically compressed and published onto example-data branch on push to main.

The data can be automatically downloaded using python -m mocca2 --download-data.

Publishing to PyPI and GitHub

On push to main, the MOCCA2 package is automatically published to PyPI and GitHub Releases.

Contributing

The process for contributing is outlined in CONTRIBUTING.md.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

mocca2-0.1.18.tar.gz (42.8 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

mocca2-0.1.18-py3-none-any.whl (55.3 kB view details)

Uploaded Python 3

File details

Details for the file mocca2-0.1.18.tar.gz.

File metadata

  • Download URL: mocca2-0.1.18.tar.gz
  • Upload date:
  • Size: 42.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.12.9

File hashes

Hashes for mocca2-0.1.18.tar.gz
Algorithm Hash digest
SHA256 6235da3cfc2aff3ee85dc15ec7c6aac4f8a70d624364a86f76c054cb4469816a
MD5 0527276ef356a222570d8174ad21c981
BLAKE2b-256 daf0dcdc08cf5a96cbad4758b508aa565e62732ea5d901a4c2cc529c841ef29b

See more details on using hashes here.

Provenance

The following attestation bundles were made for mocca2-0.1.18.tar.gz:

Publisher: publish_to_pypi.yaml on Bayer-Group/MOCCA

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file mocca2-0.1.18-py3-none-any.whl.

File metadata

  • Download URL: mocca2-0.1.18-py3-none-any.whl
  • Upload date:
  • Size: 55.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.12.9

File hashes

Hashes for mocca2-0.1.18-py3-none-any.whl
Algorithm Hash digest
SHA256 2bcec81132b5e93774564f3444efa12c346622b9ee8325cac9a289a4ca492d70
MD5 72599da8428663f2d2127020a4e18d46
BLAKE2b-256 0be7d555f775cedf57eafdb1a952924eedca6290fab559a8ee90ac2b1413f01a

See more details on using hashes here.

Provenance

The following attestation bundles were made for mocca2-0.1.18-py3-none-any.whl:

Publisher: publish_to_pypi.yaml on Bayer-Group/MOCCA

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page