peak-performance


Namepeak-performance JSON
Version 0.6.4 PyPI version JSON
download
home_page
SummaryA Python toolbox to fit chromatography peaks with uncertainty.
upload_time2023-12-04 12:45:43
maintainer
docs_urlNone
author
requires_python>=3.9
licenseAGPLv3
keywords hplc mass-spectrometry uncertainty quantification
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            [![PyPI version](https://img.shields.io/pypi/v/bletl)](https://pypi.org/project/peak-performance/)
[![pipeline](https://github.com/jubiotech/bletl/workflows/pipeline/badge.svg)](https://github.com/JuBiotech/peak-performance/actions)
[![coverage](https://codecov.io/gh/jubiotech/bletl/branch/main/graph/badge.svg)](https://app.codecov.io/gh/JuBiotech/peak-performance)

# How to use PeakPerformance
For installation instructions, see `Installation.md`.
For instructions regarding the use of PeakPerformance, check out the example notebook(s) under `notebooks`, the complementary example data under `example`, and the following introductory explanations.

## Preparing raw data
This step is crucial when using PeakPerformance. Raw data has to be supplied as time series meaning for each signal you want to analyze, save a NumPy array consisting of time in the first dimension and intensity in the second dimension (compare example data). Both time and intensity should also be NumPy arrays. If you e.g. have time and intensity of a singal as lists, you can use the following code to convert, format, and save them in the correct manner:
```
import numpy as np
from pathlib import Path

time_series = np.array([np.array(time), np.array(intensity)])
np.save(Path(r"example_path/time_series.npy"), time_series)
```
The naming convention of raw data files is `<acquisition name>_<precursor ion m/z or experiment number>_<product ion m/z start>_<product ion m/z end>.npy`. There should be no underscores within the named sections such as `acquisition name`. Essentially, the raw data names include the acquisition and mass trace, thus yielding a recognizable and unique name for each isotopomer/fragment/metabolite/sample.

## Model selection
When it comes to selecting models, PeakPerformance has a function performing an automated selection process by analyzing one acquisiton per mass trace with all implemented models. Subsequently, all models are ranked based on an information criterion (either pareto-smoothed importance sampling leave-one-out cross-validation or widely applicable information criterion). For this process to work as intended, you need to specify acquisitions with representative peaks for each mass trace (see example notebook 1). If e.g. most peaks of an analyte show a skewed shape, then select an acquisition where this is the case. For double peaks, select an acquision where the peaks are as distinct and comparable in height as possible.
Since model selection is a computationally demanding and time consuming process, it is suggested to state the model type as the user (see example notebook 1) if possible.

## Troubleshooting
### A batch run broke and I want to restart it.
If an error occured in the middle of a batch run, then you can use the `pipeline_restart` function in the `pipeline` module to create a new batch which will analyze only those samples, which have not been analyzed previously.

### The model parameters don't converge and/or the fit does not describe the raw data well.
Check the separate file `How to adapt PeakPerformance to you data`.

# How to contribute
If you encounter bugs while using PeakPerformance, please bring them to our attention by opening an issue. When doing so, describe the problem in detail and add screenshots/code snippets and whatever other helpful material you can provide.
When contributing code, create a local clone of PeakPerformance, create a new branch, and open a pull request (PR).

# How to cite
Will be updated once the paper has been released and a zenodo DOI has been created.

            

Raw data

            {
    "_id": null,
    "home_page": "",
    "name": "peak-performance",
    "maintainer": "",
    "docs_url": null,
    "requires_python": ">=3.9",
    "maintainer_email": "",
    "keywords": "hplc,mass-spectrometry,uncertainty quantification",
    "author": "",
    "author_email": "Jochen Nie\u00dfer <j.niesser@fz-juelich.de>, Michael Osthege <m.osthege@fz-juelich.de>",
    "download_url": "",
    "platform": null,
    "description": "[![PyPI version](https://img.shields.io/pypi/v/bletl)](https://pypi.org/project/peak-performance/)\n[![pipeline](https://github.com/jubiotech/bletl/workflows/pipeline/badge.svg)](https://github.com/JuBiotech/peak-performance/actions)\n[![coverage](https://codecov.io/gh/jubiotech/bletl/branch/main/graph/badge.svg)](https://app.codecov.io/gh/JuBiotech/peak-performance)\n\n# How to use PeakPerformance\nFor installation instructions, see `Installation.md`.\nFor instructions regarding the use of PeakPerformance, check out the example notebook(s) under `notebooks`, the complementary example data under `example`, and the following introductory explanations.\n\n## Preparing raw data\nThis step is crucial when using PeakPerformance. Raw data has to be supplied as time series meaning for each signal you want to analyze, save a NumPy array consisting of time in the first dimension and intensity in the second dimension (compare example data). Both time and intensity should also be NumPy arrays. If you e.g. have time and intensity of a singal as lists, you can use the following code to convert, format, and save them in the correct manner:\n```\nimport numpy as np\nfrom pathlib import Path\n\ntime_series = np.array([np.array(time), np.array(intensity)])\nnp.save(Path(r\"example_path/time_series.npy\"), time_series)\n```\nThe naming convention of raw data files is `<acquisition name>_<precursor ion m/z or experiment number>_<product ion m/z start>_<product ion m/z end>.npy`. There should be no underscores within the named sections such as `acquisition name`. Essentially, the raw data names include the acquisition and mass trace, thus yielding a recognizable and unique name for each isotopomer/fragment/metabolite/sample.\n\n## Model selection\nWhen it comes to selecting models, PeakPerformance has a function performing an automated selection process by analyzing one acquisiton per mass trace with all implemented models. Subsequently, all models are ranked based on an information criterion (either pareto-smoothed importance sampling leave-one-out cross-validation or widely applicable information criterion). For this process to work as intended, you need to specify acquisitions with representative peaks for each mass trace (see example notebook 1). If e.g. most peaks of an analyte show a skewed shape, then select an acquisition where this is the case. For double peaks, select an acquision where the peaks are as distinct and comparable in height as possible.\nSince model selection is a computationally demanding and time consuming process, it is suggested to state the model type as the user (see example notebook 1) if possible.\n\n## Troubleshooting\n### A batch run broke and I want to restart it.\nIf an error occured in the middle of a batch run, then you can use the `pipeline_restart` function in the `pipeline` module to create a new batch which will analyze only those samples, which have not been analyzed previously.\n\n### The model parameters don't converge and/or the fit does not describe the raw data well.\nCheck the separate file `How to adapt PeakPerformance to you data`.\n\n# How to contribute\nIf you encounter bugs while using PeakPerformance, please bring them to our attention by opening an issue. When doing so, describe the problem in detail and add screenshots/code snippets and whatever other helpful material you can provide.\nWhen contributing code, create a local clone of PeakPerformance, create a new branch, and open a pull request (PR).\n\n# How to cite\nWill be updated once the paper has been released and a zenodo DOI has been created.\n",
    "bugtrack_url": null,
    "license": "AGPLv3",
    "summary": "A Python toolbox to fit chromatography peaks with uncertainty.",
    "version": "0.6.4",
    "project_urls": {
        "documentation": "https://jugit.fz-juelich.de/IBG-1/micropro/peak-performance",
        "homepage": "https://jugit.fz-juelich.de/IBG-1/micropro/peak-performance",
        "repository": "https://jugit.fz-juelich.de/IBG-1/micropro/peak-performance"
    },
    "split_keywords": [
        "hplc",
        "mass-spectrometry",
        "uncertainty quantification"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "746f617db78d12173fbb48cee47617861d1abec693639478834b9bcd29e93c8f",
                "md5": "babfaa3748d16d18adc245e5762cb6c9",
                "sha256": "075baa9fd92badd87a9ee3804a55093fde3827bd4c6076d4e0cd574ba52ee3f0"
            },
            "downloads": -1,
            "filename": "peak_performance-0.6.4-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "babfaa3748d16d18adc245e5762cb6c9",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.9",
            "size": 42503,
            "upload_time": "2023-12-04T12:45:43",
            "upload_time_iso_8601": "2023-12-04T12:45:43.715692Z",
            "url": "https://files.pythonhosted.org/packages/74/6f/617db78d12173fbb48cee47617861d1abec693639478834b9bcd29e93c8f/peak_performance-0.6.4-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2023-12-04 12:45:43",
    "github": false,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "lcname": "peak-performance"
}
        
Elapsed time: 0.17774s