spant provides a full suite of tools to build automated analysis pipelines for Magnetic Resonance Spectroscopy (MRS) data. The following features and algorithms are included:
- Advanced fully-automated metabolite fitting algorithm - ABfit https://onlinelibrary.wiley.com/doi/10.1002/mrm.28385.
- Robust retrospective frequency and phase correction - RATS https://onlinelibrary.wiley.com/doi/abs/10.1002/mrm.27605.
- Support for common MRS data formats including read / write NIfTI MRS - https://onlinelibrary.wiley.com/doi/10.1002/mrm.29418.
- Flexible data types to support single voxel, dynamic and spectroscopic imaging.
- Raw data import from individual coils and dynamic measurements, eg support for importing individual FIDs from Siemens TWIX formatted data.
- Publication quality plotting.
- Extensive set of pre-processing steps (phasing, coil-combination, zero-filling, HSVD filtering…).
- Quantum mechanical based simulation for experimental design and basis-set generation.
- Set of metabolite, macromolecule and lipid parameters for typical brain analyses.
- Voxel registration to anatomical images for partial volume concentration corrections.
The online spant user manual (pdf version) is written for users with minimal experience in R or MRS processing and is the best place to start.
For more advanced users, help developing custom analysis pipeline can be found below.
Introduction : https://martin3141.github.io/spant/articles/spant-intro.html
Short tutorials : https://martin3141.github.io/spant/articles/
Function reference : https://martin3141.github.io/spant/reference/
Once the spant library has been loaded with library(spant)
, type
?spant
on the console for instructions on how to access the offline
documentation. Note that offline help on the available functions can be
quickly shown in RStudio using ?function_name
, eg ?read_mrs
.
Download and install the latest version of R
(https://cloud.r-project.org/), or with your package manager if using
a recent Linux distribution, eg sudo apt install r-base
.
It is also strongly recommended to install RStudio Desktop (https://rstudio.com/products/rstudio/download) to provide a modern environment for interactive data analysis.
Once R and RStudio have been installed, open the RStudio application and type the following in the Console (lower left panel) to install the latest stable version of spant:
install.packages("spant", dependencies = TRUE)
Or the the development version from GitHub (requires the devtools
package):
install.packages("devtools")
devtools::install_github("martin3141/spant", ref = "devel", dependencies = TRUE)
CRAN packages need to be compiled on Linux, and therefore you may need to ensure some additional system libraries are installed. spant may be installed from a clean installation of Ubuntu 20.04 with the following commands pasted into the terminal:
sudo apt install -y r-base libcurl4-openssl-dev libfontconfig1-dev libharfbuzz-dev libfribidi-dev libtiff5-dev
mkdir -p ~/R/x86_64-pc-linux-gnu-library/3.6
Rscript -e 'install.packages("spant", dependencies = TRUE)'
sudo apt install -y r-base libcurl4-openssl-dev libfontconfig1-dev libharfbuzz-dev libfribidi-dev libtiff5-dev
mkdir -p ~/R/x86_64-pc-linux-gnu-library/4.0
Rscript -e 'install.packages("spant", dependencies = TRUE)'
Firstly install Anaconda in the standard way for your platform: https://docs.anaconda.com/anaconda/install/index.html.
Create a text file, called spant_requirements.yml
, containing the
following:
name: spant
channels:
- conda-forge
- r
dependencies:
- r-base
- r-essentials
- r-abind
- r-plyr
- r-foreach
- r-pracma
- r-stringr
- r-signal
- r-matrixcalc
- r-minpack.lm
- r-nnls
- r-r.utils
- r-graphicsqc
- r-expm
- r-smoother
- r-readr
- r-magrittr
- r-ptw
- r-mmand
- r-RNifti
- r-RNiftyReg
- r-fields
- r-MASS
- r-numDeriv
- r-nloptr
- r-irlba
- r-tibble
- r-jsonlite
- r-viridisLite
- r-shiny
- r-miniUI
- r-knitr
- r-rmarkdown
- r-testthat
- r-ragg
- r-doParallel
Create and activate the environment:
conda env create -f spant_requirements.yml
conda activate spant
Start R and install spant in the usual way:
install.packages("spant", dependencies = TRUE)
Big thanks to João M.C. Teixeira for figuring out this method of install.