prolfquapp (ˌproʊˈlɛf.kə.ˌæp): Generating Dynamic DEA Reports using a command line interface to the prolfqua R Package
📖 Documentation & rendered example reports: https://prolfqua.github.io/prolfquapp/ — worth a visit to browse the Quarto vignette reports (differential expression, QC, and sample-size estimation) that show exactly what prolfquapp generates.
Read on JPR https://pubs.acs.org/doi/10.1021/acs.jproteome.4c00911 "prolfquapp ─ A User-Friendly Command-Line Tool Simplifying Differential Expression Analysis in Quantitative Proteomics"
Prolfquapp is a command-line interface to the prolfqua R package (doi) for protein differential expression analysis. It preprocesses outputs from DIA-NN, MaxQuant, FragPipe, and Spectronaut, and generates HTML reports, Excel tables, rank files, and SummarizedExperiment objects for downstream tools such as ExploreDE.
If you are using an LLM coding agent (such as Claude Code) to set up your differential expression analysis with
prolfquapp, point it at the bundled prolfquapp-dea skill. The skill file captures the full
CLI workflow — preparing the input directory, designing the annotation and contrasts, choosing the software key, and
troubleshooting common failures — so the agent can drive prolfqua_dea.sh correctly.
After running your quantification software (DIA-NN, MaxQuant, FragPipe-TMT, FragPipe-DIA, or FragPipe-LFQ), place the quantification outputs and the .fasta file used for the search into a single data_dir.
Copy the shell scripts into your working directory:
R --vanilla -e "prolfquapp::copy_shell_script(workdir = '.')"or using the Docker container:
prolfquapp_docker.sh R --vanilla -e "prolfquapp::copy_shell_script(workdir = '.')"This places five scripts into your working directory:
[1] "/<working_directory>/prolfqua_dea.sh"
[2] "/<working_directory>/prolfqua_yaml.sh"
[3] "/<working_directory>/prolfqua_qc.sh"
[4] "/<working_directory>/prolfqua_dataset.sh"
[5] "/<working_directory>/prolfqua_contrasts.sh"On Linux, make them executable:
chmod a+x prolfqua_*All scripts support --help. All commands can be prefixed with ./prolfquapp_docker.sh to run in the Docker container instead of a local R installation.
- Create Dataset
- Generate Quality Control (QC)
- Generate prolfquapp YAML
- Generate Contrast Definitions (optional)
- Run Differential Expression Analysis
Generate an experiment annotation template from the quantification output files.
- Input: directory containing identification/quantification software outputs
- Output: annotation file (CSV, TSV, or XLSX)
./prolfqua_dataset.sh -i data_dir/ -s DIANN -d annotation.xlsxThe generated annotation.xlsx contains five columns:
Relative.Path/Path/raw.file/channel— file identifier (must be unique)name— label used in tables and figures (must be unique)group/experiment— main factorsubject/bioreplicate— blocking factor (optional; delete column if experiment is unpaired)control— reference condition marker (C= control,T= treatment) (optional)
The raw.file column is pre-filled from the input directory. Fill in the remaining columns before proceeding.
Generate a QC report consisting of two HTML documents and an XLSX file.
- Input: annotation file from step 1 and quantification output directory
- Output: subfolder starting with
QC_containing QC report and visualizations
./prolfqua_qc.sh -i data_dir/ -p ProjectName -O ordername -w WorkunitName -d annotation.xlsx -s DIANN -o where_to_write_resultsBy default the report is written into a dated subfolder starting with QC_. Pass --flat_outdir to write the report files (proteinAbundances.html, QC_sampleSizeEstimation.html, index.html) directly into the -o/--outdir directory instead — useful for pipelines that need a static, predictable path.
Create a YAML configuration file with the DEA parameters.
- Output: YAML configuration file
./prolfqua_yaml.sh -y config.yamlEdit the generated YAML file to set any additional parameters not exposed via the command line.
Add contrast information to the annotation file.
# Single factor: adds CONTROL column (C = reference, T = rest)
./prolfqua_contrasts.sh annotation.xlsx --control WT -o annotation_with_control.xlsx
# Two factors: adds ContrastName/Contrast columns
./prolfqua_contrasts.sh annotation.xlsx --f1 treatment --f2 time -o annotation_with_contrasts.xlsxRun the DEA using the annotation and configuration files from the previous steps.
- Input: quantification output directory, annotation file (step 1 or 4), YAML config (step 3)
- Output: subfolder starting with
DEA_containing HTML reports, Excel tables, rank files, andSummarizedExperiment.rds
./prolfqua_dea.sh -i data_dir/ -d annotation.xlsx -y config.yaml -w NameOfAnalysis -s DIANNAs with QC, results go into a dated subfolder starting with DEA_ by default. Pass --flat_outdir to write results directly into -o/--outdir without the dated subfolder.
Linux
export R_LIBS_SITE="/scratch/PROLFQUA/r-site-library/"
R --vanilla << EOF
.libPaths()
install.packages(c("remotes","seqinr", "prozor", "logger", "arrow"), repos = "https://stat.ethz.ch/CRAN/")
remotes::install_gitlab("wolski/prolfquadata", host="gitlab.bfabric.org")
remotes::install_github("fgcz/prolfqua", build_vignettes = TRUE, dependencies = TRUE)
remotes::install_github("prolfqua/prolfquapp", dependencies = TRUE)
EOFDocker
Download prolfquapp_docker.sh and use it as a prefix to any command (see above).
- Einprot https://github.com/fmicompbio/einprot
- LFQAnalyst https://analyst-suite.monash-proteomics.cloud.edu.au/apps/lfq-analyst/ and https://github.com/MonashBioinformaticsPlatform/LFQ-Analyst
- POMAShiny https://journals.plos.org/ploscompbiol/article?id=10.1371/journal.pcbi.1009148
- MSDap https://github.com/ftwkoopmans/msdap

