Présentation du cluster iPOP-UP
Le cluster iPOP-UP@RPBS est une plateforme de calcul partagée dédiée à la bioinformatique, mise à disposition par l’Université Paris Cité et hébergé sur la plateforme Ressource Parisienne en Bioinformatique Structurale (RPBS). Il s’agit d’une plateforme structurée pour optimiser la vitesse de calcul, la reproductibilité, et la collaboration scientifique. Basé sur un système de gestion de files d’attente Slurm pour la gestion des calculs, il offre également un accès graphique grâce à JupyterHub, permettant de travailler via navigateur en R, Python ou terminal. Il combine des nœuds de calcul puissants, des espaces de stockage, et des environnements logiciels modulables via Conda ou conteneurs Singularity (https://ipop-up.docs.rpbs.univ-paris-diderot.fr/documentation/cluster-desc/). Ce cluster facilite les analyses lourdes tout en respectant les standards FAIR (Findable, Accessible, Interoperable, Reusable) et les contraintes de sécurité. Vous trouverez ci-dessous une procédure simplifiée pour vous connecter de façon autonome, et une documentation complète ici :
https://ipop-up.docs.rpbs.univ-paris-diderot.fr/documentation/
https://parisepigenetics.github.io/bibs/cluster/ipopup/#/cluster/
1. Obtenir un compte et un projet
Pour accéder au cluster, il faut d’abord obtenir un compte utilisateur et créer un projet. La création d’un compte se fait via l’onglet “Forum” du site. Vous pouvez aussi en faire la demande par e-mail à l’adresse ipop-up-account-request@rpbs.univ-paris-diderot.fr.
Indiquez :
-
vos nom, prénom, unité, adresse institutionnelle, adresse mail professionnelle @u-paris.fr ou @etu.u-paris.fr.
- le nom du projet (acronyme),
- une estimation de l’espace disque requis (sinon une taille par défaut vous sera attribuée),
- le type de données (quelle analyse faites vous ?),
- et éventuellement les utilisateurs à associer au projet.
Une fois créé, vous recevrez vos identifiants par mail.
2. Connexion et configuration initiale
a) Se connecter via SSH
Pour accéder au cluster :
– si vous êtes sur Mac/Linux : utilisez un terminal,
– pour un PC sous Windows : utilisez PuTTY, ou mieux : Ubuntu LTS, ou WLS
et tapez la commande suivante :
ssh <votre_nom>@ipop-up.rpbs.univ-paris-diderot.fr
Cette connexion initialise votre espace utilisateur et vous place sur le nœud de login ipop-up.docs.rpbs.univ-paris-diderot.fr.
Vous devez définir le projet associé avec la commande :
sacctmgr update user $USER set defaultaccount=<NomDuProjet>
b) Accès via JupyterHub
Un service JupyterHub est également disponible pour une utilisation simplifiée via navigateur web à l’adresse https://jupyterhub.rpbs.univ-paris-diderot.fr. Vous pouvez retrouver vos fichiers dans une arborescence graphique, les télécharger, ou encore créer un terminal, lancer des Jupyter Notebooks en Python/R, ou des sessions interactives vous permettant de visualiser des figures et fichiers pdf. Il permet à chaque utilisateur d’avoir son propre environnement Jupyter, tout en étant géré de manière centralisée.
Pour accéder au serveur vous devez sélectionner le projet sur lequel vous souhaitez travailler, le nombre de CPU, la mémoire et le temps de votre session JupyterHub.
Vous avez alors un accès graphique à des notebooks (Python3, Bash, R, Rstudio), des consoles (Python3, Bash, R) et un accès à un terminal de commande. Vous pouvez aussi télécharger des fichiers un à un du cluster sur votre machine.
3. Organisation des espaces de stockage
- /shared/home : Répertoire utilisateur, non conçu pour stocker des données lourdes.
- /shared/projects : Espace conçu pour les données de vos projets en cours (quota appliqué).
- /shared/banks : Banque de données partagées, en accès lecture seule — parfait pour les ressources communes (ex. génome mm10.fa).
- /cold-storage : Stockage de sauvegarde, utile pour archiver les données traitées.
Exemple d’exploration :
tree -L 1 /shared
ls /shared/banks/mm10.fa
Vérifiez votre quota avec :
status_bars
lfsquotas <nom_de_votre_projet>
4. Charger et télécharger vos données dans votre projet vers ou du cluster
Pour charger/ télécharger les données de votre projet, vous pouvez utiliser différents clients comme scp ou rsync (plus flexible, permet de reprendre les transferts interrompus).
Pour charger les données de votre ordinateur vers votre projet :
scp -r /chemin/vers/dossier/local <utilisateur>@ipop-up.rpbs.univ-paris-diderot.fr:/chemin/du/projet
-r : copie récursivement
rsync -avz /chemin/vers/dossier/local <utilisateur>@ipop-up.rpbs.univ-paris-diderot.fr:/chemin/du/projet
-a : mode archive (préserve les permissions, timestamps…)
-v : verbose
-z : compression
Pour télécharger des éléments du serveur vers votre ordinateur :
scp -r <utilisateur>@ipop-up.rpbs.univ-paris-diderot.fr:/chemin/du/projet /chemin/vers/dossier/local
rsync -avz -e ssh <utilisateur>@ipop-up.rpbs.univ-paris-diderot.fr:/chemin/du/projet /chemin/vers/dossier/local
5. Soumettre un premier job Slurm
a) Créer un script simple
Exemple lepremier.sh :
#!/bin/bash
#SBATCH –partition=ipop-up
#SBATCH –account=<votre_projet>
#SBATCH –job-name=test_job
echo “Hello iPOP-UP!”
b) Lancer le job
sbatch lepremier.sh
Puis surveiller son avancement : squeue, lister la sortie avec slurm-<jobid>.out
Vérifier le fichier de sortie : lepremier.out.
Un exemple plus complet est disponible avec un script générant et triant des nombres aléatoires : ipop-up.docs.rpbs.univ-paris-diderot.fr.
c) Suivre l’avancé des jobs avec Slurm
Une fois vos jobs soumis sur le cluster, il est important de savoir les suivre, gérer et analyser leur efficacité. Slurm fournit plusieurs commandes utiles :
- Voir les ressources disponibles : sinfo affiche les partitions (groupes de ressources comme “fast”, “long”, etc.) et leur état.
- Suivre vos jobs : squeue montre les jobs en cours. Vous pouvez filtrer les vôtres avec squeue –user=$USERou squeue –me (PD: Pending, R: Running, C: Completed)
- Annuler un job : scancel <jobID> permet de stopper un job en cours (utile si vous vous êtes trompé dans votre script).
- Consulter les statistiques d’un job terminé : sacct –format=JobID,State,CPUTime,MaxRSS fournit un résumé de l’état, du temps CPU et de la mémoire utilisée.
- Évaluer l’efficacité d’un job : seff <jobID> donne directement un bilan clair sur l’utilisation des ressources (temps CPU, mémoire).
- Vérifier les fichiers de sortie : par défaut, Slurm écrit les résultats dans des fichiers nommés slurm-<jobID>.out. Si vous avez défini une directive #SBATCH –output=script1.out, vous pouvez consulter ce fichier pour vérifier la sortie du job.
Enfin, Slurm permet de gérer des job arrays, c’est-à-dire des lots de jobs similaires soumis en une seule commande. On ajoute alors une directive comme #SBATCH –array=0-10 dans le script, ce qui permet par exemple de traiter automatiquement une série de fichiers en parallèle.
6. Module load ou Conda : deux façons d’accéder aux logiciels sur le cluster
Sur un cluster comme iPOP-UP, vous aurez besoin de nombreux logiciels pour vos analyses (Python, R, outils bioinformatiques…). Il existe deux manières principales d’y accéder : soit utiliser les logiciels déjà installés par les administrateurs, soit créer vos propres environnements logiciels.
Pour activer les environnements, nous recommandons l’utilisation des modules d’environnement déjà installés.
Avec module load, vous activez un logiciel pré-installé sur le cluster. C’est rapide et simple : en tapant module load python/3.10, vous rendez disponible une version de Python sans rien installer vous-même. Cette méthode est pratique pour les outils courants, maintenus et testés par les administrateurs, mais vous êtes limité aux versions qu’ils proposent.
- Liste des logiciels disponibles : module avail , si vous cherchez à savoir si un logiciel en particulier est installé module avail <nom_du_logiciel>
- Charger un outil : module load <nom_du_logiciel>
- Pour avoir la liste des logiciels chargés dans votre environnement : module list
- Nettoyer l’environnement en enlevant tous les modules : module purge
Avec Conda *, vous créez vos propres environnements isolés dans lesquels vous installez les versions exactes des logiciels dont vous avez besoin. Cela vous permet d’éviter les conflits entre projets et d’assurer la reproductibilité de vos analyses. Conda est plus flexible que module load, mais nécessite un peu plus de gestion (installation, espace disque).
Avec Conda, il existe deux approches pour créer un environnement. La première consiste à commencer par un langage (par exemple Python ou R), puis à ajouter les paquets nécessaires. Par exemple : conda create -n monenv python=3.10, puis conda activate monenv, et enfin conda install numpy pandas. La seconde approche consiste à demander directement des paquets, Conda ajoutant automatiquement le langage et les dépendances nécessaires. Par exemple : conda create -n bioinfo -c bioconda fastqc bowtie2 samtools, puis conda activate bioinfo.
Commandes de base indispensables
Quelques commandes simples permettent de gérer efficacement vos environnements. Pour lister les environnements existants : conda env list. Pour installer un paquet dans l’environnement actif : conda install nom_paquet. Pour rechercher un paquet dans un canal (par exemple bioconda) : conda search -c bioconda nom_paquet. Pour exporter un environnement et le partager : conda env export > environment.yml. Enfin, pour supprimer un environnement : conda remove -n monenv –all.
En résumé : utilisez module load pour les logiciels standards déjà disponibles sur le cluster, et Conda si vous avez besoin de versions spécifiques ou d’un environnement reproductible adapté à votre projet.
* Conda est un gestionnaire de paquets et d’environnement multiplateforme capable de gérer n’importe quel langage et s’occupe de gérer les dépendances. Vous pouvez en apprendre plus grâce à 3 articles sur bioinfo-fr.net : Conda et le piege de la licence anaconda, Conda le meilleur ami du bioinformaticien et Comment fixer les problèmes de déploiement et de durabilité des outils en bioinformatique ? Indice : conda.
7. Introduction aux conteneurs (Apptainer / Singularity)
En plus de module load et de Conda, il existe une troisième manière d’utiliser des logiciels sur le cluster : les conteneurs. Avec Apptainer (anciennement Singularity), vous pouvez exécuter un logiciel dans un environnement entièrement reproductible, empaqueté sous la forme d’une image unique. Cette image contient le logiciel lui-même ainsi que toutes ses dépendances, ce qui garantit que le programme fonctionnera de la même manière quel que soit le cluster ou l’ordinateur où vous l’exécutez.
Concrètement, un conteneur fonctionne comme une boîte fermée dans laquelle tout est déjà installé et configuré. Il existe de très nombreuses images prêtes à l’emploi pour la bioinformatique, notamment sur la plateforme Biocontainers, qui fournit des conteneurs pour la plupart des outils connus (fastqc, bowtie2, samtools, etc.). Vous pouvez aussi récupérer directement des images depuis Docker Hub ou Quay.io, puis les utiliser avec Apptainer.
Par exemple, pour télécharger et exécuter une image contenant bowtie2, on peut créer un dossier pour stocker ses conteneurs, puis lancer une commande comme : apptainer pull bowtie2.sif docker://quay.io/biocontainers/bowtie2:2.4.1–py37h8270d21_3, suivie de apptainer run bowtie2.sif bowtie2 –help. Le logiciel bowtie2 s’exécute alors dans son conteneur, avec toutes les dépendances déjà intégrées.
Quand utiliser un conteneur ?
- vous avez besoin de garantir la reproductibilité exacte d’une analyse,
- vous voulez partager un environnement complet avec vos collègues,
- le logiciel que vous souhaitez utiliser est complexe à installer via Conda,
- vous voulez être sûr que la même version fonctionnera sur différents clusters ou ordinateurs.
Commandes de base Apptainer
- Cherchez une image bioinfo sur Biocontainers, Docker Hub ou Quay.io.
- Télécharger cette image avec apptainer pull monlogiciel.sif docker://chemin/vers/image. Exemple : apptainer pull bowtie2.sif docker://quay.io/biocontainers/bowtie2:2.4.1–py37h8270d21_3.
- Exécuter un logiciel à l’intérieur d’un conteneur avec apptainer run monlogiciel.sif commande. Exemple : apptainer run bowtie2.sif bowtie2 –help.
- En cas de besoin, entrez directement dans le conteneur avec apptainer shell monlogiciel.sif.
- Exécuter un conteneur en mode “exécution directe” : apptainer exec monlogiciel.sif commande.
- Lister vos images locales : ce sont simplement les fichiers .sif téléchargés (par exemple avec ls).
8. Pipelines et reproductibilité
Lorsque vos analyses deviennent plus complexes, vous avez souvent une suite d’étapes à enchaîner : préparation des données, contrôle qualité, alignement, analyse statistique, etc. Écrire et lancer chaque commande à la main est possible, mais cela devient vite difficile à maintenir, à partager et surtout à reproduire. C’est là qu’interviennent les workflows managés : des systèmes qui automatisent l’exécution de vos analyses étape par étape.
Un pipeline est une description structurée de toutes les étapes nécessaires à une analyse, avec les logiciels utilisés et les dépendances associées. L’intérêt est double :
- Reproductibilité : n’importe qui peut relancer le même pipeline et obtenir les mêmes résultats.
- Automatisation : le workflow gère les dépendances, l’ordre des étapes et l’exécution sur le cluster via Slurm permettant aussi la parallélisation des processus, ce qui évite les erreurs manuelles.
Il existe plusieurs outils majeurs dans ce domaine :
- Nextflow : Nextflow est un moteur de workflows open source conçu pour l’exécution de pipelines de traitements de données. Il s’intègre très bien avec Conda et les conteneurs.
- Snakemake : inspiré de Make, il permet de définir vos pipelines en Python sous forme de règles.
La communauté nf-core fournit des pipelines bioinformatiques prêts à l’emploi.
9. Exercices guidés (Training)
Accédez au dossier training pour des exercices pratiques : navigation, exécution de scripts, essais Slurm, etc. https://parisepigenetics.github.io/bibs/training/cluster_training_2503/#/training/
- Warm-up : explorez /shared, ouvrez le fichier mm10.fa, créez votre dossier de travail, soumettez un job simple.
10. Conseils pratiques
- Choisir le bon espace de travail : ne lancez jamais vos jobs dans votre répertoire home (/home/$USER), car il est limité et non adapté aux calculs. Utilisez toujours votre répertoire projet : /shared/projects/mon-projet. Si besoin, créez un sous-dossier tmp.
- Limiter les entrées/sorties (I/O) : évitez de générer des milliers de petits fichiers.
- Surveiller les quotas : utilisez quota et du -sh.
11. Support et communauté
- Forum iPOP-UP : https://discourse.rpbs.univ-paris-diderot.fr/
- Documentation : https://ipop-up.docs.rpbs.univ-paris-diderot.fr/documentation/
- Projets scientifiques : https://ipop.u-paris.fr/contact/
À lire aussi

Tests multiples et correction de la p-value
Vous avez peut-être déjà entendu parler de ces termes, ou peut-être pas, chacun suit son propre chemin. Mais comme il s'agit de concepts essentiels pour comprendre et utiliser les p-values, j'espère que ce tutoriel vous sera utile, qu'il s'agisse d'une remise à niveau...

Utilisation de la ressource de calcul iPOP-UP@RPBS
Bonjour à toutes et tous, Nous organisons des sessions de formation gratuites sur l’utilisation de la ressource de calcul haute performance iPOP-UP@RPBS. Ces formations sont ouvertes à tout biologiste travaillant dans un laboratoire de l’Université Paris Cité. Ce...

Nouvelle nomination à la direction scientifique d’iPOP-UP
Nous avons le plaisir d’annoncer la nomination du Professeur Bertrand Cosson en tant que responsable scientifique de la plateforme iPOP-UP (Integrative Platform for ‘Omics’ Projects at Université Paris Cité). Cette nomination marque une nouvelle étape dans le...

DU création, analyse et valorisation de données omiques 2027
La prochaine session du Diplôme Universitaire "Création, analyse et valorisation des données biologiques omiques» commencera en janvier 2027, les candidats doivent informer très en amont leur service RH, notamment pour demander le financement de cette formation....