RuSirius (spelled R-U-Sirius (are you serious)) is an R package that
provides an interface to the Sirius software, enabling seamless integration of
xcms preprocessing results with Sirius.
It is built upon RSirius, the
REST API library for the R programming language, which you can find
here.
Sirius and the RSirius R API must come from the same release line:
| RuSirius | Sirius | RSirius (R API) |
|---|---|---|
| 1.1.x | 6.5.x | 6.5.4 |
| 1.0.x | 6.3.x | 6.3.x |
conda create -n sirius conda-forge::r-sirius-ms
conda activate sirius
RuSirius 1.1 needs the sirius6.5 build (currently 3.2+sirius6.5.4); you
can check the installed build with conda list r-sirius-ms.
library(remotes)
# install_github("RforMassSpectrometry/RuSirius")
install.packages("RuSirius", repos = c('https://rformassspectrometry.r-universe.dev', 'https://cloud.r-project.org'))
Alternatively, you can manually install Sirius and then RuSirius:
library(remotes)
# install_github("RforMassSpectrometry/RuSirius")
install.packages("RuSirius", repos = c('https://rformassspectrometry.r-universe.dev', 'https://cloud.r-project.org'))
This also installs the matching RSirius R API (6.5.4); you can check it with
packageVersion("RSirius").
RuSirius comes with five vignettes to help you get started:
Getting Started with RuSirius This vignette covers the basics of connecting to Sirius and managing projects.
Importing Spectra into Sirius This vignette shows a basic example for importing spectra data into Sirius.
Retrieving Results from Sirius This vignette explains how to retrieve and interpret different result types.
Using Custom Databases This vignette demonstrates how to create and use custom databases for structure search.
Importing Chromatographic Peaks from xcms This vignette demonstrates how to import chromatographic peaks from xcms and use them in Sirius.
We welcome contributions and bug reports! If you encounter issues, have suggestions, or want to contribute code, please open an issue or pull request on the GitHub repository.
Before submitting a PR, please ensure:
Tests pass locally: run the full test suite with
devtools::test()
The tests start and stop Sirius themselves, so close any running Sirius instance first; you need Sirius installed and a valid login. Without Sirius, the tests that need a server are skipped.
Pre-rendered vignettes are up to date: All five vignettes are
pre-rendered from .Rmd.orig sources. If your changes affect package
output or vignette content, start Sirius on port 9999 (with Sirius 6.5,
the port option goes after service):
sirius service --port 9999
log in, and re-run the pre-render script from the package root:
source("vignettes/pre-render.R")
Commit the updated .Rmd files alongside your changes.
Note that CI runs R CMD check with --no-vignettes since vignettes require a
running Sirius instance with authentication.
Vignettes require Sirius login: Vignettes cannot be built automatically in CI as they require Sirius authentication. Pre-rendered vignettes are available on the pkgdown site.
Importing features can be time-consuming. To speed up testing, import only a few features at first and limit the process to one MS1 spectrum per feature. Further details are provided in the vignettes.
A pre-built Docker image is available on Docker Hub, based on the official
Bioconductor docker image bioconductor/bioconductor_docker:RELEASE_3_22. It
includes RuSirius, all dependencies, and Sirius 6.5.4 (downloaded directly
from the official GitHub releases). The Sirius REST API starts automatically on
port 9999 when the container launches.
docker pull rformassspectrometry/rusirius:latest
Start an RStudio Server session:
docker run -e PASSWORD=yourpassword -p 8787:8787 rformassspectrometry/rusirius:latest
Then open RStudio Server at http://localhost:8787 (user: rstudio, password:
as set above).
Or start an interactive R session directly:
docker run -it rformassspectrometry/rusirius:latest R
Sirius starts automatically inside the container on port 9999. Connect and log in from the R console:
library(RuSirius)
srs <- Sirius(projectId = "my_project",
username = "your_email",
password = "your_password",
port = 9999)
Note that Sirius requires a valid account — you can register for free at https://bright-giant.com.
If you prefer to build the image from source instead of pulling from Docker Hub:
docker build -t rformassspectrometry/rusirius .
This builds the image using the Dockerfile in the repository root.
Many many thanks to Markus Fleischauer for his work on the Sirius SDKs, many more Jonas Emmert who made the R-API usable. And Marcus Ludwig for the help and support in implementing RuSirius.