saintexpress

saintexpress provides a pure-R implementation of the SAINTexpress scoring engines for spectral counts and intensities.

Documentation: https://prolfqua.github.io/saintexpress/

This package is intentionally focused on the R implementation. It does not ship or run native SAINTexpress binaries. Native execution is handled by the separate saintexpressbin package, and prolfqua integration is handled by prolfquasaint.

Installation

# install.packages("remotes")
remotes::install_github("prolfqua/saintexpress")

Usage

Prepare a SAINT input list with three data frames named inter, prey, and bait:

si <- list(
  inter = inter,
  prey = prey,
  bait = bait
)

Validate the input shape:

saintexpress::validate_saint_input(si)

Run the spectral-count engine:

result <- saintexpress::run_saint(si, mode = "spc")

Run the intensity engine:

result <- saintexpress::run_saint(si, mode = "int")

result is a data frame in the SAINTexpress list.txt output shape.

Optimizers

The default optimizer is base R:

saintexpress::run_saint(si, mode = "spc", optimizer = "base")

The optional nloptr optimizer can be used when the nloptr package is installed:

saintexpress::run_saint(si, mode = "spc", optimizer = "nloptr")

Vignette

A worked example with simulated AP-MS data is included as a package vignette:

vignette("saintexpress", package = "saintexpress")

It walks through validate_saint_input() and run_saint() for both spc and int modes on a 6-prey/4-bait synthetic experiment with known true interactors, and mirrors the structure of the companion saintexpressbin vignette so the two engines can be compared side by side.

Testing Scope

This package uses small synthetic inputs for unit tests. TIP49 reference fixtures and native-vs-R comparison tests live in prolfquasaint, where both saintexpress and saintexpressbin are integrated.

Origin, Attribution and AI Assistance

saintexpress is not an independent invention of the SAINT model. It is a port of the SAINTexpress reference implementation to pure R.

Because this package is a derivative work of GPL-3 licensed sources, saintexpress is released under the same terms: GNU General Public License, version 3 or later. It cannot be redistributed under a more permissive licence.

Credit for the SAINT model and its reference implementation belongs to the original authors listed in the References section below.

References

SAINTexpress and the SAINT model are described in the original publications: