Skip to content

Tools for reading, visualising and processing Magnetic Resonance Spectroscopy data

License

Notifications You must be signed in to change notification settings

martin3141/spant

Repository files navigation

Spectroscopy Analysis Tools (spant)

R build status DOI CRAN_Status_Badge Coverage Status

Overview

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.

Documentation

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.

Basic installation

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)

Ubuntu 20.04 installation

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)'

Ubuntu 21.10 installation

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)'

Anaconda environment installation

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.