Skip to contents

prolfquasaint is the prolfqua integration layer for SAINTexpress-based protein interaction scoring. It converts prolfqua LFQData objects into SAINT input tables, runs SAINTexpress, and exposes the results through prolfqua contrast adapters.

📖 Documentation: https://prolfqua.github.io/prolfquasaint/

Architecture

The SAINTexpress concerns are split across three packages:

  • saintexpress — pure-R implementation of the spectral-count and intensity scoring engines.
  • saintexpressbin — ships the native SAINTexpress-spc and SAINTexpress-int binaries plus a Docker fallback on macOS.
  • prolfquasaint (this package) — prolfqua integration. Depends on saintexpress (Imports); saintexpressbin is Suggests. If engine = "binary" is requested without saintexpressbin installed, the call falls back to the R engine with a warning.

Installation

# install.packages("remotes")
remotes::install_github("prolfqua/saintexpress")
remotes::install_github("prolfqua/saintexpressbin")  # optional, for native engine
remotes::install_github("fgcz/prolfqua")
remotes::install_github("prolfqua/prolfquasaint")

prolfquasaint’s Remotes: field references prolfqua/saintexpress and prolfqua/saintexpressbin, so pak::pkg_install("prolfqua/prolfquasaint") should resolve them transitively. If your dependency resolver does not walk nested Remotes:, install saintexpress and saintexpressbin explicitly first (see TODO/TODO_transitive_remotes.md).

Public API

The user-facing surface is stable:

  • protein_2localSaint() — convert a tidy long-format protein quantification table into SAINT inter / prey / bait data frames.
  • runSaint(si, ..., engine = c("binary", "r"), optimizer = c("base", "nloptr")) — run SAINTexpress. engine = "binary" delegates to saintexpressbin::saintexpress_run(); engine = "r" delegates to saintexpress::run_saint().
  • ContrastsSAINTexpress, ContrastsSAINTFacade — prolfqua R6 adapters that expose SAINT results through the prolfqua contrast interface.

TIP49 Reference Comparison

inst/test/ holds the TIP49 reference dataset and the comparison harness that gates the R engine against the native SAINTexpress 3.6.3 binary. The testthat suite includes the cross-package comparison:

make test

inst/test/run_tip49_comparison.sh regenerates the comparison reports (tip49_comparison_363_spc.html and the matching diff). Use it after changes to either engine to refresh the on-disk evidence.

Vignettes

  • native-r-spc-comparison.qmd — spectral-count engine: native binary vs R implementation on the TIP49 fixture.
  • native-r-int-comparison.qmd — intensity engine: native binary vs R implementation on the TIP49 fixture.

Build with make build-vignettes.

For introductory walk-throughs with simulated data, see the vignettes shipped by saintexpress and saintexpressbin.

SAINTexpress Upstream

The original SAINTexpress 3.6.3 source archive was downloaded from the saint-apms SourceForge project:

The extracted and cleaned C++ source lives in a separate repository; this package depends only on prebuilt binaries shipped by saintexpressbin.