Formation Cancéropôle du 23-25/09/2020 : installation de packages + dossier partagé pour déposer les datasets

Bonjour,

dans le cadre de la formation Cancéropôle qui va se tenir du 23 au 25 septembre 2020 et qui va utiliser le Rstudio server de l'IFB, j'ouvre ce ticket où je vais lister les packages R nécessaires à la formation (et éviter que chaque participant fasse l'install dans sa home ce qui va faire perdre beaucoup de temps) au fur et à mesure que les formateurs me les envoient, pour l'instant :

#App shiny SeuratV3Wizard (https://github.com/nasqar/seuratv3wizard)
install.packages("devtools")
devtools::install_github("nasqar/seuratv3wizard")

Nous avons tenté l'install dans notre home mais nous tombons sur une erreur :

  • installing source package 'V8' ...
    ** package 'V8' successfully unpacked and MD5 sums checked
    ** using staged installation
    Using PKG_CFLAGS=-I/usr/include/v8 -I/usr/include/v8-3.14
    Using PKG_LIBS=-lv8 -lv8_libplatform
    -----------------------------[ ANTICONF ]-------------------------------
    Configuration failed to find the libv8 engine library. Try installing:
  • deb: libv8-dev or libnode-dev (Debian / Ubuntu)
  • rpm: v8-devel (Fedora, EPEL)
  • brew: v8 (OSX)
  • csw: libv8_dev (Solaris)
    To use a custom libv8, set INCLUDE_DIR and LIB_DIR manually via:
    R CMD INSTALL --configure-vars='INCLUDE_DIR=... LIB_DIR=...'
    ---------------------------[ ERROR MESSAGE ]----------------------------
    :1:10: fatal error: v8.h: No such file or directory
    compilation terminated.

ERROR: configuration failed for package 'V8'

  • removing '/shared/mfs/data/home/maglave/R/x86_64-conda_cos6-linux-gnu-library/3.6/V8'
    Error: Failed to install 'SeuratV3Wizard' from GitHub:
    (converted from warning) installation of package 'V8' had non-zero exit status

De plus, serait-il possible de créer un dossier partagé entre les participants (en lecture seule) et les formateurs (en écriture) afin de pouvoir y déposer les datasets qu'ils vont analyser ou alors il faudra forcément que chacun upload dans sa home ?

Merci beaucoup et à bientôt pour la suite

Salut @Marc_DELOGER

Ping @team.r

1 « J'aime »

A propos du dossier partagé entre les participants (en lecture seule) et les formateurs (en écriture) afin de pouvoir y déposer les datasets qu'ils vont analyser :

Oui nous pouvons vous créer un sous projet data en read only pour les participants et en écriture pour les formateurs.

/shared/projects/canceropole_ngs_2020/ pour le projet
/shared/projects/canceropole_ngs_2020/data pour le sous projet

1 « J'aime »

A propos de R: r-v8 est installé depuis quelques jours dans le module r/3.6.3

Ceci devrait débloquer la compilation de nasqar/seuratv3wizard, merci de confirmer ou pas.

Si ça règle le souci, alors on rajoutera probablement seuratv3wizard a la liste de package installés automatiquement sur le cluster.

1 « J'aime »

Super, merci on va essayer. Et question bête subsidiaire, quelqu'un a déjà essayé de faire tourner une app shiny sur le rstudio server de l'IFB ? ça se passe comment au niveau de l'IP sur laquelle il faut faire pointer le browser pour visualiser/utiliser l'App Shiny puisque du coup elle tourne sur un serveur distant.
Il faut utiliser options(shiny.host="0.0.0.0") avant de lancer l'app shiny et ensuite on accède avec l'ip du serveur et le port que shiny donne ?
Pour l'instant j'obtiens : "https://192.54.201.187:1234/ délais d'attente dépassé"
Un retour d'expérience là-dessus ?
J'avoue avoir toujours fait tourner les app sur un rstudio local pour l'instant.
Je suppose que le problème doit être dû au fait que les ports sont fermés ou quelque chose comme ça, non ?

Si vous voulez tester l'App SeuratWizard pour voir si vous arrivez à y accéder de votre côté :

library(SeuratWizard)
SeuratWizard()

This will run on http://0.0.0.0:1234/ by default

To run on specific ip/port:

ip = '127.0.0.1'
portNumber = 5555
SeuratWizard(ip,portNumber)

Merci++

Merci beaucoup :slight_smile:

Effectivement, ça compile, merci beaucoup.

Il me reste juste à comprendre comment réussir à accéder à l'app une fois démarrée.

Bonjour,

En effet, tout les ports ne sont pas ouvert, a priori certains utilisateurs utilisent ssh sur le cluster pour "contourner" cette limitation.
Je vous laisse chercher "ssh forwarding" ou "ssh tunneling" dans votre moteur de recherche préféré pour avoir plus d'information sur ce sujet.

Du coup, je ne sais pas si c'est possible de le faire directement depuis RStudio, ou si il y a d'autre solution directement avec RStudio, si vous en trouvez, merci de les partager, ça intéressera probablement d'autres personnes.

J'ai réussi à lancer le demo

> library(shiny)
> runExample("01_hello")

Listening on http://127.0.0.1:6539

En fait la fonction SeuratV3Wizard() n'ouver pas de fenêtre web par défaut mais retourne juste une IP et un port et donc généralement ensuite il faut ouvrir un navigateur web et rentrer cette IP:port en URL.
J'ai contourné le problème en faisant :

library(SeuratV3Wizard)
appDir <- system.file("shiny", package = "SeuratV3Wizard")
shiny::runApp(appDir)

Du coup, pour la formation, il ne manque plus qu'à ajouter dans la liste des packages installés automatiquement sur le rstudio server, les packages suivants, s'il vous plait :

devtools::install_github("nasqar/seuratv3wizard")
install.packages("treemap")
BiocManager::install("SPIA")
BiocManager::install("GSEABase")
BiocManager::install("stephenturner/annotables")
BiocManager::install("EnsDb.Hsapiens.v75")

Et normalement ensuite j'arrête de vous embêter :slight_smile:

Merci ++

@team.r, ce serait ok pour vous ?

Merci

Bonjour, oui c'est en cours d'installation:

1 « J'aime »

Super, merci beaucoup :slight_smile:

Bonne journée

Bonjour,

il y aurait un petit correctif à faire sur le package SeuratV3Wizard pour qu'il fonctionne correctement sur le Rstudio server de l'IFB, s'il vous plaît :

ligne 84 du fichier /shared/mfs/data/software/miniconda/envs/r-3.6.3/lib/R/library/SeuratV3Wizard/shiny/ui.R , il faudrait remplacer :

extendShinyjs(script = "www/custom.js",functions = c("")),

par

extendShinyjs(script = "www/custom.js",functions = c("addStatusIcon","collapse")),

Merci beaucoup @team.r :slight_smile:

PS : J'ai fait un pull request il y a 8 jours (Update ui.R by mdeloger · Pull Request #17 · nasqar/seuratv3wizard · GitHub) sur le github du package mais il n'a pas encore été pris en compte...

Bonjour,

On ne peux pas vraiment modifier de fichier à la main sur les installation du cluster.
(Enfin si on peux, mais elle seront régulièrement écrasé par nos outils de d’intégration continue qui réinstalleront la version de SeuratV3Wizard trouvé sur Github)

Peut-être qu'on peux temporairement remplacer "nasqar/seuratv3wizard" par "mdeloger/seuratv3wizard", ce qui vous permettra d'utiliser la version de votre compte github directement sur le cluster (on pourra rechanger quand le PR sera accepté)

Pour cela, il faudrait que la branche master de votre fork sur Github soit a jour en incluant votre correctif.

Dites moi si ca vous convient, ou pas.

Super, cela me convient, j'ai forké et fait la modif sur la master de mon fork mdeloger/seuratv3wizard.

Merci beaucoup

Parfait, l'installation est en cours:

1 « J'aime »

Bonjour @team.r ,

nous obtenons une erreur actuellement dans le TP :

rld <- rlog(dds, blind=TRUE)
Error in .Call("_DESeq2_fitBeta", PACKAGE = "DESeq2", ySEXP, xSEXP, nfSEXP, :
reached CPU time limit

Il y a un temps CPU limite ?

En sachant que l'erreur arrive même pas 5 minutes après avoir lancé la commande.

Merci

Bonjour,

A ma connaissance, il n'y a pas de limite.
Le souci est dans rstudio ou en ssh sur le cluster ?