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_qctokardemummathroughout the project.
Installation
You can install the dependencies and set up the environment using Conda:
-
Clone the repository:
git clone https://github.com/thanadol-git/kardemumma.git cd kardemumma
-
Create the environment using the provided
environment.ymlfile: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
-
Activate the environment:
conda activate ./env
or, if you used an environment name:
conda activate kardemumma
-
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.pyand expose viakdm.*(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-sliderto work with transition levels - 3. Work on SRM support (
sdrf.py+ newsrm.pymodule) - 4. Combine output layer with OpenMS formats
- 5. Audit all public functions — consistent naming, type hints, docstrings
- 6. Ensure
__init__.pyexports a clean, stable public API - Create landing logo and banners.
2. Package metadata & build
- 7. Update
pyproject.toml: add missingpyteomicsdependency, bump version, add classifiers (python_requires,install_requires) ✔️ (done) - 8. Add
CHANGELOG.mdwith initial release notes (included in release & GitHub Action) - 9. Add
LICENSEfile (MIT) - 10. Verify
pip install -e .builds cleanly in a fresh environment - 11. Build distribution:
python -m build→ inspectdist/
3. Testing & CI
- 12. Add unit tests with
pytestfor 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_TOKENGitHub secret - 17. Publish first release:
python -m twine upload dist/*(or via GitHub Actions) - 18. Verify:
pip install kardemummaworks 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
processblocks (one process per major step) - 21. Decide on container strategy: Docker images (or Singularity) per process, each with
kardemummainstalled from PyPI
6. Implementation
- 22. Scaffold repository structure:
nextflow/,modules/,conf/,assets/ - 23. Write a
main.nfentry workflow with configurable params (--input,--outdir,--mode prm|srm) - 24. Implement individual processes wrapping
kardemummaCLI calls or Python scripts - 25. Add
nextflow.configwith profiles:standard(local),cluster(SLURM/HPC at SciLifeLab),cloud - 26. Pin
kardemummaversion 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-testor 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
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
71dee0bd0e52f9131935d94a314994418346b147ac47fca20fc3f00556dacc1e
|
|
| MD5 |
f29e8cace5c338a2e866eebace32f06c
|
|
| BLAKE2b-256 |
71f6f09c44887efa8c0d6af069c2ad6b9bda2b95472cb77df5f5bcffc9e7c7f4
|
Provenance
The following attestation bundles were made for kardemumma-0.1.1.tar.gz:
Publisher:
release.yml on thanadol-git/kardemumma
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
kardemumma-0.1.1.tar.gz -
Subject digest:
71dee0bd0e52f9131935d94a314994418346b147ac47fca20fc3f00556dacc1e - Sigstore transparency entry: 2009880261
- Sigstore integration time:
-
Permalink:
thanadol-git/kardemumma@31010ded60e5409aab8d414167a2af7b9af3527e -
Branch / Tag:
refs/tags/0.1.1 - Owner: https://github.com/thanadol-git
-
Access:
private
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@31010ded60e5409aab8d414167a2af7b9af3527e -
Trigger Event:
push
-
Statement type:
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
90c1ee93d0e837e0ffac5137d70334c2559e37d544a0e4ccbbebc4882ab65812
|
|
| MD5 |
be4cc5ba38f616f22b20aeed86df08ba
|
|
| BLAKE2b-256 |
7b44ea43f86d7e8eea14f6256e64170915ca09bc32a0d42250f71f40f73f3538
|
Provenance
The following attestation bundles were made for kardemumma-0.1.1-py3-none-any.whl:
Publisher:
release.yml on thanadol-git/kardemumma
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
kardemumma-0.1.1-py3-none-any.whl -
Subject digest:
90c1ee93d0e837e0ffac5137d70334c2559e37d544a0e4ccbbebc4882ab65812 - Sigstore transparency entry: 2009880343
- Sigstore integration time:
-
Permalink:
thanadol-git/kardemumma@31010ded60e5409aab8d414167a2af7b9af3527e -
Branch / Tag:
refs/tags/0.1.1 - Owner: https://github.com/thanadol-git
-
Access:
private
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@31010ded60e5409aab8d414167a2af7b9af3527e -
Trigger Event:
push
-
Statement type: