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.
# install.packages("remotes")
remotes::install_github("prolfqua/saintexpress")
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.
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")
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.
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.
saintexpress is not an independent invention of the SAINT model. It is a
port of the SAINTexpress reference implementation to pure R.
SAINT-MRF-spc and SAINT-MRF-int)
are Copyright (C) 2011 Hyungwon Choi and Damian Fermin, and are distributed
under the GNU General Public License, version 3 or later. The upstream
distribution used as the reference is SAINTexpress_v3.6.3__2018-03-09.tar.gz
from https://sourceforge.net/projects/saint-apms/files/.list.txt results. It is a
derivative work of the upstream implementation, not a clean-room
reimplementation from the publications alone.tests/.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.
SAINTexpress and the SAINT model are described in the original publications: