Skip to main content

Score calibration and false discovery estimation for de novo peptide sequencing.

Project description

Python 3.9+ Ruff pre-commit


Winnow

Confidence calibration and FDR control for de novo peptide sequencing
Explore the docs »

Report Bug · Request Feature

Table of Contents
  1. About The Project
  2. Installation
  3. Usage
  4. Contributing
Winnow Workflow

Winnow workflow for confidence calibration and FDR control in de novo peptide sequencing

About The Project

In bottom-up proteomics workflows, peptide sequencing—matching an MS2 spectrum to a peptide—is just the first step. The resulting peptide-spectrum matches (PSMs) often contain many incorrect identifications, which can negatively impact downstream tasks like protein assembly.

To mitigate this, intermediate steps are introduced to:

  1. Assign confidence scores to PSMs that better correlate with correctness.
  2. Estimate and control the false discovery rate (FDR) by filtering identifications based on confidence scores.

For database search-based peptide sequencing, PSM rescoring and target-decoy competition (TDC) are standard approaches, supported by an extensive ecosystem of tools. However, de novo peptide sequencing lacks standardized methods for these tasks.

winnow aims to fill this gap by implementing the calibrate-estimate framework for FDR estimation. Unlike TDC, this approach is directly applicable to de novo sequencing models. Additionally, its calibration step naturally incorporates common confidence rescoring workflows as part of FDR estimation.

winnow provides both a CLI and a Python package, offering flexibility in performing confidence calibration and FDR estimation.

(back to top)

Installation

winnow is available as a Python package and can be installed using pip or a pip-compatible command (e.g., uv pip install):

pip install winnow_fdr

or

uv pip install winnow_fdr

(back to top)

Usage

winnow supports two usage modes:

  1. A command-line interface (CLI) with sensible defaults and multiple FDR estimation methods.
  2. A configurable and extensible Python package for advanced users.

CLI

Installing winnow provides the winnow command with two sub-commands:

  1. winnow train – Performs confidence calibration on a dataset of annotated PSMs, outputting the fitted model checkpoint.
  2. winnow predict – Performs confidence calibration using a fitted model checkpoint, estimates and controls FDR using the calibrated confidence scores.

Refer to the documentation for details on command-line arguments and usage examples.

Package

The winnow package is organized into three sub-modules:

  1. winnow.datasets – Handles data loading and saving, including the CalibrationDataset class for mapping peptide sequencing output formats.
  2. winnow.calibration – Implements confidence calibration. Key components include:
    • ProbabilityCalibrator (defines the calibration model)
    • CalibrationFeature (an extensible interface for defining calibration features)
  3. winnow.fdr – Implements FDR estimation methods:
    • DatabaseGroundedFDRControl (for database-grounded FDR control)
    • NonParametricFDRControl (uses a non-parametric and label-free method for FDR estimation)

For an example, check out the example notebook.

(back to top)

Contributing

Contributions are what make the open-source community such an amazing place to learn, inspire and create, and we welcome your support! Any contributions you make are greatly appreciated.

If you have ideas for enhancements, you can:

  • Fork the repository and submit a pull request.
  • Open an issue and tag it with "enhancement".

Contribution Process

  1. Fork the repository.
  2. Create a feature branch (git checkout -b feature/AmazingFeature).
  3. Commit your changes (git commit -m 'Add some AmazingFeature').
  4. Push to your branch (git push origin feature/AmazingFeature).

Don't forget to give the project a star! Thanks again! :star:

(back to top)

BibTeX entry and citation info

If you use winnow in your research, please cite the following preprint:

@article{mabona2025novopeptidesequencingrescoring,
      title={De novo peptide sequencing rescoring and FDR estimation with Winnow},
      author={Amandla Mabona and Jemma Daniel and Henrik Servais Janssen Knudsen and Rachel Catzel
      and Kevin Michael Eloff and Erwin M. Schoof and Nicolas Lopez Carranza and Timothy P. Jenkins
      and Jeroen Van Goey and Konstantinos Kalogeropoulos},
      year={2025},
      eprint={2509.24952},
      archivePrefix={arXiv},
      primaryClass={q-bio.QM},
      url={https://arxiv.org/abs/2509.24952},
}

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

winnow_fdr-1.0.0.tar.gz (35.7 kB view details)

Uploaded Source

Built Distribution

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

winnow_fdr-1.0.0-py3-none-any.whl (38.1 kB view details)

Uploaded Python 3

File details

Details for the file winnow_fdr-1.0.0.tar.gz.

File metadata

  • Download URL: winnow_fdr-1.0.0.tar.gz
  • Upload date:
  • Size: 35.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for winnow_fdr-1.0.0.tar.gz
Algorithm Hash digest
SHA256 108abacb7e45f92c7ca3134b1e505aa7abc90606993e122b01c41bfe815b7a1e
MD5 c45e5abcfe537b1ae6db9e37c2cf4a2a
BLAKE2b-256 0c8d5941bc01e01a7443a0720adfe764542ebe79acee122c2add8747531621f2

See more details on using hashes here.

Provenance

The following attestation bundles were made for winnow_fdr-1.0.0.tar.gz:

Publisher: publish.yml on instadeepai/winnow

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file winnow_fdr-1.0.0-py3-none-any.whl.

File metadata

  • Download URL: winnow_fdr-1.0.0-py3-none-any.whl
  • Upload date:
  • Size: 38.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for winnow_fdr-1.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 12fc5afd0180032158dc117dd6191a95c00bc23b4bd8f995af4fda7b6e71bbcb
MD5 06bfb2a14f8b1db4933df95a45516d4a
BLAKE2b-256 1f362a5b9703241e470dd4367d23ca2f235cf45612e562cc23d2ea471252612e

See more details on using hashes here.

Provenance

The following attestation bundles were made for winnow_fdr-1.0.0-py3-none-any.whl:

Publisher: publish.yml on instadeepai/winnow

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

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