Skip to main content

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.

Documentation

API reference (HTML and PDF) is attached to each GitHub Release. Download and open in a browser:

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 Conda environment using the config.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

To run the script

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.
  • Remove 3 proejct ipynb

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

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.2.tar.gz (67.3 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.2-py3-none-any.whl (69.4 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: kardemumma-0.1.2.tar.gz
  • Upload date:
  • Size: 67.3 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.2.tar.gz
Algorithm Hash digest
SHA256 66185ff97c5b759ce206a9fec94e8b61496dd992da3990a660d71c84147c760c
MD5 9924e3a7b0960e1e26bce7f7545820d4
BLAKE2b-256 16a263020cc85ddf1cab9062100caf5369dcbcf42e1a2550561ef2c3b9b36e9c

See more details on using hashes here.

Provenance

The following attestation bundles were made for kardemumma-0.1.2.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.2-py3-none-any.whl.

File metadata

  • Download URL: kardemumma-0.1.2-py3-none-any.whl
  • Upload date:
  • Size: 69.4 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.2-py3-none-any.whl
Algorithm Hash digest
SHA256 f5f045a285edf7dbd5961c1ae4dfaac54bdaba1e97365ec2480aeacb276f3b63
MD5 740564353634040ea152026e8a94fdc2
BLAKE2b-256 7d7b55fbb935cb412911b86d06bbc090c4b4cfeab3a0f2ca47c1e6c474e5abd9

See more details on using hashes here.

Provenance

The following attestation bundles were made for kardemumma-0.1.2-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.

Release history Release notifications | RSS feed

This release

0.1.2 This release

2 files

0.1.1

2 files

0.1.0

2 files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page