Interaction environnement conda - Rstudio

Bonjour,

J aurais besoin d un petit coup de main concernant le chargement d un environnement conda prive dans Rstudio.

J ai exporte un conda yml dans mon dossier projet partage (/shared/projects/schscagingsex/config/config.yml) afin de créer un environnement conda sur le cluster pour pouvoir utiliser des versions de packages R specifiques. La sortie de conda env list suggere que ca a fonctionne :
Rscrnaseq * /shared/projects/schscagingsex/conda/envs/Rscrnaseq

J active ensuite mon environnement :
conda activate Rscrnaseq

mais

  1. je n arrive pas a lancer R dans le terminal ; est ce que ca vient du fait que dans cet environnement conda que j ai cree, j utilise la version R 4.3.2 ? Si oui, faut il que je passe en 4.3.1 ?
    Toujours en ayant l environnement charge, lorsque je load R:
    module load r/4.3.1
    je n ai toujours pas acces au terminal R, mais quand je desactive l environnement conda, pas de souci.

  2. une fois que j ai load mon environnement conda, j ouvre l interface Rstudio mais les versions de R et des packages ne correspondent pas a l environnement conda, suggerant que je n arrive pas a faire passer mon environnement conda a Rstudio. Est ce que c est possible de faire ca et si oui comment?

  3. est ce que le(s) souci(s) vien(nen)t de la creation de l environnement?

Ci dessous mon .condarc:

cat ~/.condarc
channels:
  - conda-forge
  - defaults
channel_priority: flexible
envs_dirs:
  - /shared/projects/schscagingsex/conda/envs
pkgs_dirs:
  - /shared/projects/schscagingsex/conda/pkgs
env_prompt: ({name})

et la sortie de conda info :

     active environment : Rscrnaseq
    active env location : /shared/projects/schscagingsex/conda/envs/Rscrnaseq
            shell level : 1
       user config file : /shared/home/cburny/.condarc
 populated config files : /shared/ifbstor1/software/miniconda/.condarc
                          /shared/home/cburny/.condarc
          conda version : 22.9.0
    conda-build version : not installed
         python version : 3.9.2.final.0
       virtual packages : __linux=3.10.0=0
                          __glibc=2.17=0
                          __unix=0=0
                          __archspec=1=x86_64
       base environment : /shared/ifbstor1/software/miniconda  (read only)
      conda av data dir : /shared/ifbstor1/software/miniconda/etc/conda
  conda av metadata url : None
           channel URLs : https://conda.anaconda.org/conda-forge/linux-64
                          https://conda.anaconda.org/conda-forge/noarch
                          https://repo.anaconda.com/pkgs/main/linux-64
                          https://repo.anaconda.com/pkgs/main/noarch
                          https://repo.anaconda.com/pkgs/r/linux-64
                          https://repo.anaconda.com/pkgs/r/noarch
                          https://conda.anaconda.org/bioconda/linux-64
                          https://conda.anaconda.org/bioconda/noarch
          package cache : /shared/projects/schscagingsex/conda/pkgs
       envs directories : /shared/projects/schscagingsex/conda/envs
                          /shared/home/cburny/.conda/envs
                          /shared/ifbstor1/software/miniconda/envs
               platform : linux-64
             user-agent : conda/22.9.0 requests/2.28.1 CPython/3.9.2 Linux/3.10.0-862.el7.x86_64 centos/7.5.1804 glibc/2.17
                UID:GID : 165419:165419
             netrc file : None
           offline mode : False

Merci beaucoup pour tous commentaires/feedbacks/suggestions!

Claire Burny

Bonjour,

Plusieurs remarques:

  • Si je comprends bien vous voulez utiliser JupyterHUB pour lancer un Kernel R spécifique (comme indiqué ici: Jupyter - IFB Core Cluster Documentation) ?
    Comment avez-vous installer l'environnement Rscrnaseq (quelle commande exacte) ?
    L'erreur ci-dessous me fait penser à une erreur lors de la création de l'environnement (d'ailleurs prefix dans /shared/projects/schscagingsex/config/config.yml n'est pas bon)

    /shared/projects/schscagingsex/conda/envs/Rscrnaseq/bin/R: line 249: /shared/ifbstor1/projects/schscagingsex/conda/envs/lib/R/etc/ldpaths: No such file or directory
    
  • Installer RStudio (avec une version R spécifique), n'est pas simple... Mais est-ce bien RStudio que vous voulez utiliser ou un kernel R ?

  • Un outil est en cours de finalisation (Open On Demand) pour pouvoir sélectionner la verison de R à utiliser dans Rstudio. Le service devrait être ouvert et annoncé ce mois ci (janvier 2024).

Dans tous les cas, je ne peux que vous encourager à utiliser une version de R fournit (4.3.1 me semble quand même très proche de 4.3.2), quitte à attendre un peu le nouveau service.

Bonjour David,

Merci de votre reponse. Je vais repondre point par point a vos remarques.

  • Je n utilise pas JupyterHUB et je ne compte pas m en servir pour le moment.
    J ai installe l environnement Rscrnaseq a partir d un yml que j ai importe et qui se trouve ici /shared/projects/schscagingsex/config.yml puis ai lance les commandes suivantes:

cd /shared/projects/schscagingsex/config
conda env create --prefix ../conda/envs/ -f config.yml

  • Par rapport au prefix, je ne suis pas sure de comprendre: je voulais avoir un dossier ou mes environnements conda crees etaient localises au meme endroit dans mon dossier projet principal et les charger en fonction de mes besoins.

-- Est ce que ca signifie que je dois recreer mon environnement conda mais pas a partir du yml et que ma facon de proceder est erronee, si oui a quel niveau?
-- Est ce que mon .condarc pose aussi probleme?
-- Est ce qu il y a un souci vis a vis de la version de R ou normalement pas comme vous l avez mentione?

  • Je souhaitais utiliser Rstudio avec l environnement conda prealablement cree dans un premier temps afin d avoir des visuels rapidement mais je pense que je vais laisser tomber si c est trop complique et a l avenir j utiliserai Rscript uniquement comme suggere sur le site.

  • Super pour l outil!

Claire

Quelques remarques complémentaires du coup:

Je n utilise pas JupyterHUB

Pourtant votre environnement (/shared/projects/schscagingsex/config/config.yml) installe Jupyter (et d'autres trucs). Peut-être nettoyer un peu ce fichier environnement et tenter de le recréer ?

Par rapport au prefix

Votre commande (conda env create --prefix ../conda/envs/ -f config.yml) me semble correcte.
Je signalais juste que dans le fichier config.yml le prefix n'était pas bon (mais c'est surchargé par votre commande).

Le .condarc me semble correct également.

Dans votre installation de R dans l'environnement Rscrnaseq, il y a bien une erreur (indiqué ci-dessous). R ne va pas chercher les fichiers dans le bon path ( [...]conda/envs/lib/R/ au lieu de [...]conda/envs/Rscrnaseq/lib/R/) mais je vois pas bien pourquoi.

Mais finalement puisque que vous n'utilisez par JupyterHUB/RStudio, je vous invite à privilégier l’utilisation de R en version 4.3.1 via module (quitte à installer ensuite vos propres packages). J'ai le sentiment que cela devrait suffire.

  • Ok je comprends mieux votre point. Je vais faire du nettoyage dans mon fichier de config quitte a recreer mon environnement en etant en ssh, sans utiliser de fichier yml.

  • Je vais essayer de voir comment resoudre le souci de path, c est en effet bizarre.

  • Le code sera integre dans un pipeline snakemake etabli, c est pourquoi je n ai pas procede a l utilisation de R via module mais via un environnement conda.

Merci de votre retour en tous cas. Je posterai des mises a jour ici si ca peut aider quelqu un.

Claire