Principe

Citrus réalise une analyse supervisée en utilisant plusieurs individus. Les individus forment des groupes distincts (comparaison de 2 groupes ou plus, style t-test ou ANOVA) ou sont associés à une variable continue (dosage ou survie). L’objectif de citrus est déterminer des ensembles de cellules qui sont reliés au regroupement ou à la variable continue. L’annotation du type cellulaire de chaque ensemble de cellules est effectué a posteriori, ie après sa découverte.

Citrus effectue un clustering hiérarchique des cellules après concaténation des fichiers à analyser et donc génère un arbre. Citrus parcourt l’arbre en partant de ses feuilles (extrémités contenant une seule cellule) et en remontant vers la racine (le noeud qui regroupe toutes les cellules). Lors du parcours, citrus ne s’intéresse qu’aux noeuds qui totalisent un nombre de cellules supérieur au pourcentage choisi. Pour ces noeuds, citrus calcule un score (t-test, ANOVA, régression…) et la p-value associée. Le score porte soit sur le pourcentage de cellules associé à chaque groupe d’individus (ou à chaque individu) soit sur l’intensité d’un marqueur qui n’a pas été utilisé pour le clustering.

Utilisation

Lorsque le package citrus est installé, les commandes suivantes permettent d’utiliser Citrus. Pour l’installation voir les paragraphes suivants, notamment avec les spécificités sous Mac.

# ====== RUN CITRUS
# Once installed, load the Citrus package and start the GUI
library("citrus")  # once per R session
citrus.launchUI()  # for each run

# Export cluster
citrus.exportClusterUI()

Installation

2019-06-06 Mise à jour de la notice d’installation pour tenir compte de R 3.5.x et du nouveau installateur de Bioconductor.

Citrus est un package R dont les instructions sont sur la page https://github.com/nolanlab/citrus. Des exemples et des jeux de tests sont disponibles dans le package (et sur https://github.com/nolanlab/citrus/tree/master/inst). Les données de l’article sont disponibles sur le site de MD Robinson.

Vous trouverez ci-dessous les commandes à copier et coller dans la console R pour installer le package. Les lignes qui commencent par un # sont des commentaires que R ignore donc. L’installation des pré-requis n’est pas fonction de la version de R. Ensuite, les commandes sont légèremment différentes.

# ====== PREREQUISTES

# CRAN packages
# All packages at once
install.packages(c("glmnet", "pamr", "ggplot2", "survival", "samr", "brew"))
# install.packages("shiny")  # For GUI, should be already there
# devtools should be already present
# install.packages("devtools")

# If any CRAN package failed, run installation one by one
install.packages("glmnet")
install.packages("pamr")
install.packages("ggplot2")
install.packages("survival")
install.packages("samr")
install.packages("devtools")
install.packages("shiny")
install.packages("brew")

# ====== INSTALL R >= 3.5

# Bioconductor packages
# Run the following line to use the biocManager::install() function
if (!requireNamespace("BiocManager", quietly = TRUE))
install.packages("BiocManager")
# flowCore should be already installed
#BiocManager::install("flowCore")
# Install the impute library
BiocManager::install("impute")
# guess missing values

# Standard citrus installation (No OpenMP Support)
# Start R and use the devtools package to install the citrus package.
# Install the clustering software
BiocManager::install("nolanlab/Rclusterpp")
# Finally, install citrus
BiocManager::install('nolanlab/citrus')

# ====== INSTALL R < 3.5

# Bioconductor packages
# Run the following line to use the biocLite() function
source("http://bioconductor.org/biocLite.R")
# flowCore should be already installed
#biocLite("flowCore")
# Install the impute library
biocLite("impute")  # guess missing values

# Standard citrus installation (No OpenMP Support)
# Start R and use the devtools package to install the citrus package.
# Install the clustering software
install_github("nolanlab/Rclusterpp")
# Finally, install citrus
install_github('nolanlab/citrus')

Installation sous Mac

Merci à N. Degauque pour cette notice d’installation.

Après l’installation de R (version3.5) et R studio, il est nécessaire d’installer deux autres outils (Clang 6.0.0 et gfortran) pour pouvoir compiler des packages. Les liens pour ces 2 outils sont à la page suivante https://cran.r-project.org/bin/macosx/tools/

Puis pour installer les différents packages pré-requis pour Citrus via R studio, il faut suivre les instructions de la page suivante https://github.com/nolanlab/citrus/wiki/Installing-Citrus pour installer les packages du CRAN et Bioconductor (cf ci-dessus, semblable à PC).

install.packages("glmnet") 
...
install.packages("brew")  # For GUI

Il faut maintenant faire une pause dans l’installation et installer des outils complémentaires à savoir installer Xcode (via l’Apple Store). Les instructions proposées par le Github nonlab relatifs à Xcode ne fonctionnant pas avec cette version de Xcode, il faut ensuite ouvrir le terminal (que l’on peut trouver dans les utilitaires du dossier Application) et taper

xcode-select --install

Puis télécharger Mac Ports (https://www.macports.org), ouvrir ensuite le terminal et taper les lignes suivantes

sudo port install gcc8
g++-mp-8 -v

mkdir ~/.R
nano ~/.R/Makevars

Dans l’éditeur nano, tapez les lignes suivantes :

CXX=/opt/local/bin/g++-mp-8 -arch x86_64
CC=/opt/local/bin/gcc-mp-8
SHLIB_OPENMP_CXXFLAGS= -fopenmp

puis dans R studio

install.packages("Matrix")
install.packages(c("Rcpp","RcppEigen"),type="source »)
library("devtools")
install_github('nolanlab/Rclusterpp')
install_github('nolanlab/citrus')

Si tout se passe bien, à la fin on peut charger la bibliothèque Citrus et l’interface graphique

library("citrus")
citrus.launchUI()