Avec des collègues nous avons un outil R que nous aimerions pouvoir déployer sur Galaxy (et W4M en particulier). Mais, pour éviter de passer par Bioconda et dépôt sur Main Toolshed nous souhaiterions passer par Singularity et n'y parvenons pas. Qui pourrait nous aider?
Peut-être @gildaslecorguille@dbenaben@abretaud ?
Je n'ai pas de solution à proposer, par contre une retour d'expérience sur comment "singulariser" des outils en vue de leur installation sous Galaxy m'intéresse tout particulièrement.
Pour le moment c'est un package R (enfin plusieurs en faite) mais qui ont des dépendances assez compliqués à installer. Nous avons déjà une container singularity qui tourne avec toutes les dépendances et comme Galaxy peux gérer des outils sous singularity, les questions sont les suivantes :
est-ce que l'instance galaxy/W4M de l'IFB supporte les tools basés sur une image singularity (
container type="singularity") et si oui, comment ça fonctionne ? ^^
est-ce que tu aurais des pistes pour tester localement un tel outils ? j'utilise une image docker avec planemo mais je n'ai pas trouvé comment la rendre compatible avec les images singularity (est-ce qu'il faut construire l'image avant .sif ou juste fournir le fichier .def.. bref, je suis un peu perdu.
Bonjour
voici un petit tuto pour installer et paramétrer un outil qui utilise une image singularity sur usegalaxy.fr
1 - Pour installer un outil provenant du Tool Shed sur Galaxy, vous devez faire une merge request puis vous rendre dans le dossier suivant : files · master · Institut Français de Bioinformatique / usegalaxy.fr / tools · GitLab. À l'intérieur de ce dossier, vous trouverez un fichier .yml correspondant au type de l'outil que vous souhaitez installer (par exemple, si c'est un outil d'annotation, vous utiliserez le fichier annotation.yml).
Vous devez renseigner les informations suivantes dans ce fichier YAML :
Remplacez nom_de_l_outil, proprietaire_de_l_outil, et section_de_l_outil par les valeurs spécifiques à votre outil
Ces informations sont disponibles sur le site https://toolshed.g2.bx.psu.edu/
Remplacez tool_name, cores et mem. Et remplacez docker-image par l'identifiant de l'image Docker que vous souhaitez utiliser pour l'outil basé sur Singularity.
De ce que je comprend, la procédure décrite ne permet pas d'utiliser directement une image singularity fournit par l'utilisateur mais plutôt de convertir une image docker (qui provient probablement de dockerhub ?) en image singularity pour lancer les calculs. Notre cas est différent :
Nous avons déjà une recette (.def) et une image singularity (.sif) qui fonctionne pour notre outils et nous voudrions l'utiliser tel quel dans usegalaxy sans avoir à la convertir en docker.
Ce qui pose une nouvelle question ^^ : contrairement à docker il n'y a pas de dépôt publique pour les images singularity. De ce fait, pour pouvoir utiliser directement l'image dans usegalaxy, où doit pointer le ci-dessus ? (un dépôt interne, un github ?). Et quid du fichier de recette (.def) associé, est-ce qu'il doit être référencé quelque part ?
Je pense que le plus propre pour que l'outil soit utilisable en clique-bouton sur usegalaxy.fr, c'est de mettre l'image sur dockerhub.
Galaxy va construire lui même l'image singularity (un équivalent de singularity build tool.sif docker://<docker-image>)
On peut aussi directement utiliser une image en local mais je ne sais pas si c'est une bonne pratique @gildaslecorguille ?