Skip to main content

Validate and convert SDRF files to configuration files for pipelines.

Project description

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

# 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.

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

sdrf_pipelines-0.1.2.tar.gz (36.6 MB view details)

Uploaded Source

Built Distribution

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

sdrf_pipelines-0.1.2-py3-none-any.whl (569.0 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: sdrf_pipelines-0.1.2.tar.gz
  • Upload date:
  • Size: 36.6 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.1 {"installer":{"name":"uv","version":"0.11.1","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for sdrf_pipelines-0.1.2.tar.gz
Algorithm Hash digest
SHA256 3d2a314d434f722ec3ede2f91c7cae1a3226c9bb6a2aad349c56ea6cd1128a72
MD5 a12ec8cec5149aaf76e96b620059ec87
BLAKE2b-256 fee77db8cc76179ed88915a74bbdfe56f332c4c5ae34e97ccdcade4b80afcb66

See more details on using hashes here.

File details

Details for the file sdrf_pipelines-0.1.2-py3-none-any.whl.

File metadata

  • Download URL: sdrf_pipelines-0.1.2-py3-none-any.whl
  • Upload date:
  • Size: 569.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.1 {"installer":{"name":"uv","version":"0.11.1","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for sdrf_pipelines-0.1.2-py3-none-any.whl
Algorithm Hash digest
SHA256 8c9b6197dae0f840cc5333c0edc7bbe5f65ca41baaa4dca153ab1ed4c6a84ef2
MD5 4669dfd591761aab52e7b267ba2c8d27
BLAKE2b-256 9285cdac27f37f1c7a3cde0da63c668fb0f6cd04d3eca156a69e646753767064

See more details on using hashes here.

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