Skip to main content

Key Analysis of Reproducible Data for Efficient Monitoring in Unified Mass Spectrometry Methods and Assays

Project description

KARDEMUMMA

KARDEMUMMA stands for Key Analysis of Reproducible Data for Efficient Monitoring in Unified Mass Spectrometry Methods and Assays.

This repository contains the Python package for processing and quality-checking targeted mass spectrometry outputs (for example Skyline/OpenSWATH-style exports). The tool is built based on targeted proteomics assay at KTH Royal intitute of technology and Science for Life Laboratory (SciLifeLab), Sweden. The aim of this tool is to provide a simplified analysis pipeline of plasma proteomics as well as bridging research and clinical applications.

The repository name has now been updated from skyline_qc to kardemumma throughout the project.

Installation

You can install the dependencies and set up the environment using Conda:

  1. Clone the repository:

    git clone https://github.com/thanadol-git/kardemumma.git
    cd kardemumma
    
  2. Create the environment using the provided environment.yml file:

    conda env create -f environment.yml -p ./env
    

    Alternatively, if you want to use a unique environment name:

    conda env create -f environment.yml -n kardemumma
    
  3. Activate the environment:

    conda activate ./env
    

    or, if you used an environment name:

    conda activate kardemumma
    
  4. Install the package in editable mode:

    pip install -e .
    

Available pipelines

  • SDRF generation for plasma proteomics
  • Targeted PRM with ProteomEdge AB
  • Targeted SRM

Requirement

Notes

  • All required dependencies will be installed via Conda and pip as specified in environment.yml.
  • Python 3.10 is recommended.
  • For pip installs, make sure you have internet access.

To Dos

Phase 1 — Python Package & PyPI Release (Version 0.x.x)

1. Code & API clean-up

  • -1. Move plot functions from DA4K notebook to prm.py and expose via kdm.* (map_peptide_sequence, plot_peptide_concentration_by_group, plot_median_peptide_concentration_by_group, plot_all_median_peptide_concentration_by_group, plot_all_peptide_concentration_by_group)
  • 0. Remove 3 under-QC samples from analysis
  • 1. Check with Yasset on how to set up targeted SDRF
  • 2. Integrate prm-slider to work with transition levels
  • 3. Work on SRM support (sdrf.py + new srm.py module)
  • 4. Combine output layer with OpenMS formats
  • 5. Audit all public functions — consistent naming, type hints, docstrings
  • 6. Ensure __init__.py exports a clean, stable public API
  • Create landing logo and banners.

2. Package metadata & build

  • 7. Update pyproject.toml: add missing pyteomics dependency, bump version, add classifiers (python_requires, install_requires) ✔️ (done)
  • 8. Add CHANGELOG.md with initial release notes (included in release & GitHub Action)
  • 9. Add LICENSE file (MIT)
  • 10. Verify pip install -e . builds cleanly in a fresh environment
  • 11. Build distribution: python -m build → inspect dist/

3. Testing & CI

  • 12. Add unit tests with pytest for core modules (prm.py, sdrf.py)
  • 13. Add a GitHub Actions workflow (.github/workflows/release.yml) for releases (tests run on push/tag)
  • 14. Add a release workflow that publishes docs on version tag push (.github/workflows/release_docs.yml); PyPI publish pending

4. PyPI release

  • 15. Register package name on PyPI (check availability of kardemumma)
  • 16. Create API token on PyPI and store as PYPI_API_TOKEN GitHub secret
  • 17. Publish first release: python -m twine upload dist/* (or via GitHub Actions)
  • 18. Verify: pip install kardemumma works from PyPI

Phase 2 — Nextflow Pipeline (Version 2.x.x)

5. Pipeline design

  • 19. Define end-to-end workflow: raw input → SDRF validation → OpenSWATH/Skyline export → PRM QC → ratio/DA output
  • 20. Sketch module boundaries as Nextflow process blocks (one process per major step)
  • 21. Decide on container strategy: Docker images (or Singularity) per process, each with kardemumma installed from PyPI

6. Implementation

  • 22. Scaffold repository structure: nextflow/, modules/, conf/, assets/
  • 23. Write a main.nf entry workflow with configurable params (--input, --outdir, --mode prm|srm)
  • 24. Implement individual processes wrapping kardemumma CLI calls or Python scripts
  • 25. Add nextflow.config with profiles: standard (local), cluster (SLURM/HPC at SciLifeLab), cloud
  • 26. Pin kardemumma version in each container/environment to match tested PyPI release

7. Testing & docs

  • 27. Add small test dataset (synthetic or anonymised) to tests/ for end-to-end pipeline testing
  • 28. Add nf-test or a simple CI job that runs the pipeline on the test dataset
  • 29. Write pipeline usage docs in docs/pipeline.md (input format, params, outputs)
  • 30. Consider submission to nf-core once pipeline is stable

Issues

  • iRT peptides: why do they contain Biognosys sequences?
  • Oxidation
  • Stats for PEP

Key developers

  • Thanadol Sutantiwanichkul
  • Justin Sing
  • Yuqi Zheng
  • Khue Hua Tran Minh
  • Maria-Jesus Iglesias Mareque
  • Fredrik Edfors

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

kardemumma-0.1.1.tar.gz (52.1 kB view details)

Uploaded Source

Built Distribution

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

kardemumma-0.1.1-py3-none-any.whl (53.3 kB view details)

Uploaded Python 3

File details

Details for the file kardemumma-0.1.1.tar.gz.

File metadata

  • Download URL: kardemumma-0.1.1.tar.gz
  • Upload date:
  • Size: 52.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for kardemumma-0.1.1.tar.gz
Algorithm Hash digest
SHA256 71dee0bd0e52f9131935d94a314994418346b147ac47fca20fc3f00556dacc1e
MD5 f29e8cace5c338a2e866eebace32f06c
BLAKE2b-256 71f6f09c44887efa8c0d6af069c2ad6b9bda2b95472cb77df5f5bcffc9e7c7f4

See more details on using hashes here.

Provenance

The following attestation bundles were made for kardemumma-0.1.1.tar.gz:

Publisher: release.yml on thanadol-git/kardemumma

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

File details

Details for the file kardemumma-0.1.1-py3-none-any.whl.

File metadata

  • Download URL: kardemumma-0.1.1-py3-none-any.whl
  • Upload date:
  • Size: 53.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for kardemumma-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 90c1ee93d0e837e0ffac5137d70334c2559e37d544a0e4ccbbebc4882ab65812
MD5 be4cc5ba38f616f22b20aeed86df08ba
BLAKE2b-256 7b44ea43f86d7e8eea14f6256e64170915ca09bc32a0d42250f71f40f73f3538

See more details on using hashes here.

Provenance

The following attestation bundles were made for kardemumma-0.1.1-py3-none-any.whl:

Publisher: release.yml on thanadol-git/kardemumma

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