Skip to main content

FragPipe Limited-Proteolysis Processor (FLiPPR) is modular, fast, and easy-to-use data processing tool for LiP-MS & LFQ-based experiments analyzed in FragPipe

Project description

FLiPPR Logo

Table of Contents

Overview

FLiPPR (FragPipe Limited-Proteolysis Processor) is modular, fast, and easy-to-use data processing tool for LiP-MS & LFQ-based experiments analyzed in FragPipe.

FLiPPR is:

  • Super Fast: FLiPPR utilizes Polars in the back-end to ensure all CPU cores contribute to your data processing.
  • Convinent to Use: FragPipe produces standarized outputs, FLiPPR takes full advantage of this feat and integrates seemlessly with any FragPipe LFQ-MBR anaylsis.
  • Flexible and Expandable: Experiments introduce unique and novel variables, FLiPPR ensures capatibility with all experimental setups and gives you full control of the data processing pipeline.

Support

FLiPPR has been tested with Python 3.10 – 3.12 To learn more about how FLiPPR can help you analyze your LiP-MS or LFQ data, head over to the FLiPPR docs

Installation

To get started with FLiPPR, follow these steps:

    # 1. Clone the repository:
    git clone https://https://github.com/FriedLabJHU/FragPipe-Limited-Proteolysis-Processor.git
    
    # 2. Navigate to the project directory:
    cd FragPipe-Limited-Proteolysis-Processor
    
    # 3. Install FLiPPR:
    python -m pip install .

Usage

  1. Start a Study
import flippr as fp
from flippr import Study

# Pass the FragPipe output directory path from your LiP-MS experiment
study = Study(lip = "path/to/lip")

# Include protein normalization factors from a Trypsin-only experiment
study = Study(lip = "path/to/lip", trp = "path/to/trp")

# Including the protein FASTA file will add metadata and remove contaminants
study = Study(lip = "path/to/lip", trp = "path/to/trp", fasta = "UP000000625_83333.fasta")
  1. View the experimental sample annotations
print(study.samples)
# >>> { 'LiP': {'Native', 'Refolded_001_min', 'Refolded_005_min', 'Refolded_120_min'}, 'TrP': {'Refolded', 'Native'}}
  1. Add an experimental process
# Process without normalization
study.add_process(1, "Native", "Refolded_001_min", 3)

# Process with normalizations (only when `trp` is included in the study)
study.add_process(5, "Native", "Refolded_005_min", 3, "Native", "Refolded", 3)

# Multiple processes within one study
study.add_process(1, "Native", "Refolded_001_min", 3, "Native", "Refolded", 3)
study.add_process(5, "Native", "Refolded_005_min", 3, "Native", "Refolded", 3)
study.add_process(120, "Native", "Refolded_120_min", 3, "Native", "Refolded", 3)
  1. Run your study
# Running a study returns results and populates the `Study().results` dictionary
results = study.run()
# >>> {1: <flippr.Results>, 5: <flippr.Results>, 120: <flippr.Results>}

# Change analysis parameters within `fp.rcParams` before running for more control
fp.rcParams["protein.fc_sig_thresh"] = 2.0
results = study.run()
  1. View or save your results as Polars DataFrames
# 1 min time point results
results_1_min = results[1]

# View all ions included in the 1 min experimental process
results_1_min.ion

# View higher-order results
results_1_min.modified_peptide
results_1_min.peptide
results_1_min.cut_site

# View protein-level summary of all data
results_1_min.protein_summary
Protein ID Protein Entry Name Gene ... No. of Valid Cut Sites No. of Significant Cut Sites No. of Significant Cut Sites
P00350 sp|P00350|6PGD_ECOLI 6PGD_ECOLI gnd ... 111 40 50
P00363 sp|P00363|FRDA_ECOLI FRDA_ECOLI frdA ... 15 2 2
Q57261 sp|Q57261|TRUD_ECOLI TRUD_ECOLI truD ... 24 7 8
Q59385 sp|Q59385|COPA_ECOLI COPA_ECOLI copA ... 13 2 1
Q7DFV3 sp|Q7DFV3|YMGG_ECOLI YMGG_ECOLI ymgG ... 4 2 4
Q93K97 sp|Q93K97|ADPP_ECOLI ADPP_ECOLI nudF ... 9 4 5

License

This project is licensed under the CC BY-NC-ND 4.0 License. Feel free to use the code according to the terms specified in the license. This project is licensed under the CC BY-NC-ND 4.0 License. Feel free to use the code according to the terms specified in the license.

Thank you for your interest in FLiPPR! If you encounter any issues or have suggestions, please open an issue. We appreciate your feedback!

Citation

If you found this work helpful in your research, please cite us!

FLiPPR: A Processor for Limited Proteolysis (LiP) Mass Spectrometry Data Sets Built on FragPipe
Edgar Manriquez-Sandoval, Joy Brewer, Gabriela Lule, Samanta Lopez, and Stephen D. Fried
Journal of Proteome Research
DOI: 10.1021/acs.jproteome.3c00887

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

flippr-0.1.1.tar.gz (256.7 kB view details)

Uploaded Source

Built Distribution

flippr-0.1.1-py3-none-any.whl (166.3 kB view details)

Uploaded Python 3

File details

Details for the file flippr-0.1.1.tar.gz.

File metadata

  • Download URL: flippr-0.1.1.tar.gz
  • Upload date:
  • Size: 256.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.0 CPython/3.11.4

File hashes

Hashes for flippr-0.1.1.tar.gz
Algorithm Hash digest
SHA256 9b19c3311cc5d69404762e22d97dda76cb40275d50fdda50c366752b8151d28a
MD5 99a181615bc31d4940070c09b7a25f0a
BLAKE2b-256 37a7b04cf3937adf7e7ef5a49958648b1536debe0a59bcbb7beac0c901344fe6

See more details on using hashes here.

File details

Details for the file flippr-0.1.1-py3-none-any.whl.

File metadata

  • Download URL: flippr-0.1.1-py3-none-any.whl
  • Upload date:
  • Size: 166.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.0 CPython/3.11.4

File hashes

Hashes for flippr-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 e5e92a8bb7def37e7b8837cb59cf4e6132b58d397fe42aff2f78bd34b32d1803
MD5 a0025a7a0f140229e482e68c5fba9e63
BLAKE2b-256 8f1fd759d927e55d2e24aa61793110abffd820cbff5f03b5c856d0ec405b888c

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page