sdrf-pipelines
March 11, 2026 · View on GitHub
The official SDRF-Proteomics validator and converter. Validate your sample metadata files and convert them to workflow configurations for OpenMS, MaxQuant, MSstats, and more.
Quick Start with sdrf as a command/line tool
Install python and pipx or just uv
uv:
# Install
uv tool install sdrf-pipelines[all]
# Validate your SDRF file
parse_sdrf validate-sdrf --sdrf_file your_file.sdrf.tsv
pipx:
# Install
pipx install sdrf-pipelines[all]
# Validate your SDRF file
parse_sdrf validate-sdrf --sdrf_file your_file.sdrf.tsv
That's it! Your SDRF file will be validated against the default mass spectrometry template.
Installation
| Installation | Command | Features |
|---|---|---|
| Basic | pip install sdrf-pipelines | Structural validation + all converters |
| Full | pip install sdrf-pipelines[ontology] | + Ontology term validation (EFO, CL, MS, etc.) |
The basic installation validates column structure, formatting, and uniqueness. Add [ontology] to also validate that terms exist in their respective ontologies.
Usage
For detailed command documentation, see COMMANDS.md or use the built-in help:
parse_sdrf --help
parse_sdrf validate-sdrf --help
Validation Examples
# Basic validation
parse_sdrf validate-sdrf --sdrf_file sample.sdrf.tsv
# Validate with a specific template
parse_sdrf validate-sdrf --sdrf_file sample.sdrf.tsv --template human
# Skip ontology validation for quick structural checks
parse_sdrf validate-sdrf --sdrf_file sample.sdrf.tsv --skip-ontology
Converter Examples
# Convert to OpenMS format
parse_sdrf convert-openms -s sdrf.tsv
# Convert to MaxQuant format
parse_sdrf convert-maxquant -s sdrf.tsv -f database.fasta -r /path/to/raw/files
# Convert to MSstats annotation
parse_sdrf convert-msstats -s sdrf.tsv -o annotation.csv
# Convert to MHCquant format (samplesheet + search presets)
parse_sdrf convert-mhcquant -s sdrf.tsv -os samplesheet.tsv -op presets.tsv
Development
We use modern Python tooling for development:
Package Manager: uv
We use uv as our package manager for fast, reliable dependency management.
# Install uv (if not already installed)
curl -LsSf https://astral.sh/uv/install.sh | sh
# Create virtual environment and install dependencies
uv sync
# Install with dev dependencies
uv sync --group dev
Code Quality: ruff + pre-commit
We use ruff for linting and formatting, and pre-commit for automated checks.
# Install pre-commit hooks
uv run pre-commit install
# Run all checks manually
uv run pre-commit run --all-files
Running Tests
uv run pytest
For more details, see CONTRIBUTING.md.
Citation
If you use this software, please cite:
Dai C, Füllgrabe A, Pfeuffer J, et al. A proteomics sample metadata representation for multiomics integration and big data analysis. Nat Commun 12, 5854 (2021). https://doi.org/10.1038/s41467-021-26111-3
For full citation details and BibTeX format, see CITATION.cff.