Metadata-Version: 2.4
Name: pyprophet
Version: 3.0.5
Summary: PyProphet: Semi-supervised learning and scoring of OpenSWATH results.
Author-email: The PyProphet Developers <rocksportrocker@gmail.com>
License: BSD
Keywords: bioinformatics,OpenSWATH,mass spectrometry
Classifier: Development Status :: 3 - Alpha
Classifier: Environment :: Console
Classifier: Intended Audience :: Science/Research
Classifier: License :: OSI Approved :: BSD License
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Topic :: Scientific/Engineering :: Bio-Informatics
Classifier: Topic :: Scientific/Engineering :: Chemistry
Requires-Python: <=3.13,>=3.9
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: Click
Requires-Dist: loguru
Requires-Dist: duckdb
Requires-Dist: duckdb-extensions
Requires-Dist: duckdb-extension-sqlite-scanner
Requires-Dist: numpy>=1.26.4
Requires-Dist: scipy
Requires-Dist: pandas>=2.0
Requires-Dist: polars>=1.28.1
Requires-Dist: cython
Requires-Dist: scikit-learn>=1.5
Requires-Dist: xgboost-cpu>=2.1.4
Requires-Dist: matplotlib
Requires-Dist: pypdf
Requires-Dist: psutil
Requires-Dist: pyopenms
Requires-Dist: lxml
Requires-Dist: packaging
Provides-Extra: testing
Requires-Dist: pytest; extra == "testing"
Requires-Dist: pytest-regtest; extra == "testing"
Requires-Dist: pytest-xdist; extra == "testing"
Provides-Extra: docs
Requires-Dist: sphinx; extra == "docs"
Requires-Dist: sphinx-copybutton; extra == "docs"
Requires-Dist: sphinx_rtd_theme; extra == "docs"
Requires-Dist: pydata_sphinx_theme; extra == "docs"
Requires-Dist: sphinx-click; extra == "docs"
Provides-Extra: dev
Requires-Dist: pyprophet[testing]; extra == "dev"
Requires-Dist: pyprophet[docs]; extra == "dev"
Requires-Dist: black; extra == "dev"
Requires-Dist: ruff; extra == "dev"
Requires-Dist: mypy; extra == "dev"
Provides-Extra: parquet
Requires-Dist: pyarrow; extra == "parquet"
Dynamic: license-file

<div align="center">
    <img src="https://github.com/PyProphet/pyprophet/blob/master/assets/PyProphet_Logo.png" alt="PyProphet" width="300"/>
</div>

<!-- PyProphet
========= -->

<!-- [![Build Status](https://travis-ci.org/PyProphet/pyprophet.svg?branch=master)](https://travis-ci.org/PyProphet/pyprophet)  -->
[![continuous-integration](https://github.com/PyProphet/pyprophet/actions/workflows/ci.yml/badge.svg?branch=master)](https://github.com/PyProphet/pyprophet/actions/workflows/ci.yml)
[![Test Package Build](https://github.com/PyProphet/pyprophet/actions/workflows/test-build.yml/badge.svg)](https://github.com/PyProphet/pyprophet/actions/workflows/test-build.yml)
[![Build and Release](https://github.com/PyProphet/pyprophet/actions/workflows/build-release.yml/badge.svg)](https://github.com/PyProphet/pyprophet/actions/workflows/build-release.yml)
[![Project Stats](https://www.openhub.net/p/PyProphet/widgets/project_thin_badge.gif)](https://www.openhub.net/p/PyProphet)
![PyPI - Python Version](https://img.shields.io/pypi/pyversions/pyprophet)
[![PyPI - Version](https://img.shields.io/pypi/v/pyprophet)](https://pypi.org/project/pyprophet/)
[![Docker Image Version](https://img.shields.io/docker/v/pyprophet/pyprophet?label=Docker)](https://hub.docker.com/r/pyprophet/pyprophet)
[![Read the Docs (version)](https://img.shields.io/readthedocs/pyprophet/latest)](https://pyprophet.readthedocs.io/en/latest/index.html)


PyProphet: Semi-supervised learning and scoring of OpenSWATH results.

PyProphet is a Python re-implementation of the mProphet algorithm [1] optimized for SWATH-MS data acquired by data-independent acquisition (DIA). The algorithm was originally published in [2] and has since been extended to support new data types and analysis modes [3,4].

Please consult the [OpenSWATH website](http://openswath.org) for usage instructions and help.

Installation
============

### Option 1: Python Package Index (PyPI)

Install the stable version of *pyprophet* from the PyPI:

````
    $ pip install pyprophet
````

### Option 2: Pre-built Executables (No Python Required)

Download from [GitHub Releases](https://github.com/pyprophet/pyprophet/releases):
- Linux: [![Ubuntu Installer](https://img.shields.io/badge/Install-Ubuntu-purple)](https://github.com/PyProphet/pyprophet/releases/download/v3.0.4/pyprophet-linux-x86_64-deb.zip)
- Windows: [![Windows Installer](https://img.shields.io/badge/Install-Windows-blue)](https://github.com/PyProphet/pyprophet/releases/download/v3.0.4/pyprophet-windows-x86_64-installer.zip)  
- macOS Intel: [![MacOS Intel Installer](https://img.shields.io/badge/Install-macOS_Intel-white)](https://github.com/PyProphet/pyprophet/releases/download/v3.0.4/pyprophet-macos-x86_64-dmg.zip)
- macOS Apple Silicon: [![MacOS Apple Silicon Installer](https://img.shields.io/badge/Install-macOS_Apple_Silicon-white)](https://github.com/PyProphet/pyprophet/releases/download/v3.0.4/pyprophet-macos-arm64-dmg.zip)

### Option 3: From Source

We strongly advise to install PyProphet in a Python [*virtualenv*](https://virtualenv.pypa.io/en/stable/). PyProphet is compatible with Python 3.

Install the development version of *pyprophet* from GitHub:

````
    $ git clone https://github.com/pyprophet/pyprophet.git
    $ cd pyprophet  
    $ pip install . 
````

or 

```
    $ pip install git+https://github.com/PyProphet/pyprophet.git@master
```

### Option 4: Docker 

PyProphet is also available from Docker (automated builds):

Pull the latest version of *pyprophet* from DockerHub or Github Container Registry (synced with releases):

````
    # Dockerhub
    $ docker pull pyprophet/pyprophet:latest

    # Github Container Registry
    $ docker pull ghcr.io/pyprophet/pyprophet:latest
````

Running pyprophet
=================

*pyprophet* is not only a Python package, but also a command line tool:

````
   $ pyprophet --help
````

or:

````
   $ pyprophet score --in=tests/test_data.txt
````

Documentation
=============

API and CLI documentation is available on [Read the Docs](https://pyprophet.readthedocs.io/en/latest/index.html).

Running tests
=============

The *pyprophet* tests are best executed using `py.test` and the `pytest-regtest` plugin:

````
    $ pip install pytest
    $ pip install pytest-regtest
    $ py.test -n auto ./tests
````

References
==========

1. Reiter L, Rinner O, Picotti P, Hüttenhain R, Beck M, Brusniak MY, Hengartner MO, Aebersold R.
*mProphet: automated data processing and statistical validation for large-scale
SRM experiments.* **Nat Methods.** 2011 May;8(5):430-5. [doi:
10.1038/nmeth.1584.](http://dx.doi.org/10.1038/nmeth.1584) Epub 2011 Mar 20.

1. Teleman J, Röst HL, Rosenberger G, Schmitt U, Malmström L, Malmström J, Levander F.
*DIANA--algorithmic improvements for analysis of data-independent acquisition MS data.* **Bioinformatics.** 2015 Feb 15;31(4):555-62. [doi: 10.1093/bioinformatics/btu686.](http://dx.doi.org/10.1093/bioinformatics/btu686) Epub 2014 Oct 27.

1. Rosenberger G, Liu Y, Röst HL, Ludwig C, Buil A, Bensimon A, Soste M, Spector TD, Dermitzakis ET, Collins BC, Malmström L, Aebersold R. *Inference and quantification of peptidoforms in large sample cohorts by SWATH-MS.* **Nat Biotechnol** 2017 Aug;35(8):781-788. [doi: 10.1038/nbt.3908.](http://dx.doi.org/10.1038/nbt.3908) Epub 2017 Jun 12.

2. Rosenberger G, Bludau I, Schmitt U, Heusel M, Hunter CL, Liu Y, MacCoss MJ, MacLean BX, Nesvizhskii AI, Pedrioli PGA, Reiter L, Röst HL, Tate S, Ting YS, Collins BC, Aebersold R.
*Statistical control of peptide and protein error rates in large-scale targeted data-independent acquisition analyses.* **Nat Methods.** 2017 Sep;14(9):921-927. [doi: 10.1038/nmeth.4398.](http://dx.doi.org/10.1038/nmeth.4398) Epub 2017 Aug 21. 
