Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
42 commits
Select commit Hold shift + click to select a range
85d6a7b
Update numpy requirement from <2 to <3
dependabot[bot] Oct 21, 2024
569c146
Improve Documentation UX (#35)
Y0dler Oct 26, 2024
f278d91
add wiff files and connection to mzML example
Y0dler Nov 6, 2024
b1ccaca
improve figure 3
Y0dler Nov 6, 2024
92e7858
Merge pull request #37 from JuBiotech/fix-workflow-figure
Y0dler Nov 8, 2024
23aafb5
delete some cell outputs and add location of mzML file
Y0dler Nov 8, 2024
1af47a2
added plt.show() to avoid one line of output
Y0dler Nov 8, 2024
f418866
Merge pull request #36 from JuBiotech/issue-32-2
Y0dler Nov 8, 2024
9452057
update literature.bib
Y0dler Nov 8, 2024
9cd8082
apply reviewer suggestions
Y0dler Nov 8, 2024
050d9d7
add missing entry in literature.bib
Y0dler Nov 8, 2024
cc37bf1
update second literature.bib
Y0dler Nov 11, 2024
6991e2c
Merge pull request #38 from JuBiotech/joss-review-paper-additions
Y0dler Nov 11, 2024
c9f7c21
move figure 3
Y0dler Nov 11, 2024
59df9d4
add page break
Y0dler Nov 11, 2024
1b45434
Merge pull request #39 from JuBiotech/reformat-paper
Y0dler Nov 11, 2024
3e4dfe2
Format link to documentation as link
michaelosthege Nov 12, 2024
bd7723c
Merge pull request #40 from JuBiotech/link-formatting
Y0dler Nov 12, 2024
1530cf5
Bump codecov/codecov-action from 4 to 5
dependabot[bot] Nov 18, 2024
98731ef
fix typos, update bibliography
Y0dler Nov 25, 2024
9315947
unite conclusion and summary, then remove conclusion
Y0dler Nov 25, 2024
6732e12
test protecting cases
Y0dler Nov 25, 2024
cfbde16
fix all cases
Y0dler Nov 25, 2024
5e256e7
actually fix all cases
Y0dler Nov 25, 2024
7e07f7f
Merge pull request #42 from JuBiotech/review-joss-editor
Y0dler Nov 25, 2024
5581658
Remove http prefix from DOI entries (#43)
michaelosthege Nov 26, 2024
a8376d9
Update reference to bib file (#44)
xuanxu Nov 27, 2024
1f8e4b3
spell out all journal names in bibliography
Y0dler Dec 1, 2024
b43b83b
fix typos
Y0dler Dec 1, 2024
f284324
final minor changes
Y0dler Dec 2, 2024
2162cb5
Merge pull request #45 from JuBiotech/joss_final_corrections
Y0dler Dec 2, 2024
b3dea2b
Bump version number to 0.7.2
Y0dler Dec 2, 2024
d04cc2f
Merge pull request #46 from JuBiotech/bump-version-number
Y0dler Dec 2, 2024
90e9d1a
settle on American English
Y0dler Dec 10, 2024
9218c87
Merge pull request #47 from JuBiotech/joss_final_corrections_this_tim…
Y0dler Dec 10, 2024
73e57d1
Update citation after JOSS publication (#48)
Y0dler Dec 18, 2024
a95ccac
Fix docs authors
michaelosthege Mar 20, 2025
ba6ed63
Merge pull request #49 from JuBiotech/fix-docs-authors
Y0dler Mar 24, 2025
30c9ad6
Merge pull request #41 from JuBiotech/dependabot/github_actions/codec…
Y0dler Mar 24, 2025
079175c
Switch from deprecated `pymc.ConstantData` to `pymc.Data` (#55)
tobiaslatour Feb 3, 2026
5f6ae91
Update numpy requirement from <2 to <3
dependabot[bot] Oct 21, 2024
e948b6a
Merge branch 'dependabot/pip/numpy-lt-3' of https://github.com/JuBiot…
tobiaslatour Feb 3, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .github/workflows/tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@ jobs:
run: |
pytest -v --cov-report xml --cov=peak_performance --cov-report term-missing peak_performance
- name: Upload coverage
uses: codecov/codecov-action@v4
uses: codecov/codecov-action@v5
with:
file: ./coverage.xml
- name: Test Wheel build, install and import
Expand Down
2 changes: 1 addition & 1 deletion .pre-commit-config.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ repos:
hooks:
- id: black
- repo: https://github.com/pre-commit/mirrors-mypy
rev: v1.4.1
rev: v1.19.1
hooks:
- id: mypy
exclude: 'test_.*?\.py$'
Expand Down
54 changes: 54 additions & 0 deletions CITATION.cff
Original file line number Diff line number Diff line change
@@ -0,0 +1,54 @@
cff-version: "1.2.0"
authors:
- family-names: Nießer
given-names: Jochen
orcid: "https://orcid.org/0000-0001-5397-0682"
- family-names: Osthege
given-names: Michael
orcid: "https://orcid.org/0000-0002-2734-7624"
- family-names: Lieres
given-names: Eric
name-particle: von
orcid: "https://orcid.org/0000-0002-0309-8408"
- family-names: Wiechert
given-names: Wolfgang
orcid: "https://orcid.org/0000-0001-8501-0694"
- family-names: Noack
given-names: Stephan
orcid: "https://orcid.org/0000-0001-9784-3626"
doi: 10.5281/zenodo.14261846
message: If you use this software, please cite our article in the
Journal of Open Source Software.
preferred-citation:
authors:
- family-names: Nießer
given-names: Jochen
orcid: "https://orcid.org/0000-0001-5397-0682"
- family-names: Osthege
given-names: Michael
orcid: "https://orcid.org/0000-0002-2734-7624"
- family-names: Lieres
given-names: Eric
name-particle: von
orcid: "https://orcid.org/0000-0002-0309-8408"
- family-names: Wiechert
given-names: Wolfgang
orcid: "https://orcid.org/0000-0001-8501-0694"
- family-names: Noack
given-names: Stephan
orcid: "https://orcid.org/0000-0001-9784-3626"
date-published: 2024-12-13
doi: 10.21105/joss.07313
issn: 2475-9066
issue: 104
journal: Journal of Open Source Software
publisher:
name: Open Journals
start: 7313
title: PeakPerformance - A tool for Bayesian inference-based fitting
of LC-MS/MS peaks
type: article
url: "https://joss.theoj.org/papers/10.21105/joss.07313"
volume: 9
title: PeakPerformance - A tool for Bayesian inference-based fitting of
LC-MS/MS peaks
26 changes: 25 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,13 +2,36 @@
[![pipeline](https://github.com/jubiotech/peak-performance/workflows/pipeline/badge.svg)](https://github.com/JuBiotech/peak-performance/actions)
[![coverage](https://codecov.io/gh/jubiotech/peak-performance/branch/main/graph/badge.svg)](https://app.codecov.io/gh/JuBiotech/peak-performance)
[![documentation](https://readthedocs.org/projects/peak-performance/badge/?version=latest)](https://peak-performance.readthedocs.io/en/latest)
[![DOI](https://joss.theoj.org/papers/10.21105/joss.07313/status.svg)](https://doi.org/10.21105/joss.07313)
[![DOI](https://zenodo.org/badge/713469041.svg)](https://zenodo.org/doi/10.5281/zenodo.10255543)

# About PeakPerformance
PeakPerformance employs Bayesian modeling for chromatographic peak data fitting.
This has the innate advantage of providing uncertainty quantification while jointly estimating all peak parameters united in a single peak model.
As Markov Chain Monte Carlo (MCMC) methods are utilized to infer the posterior probability distribution, convergence checks and the aformentioned uncertainty quantification are applied as novel quality metrics for a robust peak recognition.

# Installation

It is highly recommended to follow the following steps and install ``PeakPerformance`` in a fresh Python environment:
1. Install the package manager [Mamba](https://github.com/conda-forge/miniforge/releases).
Choose the latest installer at the top of the page, click on "show all assets", and download an installer denominated by "Mambaforge-version number-name of your OS.exe", so e.g. "Mambaforge-23.3.1-1-Windows-x86_64.exe" for a Windows 64 bit operating system. Then, execute the installer to install mamba and activate the option "Add Mambaforge to my PATH environment variable".

⚠ If you have already installed Miniconda, you can install Mamba on top of it but there are compatibility issues with Anaconda.

ℹ The newest conda version should also work, just replace `mamba` with `conda` in step 2.

2. Create a new Python environment in the command line using the provided [`environment.yml`](https://github.com/JuBiotech/peak-performance/blob/main/environment.yml) file from the repo.
Download `environment.yml` first, then navigate to its location on the command line interface and run the following command:
```
mamba env create -f environment.yml
```

Naturally, it is alternatively possible to just install ``PeakPerformance`` via pip:

```bash
pip install peak-performance
```

# First steps
Be sure to check out our thorough [documentation](https://peak-performance.readthedocs.io/en/latest). It contains not only information on how to install PeakPerformance and prepare raw data for its application but also detailed treatises about the implemented model structures, validation with both synthetic and experimental data against a commercially available vendor software, exemplary usage of diagnostic plots and investigation of various effects.
Furthermore, you will find example notebooks and data sets showcasing different aspects of PeakPerformance.
Expand All @@ -19,4 +42,5 @@ When contributing code, create a local clone of PeakPerformance, create a new br

# How to cite
Head over to Zenodo to [generate a BibTeX citation](https://doi.org/10.5281/zenodo.10255543) for the latest release.
A publication has just been submitted to a scientific journal. Once published, this section will be updated.
In addition to the utilized software version, please cite our scientific publication over at the Journal of Open Source Software (JOSS).
A detailed citation can be found in CITATION.cff and in the sidebar.
2 changes: 1 addition & 1 deletion docs/source/conf.py
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@

project = "PeakPerformance"
copyright = "2023, Forschungszentrum Jülich GmbH"
author = "Michael Osthege"
author = "Jochen Nießer, Michael Osthege"

# The full version, including alpha/beta/rc tags
release = __version__
Expand Down
33 changes: 26 additions & 7 deletions docs/source/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,32 +9,51 @@ title: PeakPerformance documentation
[![](https://zenodo.org/badge/DOI/10.5281/zenodo.10255543.svg)](https://zenodo.org/doi/10.5281/zenodo.10255543)


``peak_performance`` is a Python toolbox for Bayesian inference of peak areas.
``PeakPerformance`` is a Python toolbox for Bayesian inference of peak areas.

It defines PyMC models describing the intensity curves of chromatographic peaks.

Using Bayesian inference, this enables the fitting of peaks, yielding uncertainty estimates for retention times, peak height, area and much more.

This documentation features various notebooks that demonstrate the usage.

# Installation

It is highly recommended to follow the following steps and install ``PeakPerformance`` in a fresh Python environment:
1. Install the package manager [Mamba](https://github.com/conda-forge/miniforge/releases).
Choose the latest installer at the top of the page, click on "show all assets", and download an installer denominated by "Mambaforge-version number-name of your OS.exe", so e.g. "Mambaforge-23.3.1-1-Windows-x86_64.exe" for a Windows 64 bit operating system. Then, execute the installer to install mamba and activate the option "Add Mambaforge to my PATH environment variable".

```{caution}
If you have already installed Miniconda, you can install Mamba on top of it but there are compatibility issues with Anaconda.
```

```{note}
The newest conda version should also work, just replace `mamba` with `conda` in step 2.)
```

2. Create a new Python environment in the command line using the provided [`environment.yml`](https://github.com/JuBiotech/peak-performance/blob/main/environment.yml) file from the repo.
Download `environment.yml` first, then navigate to its location on the command line interface and run the following command:
```
mamba env create -f environment.yml
```

Naturally, it is alternatively possible to just install ``PeakPerformance`` via pip:

```bash
pip install peak-performance
```

You can also download the latest version from [GitHub](https://github.com/JuBiotech/peak-performance).


The documentation features various notebooks that demonstrate the usage.

```{toctree}
:caption: Tutorials
:maxdepth: 1

markdown/Installation
markdown/Preparing_raw_data
notebooks/Preparing_raw_data_for_PeakPerformance
markdown/Peak_model_composition
markdown/PeakPerformance_validation
markdown/PeakPerformance_workflow
markdown/PeakPerformance_validation
notebooks/Recreate_data_from_scratch
markdown/Diagnostic_plots
markdown/How_to_adapt_PeakPerformance_to_your_data
```
Expand Down
Loading
Loading