Skip to content

`sdrf-pipelines` is the official SDRF file validator and converts SDRF to pipeline configuration files

License

Notifications You must be signed in to change notification settings

bigbio/sdrf-pipelines

Repository files navigation

sdrf-pipelines

PyPI version PyPI - Downloads CI Codacy Badge

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

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.

About

`sdrf-pipelines` is the official SDRF file validator and converts SDRF to pipeline configuration files

Topics

Resources

License

Contributing

Stars

Watchers

Forks

Packages

No packages published

Contributors 19

Languages