Proffer is fast and flexible tool for protein inference in bottom-up proteomics experiments.
This library requires Python 3.10+ and can be installed with pip:
pip install profferAfter installation, you can run the proffer CLI tool:
proffer data/percolator.txt --format tsvYou can also load results directly from any URI supported by fsspec:
# HTTP(S)
proffer https://github.com/seerbio/proffer/raw/refs/heads/main/data/percolator.txt --format tsv
# S3
pip install proffer[s3] # ensure libraries for S3 support are installed
proffer s3://bucket/key/results.parquet --format parquetBasic support is included for thresholding peptide identifications before inference:
proffer data/percolator.txt --format tsv --qvalue-threshold 0.01By default output is written in JSON format to stdout.
Alternatively, the -o flag can be used to write results to Parquet:
proffer data/percolator.txt --output proffer-results.parquetIt is possible to configure the column names used, as well as the approach used to pick protein groups. To learn more about the available options you can run:
proffer --helpTo use Proffer in your Python code, call proffer.infer with a Polars DataFrame:
import proffer
result_frame = proffer.infer(polars_frame)It is possible to configure the column names used, as well as the approach used to pick protein groups. To learn more about the available options you can run:
help(proffer.infer)Utilities for working with Spark-based datasets can be found in proffer.spark.
These use interfaces from wheely-mammoth
(compatible with Fulcrum Pipeline™) to efficiently read peptide and protein
information and compute inference.
For typical use cases, it will be easiest to employ a pre-built Fulcrum workflow that uses Proffer for inference, rather than call these utilities directly.
By default, installing Proffer will not install Spark dependencies; to use Proffer in an environment where these are not already installed, run:
pip install 'proffer[spark]'