Intégration des fonctionnalités nécessaires à l’exécution de workflows sur clusters de calcul dans BioImageIT.

Type de contrat : Stage

Niveau de diplôme exigé : Bac + 4 ou équivalent

Fonction : Stagiaire de l'ingénierie

A propos du centre ou de la direction fonctionnelle

Le centre Inria de l'Université de Rennes est l'un des huit centres d’Inria et compte plus d'une trentaine d’équipes de recherche. Le centre Inria est un acteur majeur et reconnu dans le domaine des sciences numériques. Il est au cœur d'un riche écosystème de R&D et d’innovation : PME fortement innovantes, grands groupes industriels, pôles de compétitivité, acteurs de la recherche et de l’enseignement supérieur, laboratoires d'excellence, institut de recherche technologique.

Contexte et atouts du poste

L’objectif du stage est d'ajouter des fonctionnalités à BioImageIT afin de permettre aux utilisateurs d'exécuter leurs workfows sur cluster de calcul.

Equipe projet Sairpico

Le projet se déroulera au sein de l'équipe Sairpico, spécialisée dans le développement de méthodes innovantes pour la restauration et la reconstruction d'images de microscopie, l'analyse de mouvement et le calcul de trajectoires de molécules dans l'imagerie de cellules vivantes, et l'estimation de paramètres biophysiques.

L'analyse d'images en biologie

La communauté de biologistes et d'analystes d'images de microscopie utilise de nombreux composants logiciels pour extraire et quantifier l'information nécessaire à ses expérimentations (débruitage, détection de particules, segmentation, tracking, etc.). Ces outils très divers sont développés dans différents langages de programmation, nécessitent souvent des environnements logiciels spécifiques, et ne sont pas facilement accessibles sur une plateforme centralisée. Sans organisation rigoureuse, la gestion et l'analyse d'image en biologie ne respectent pas les principes FAIR (Findable, Accessible, Interoperable, Reproductible) qui établissent que les données doivent être facilement trouvables, accessibles, interopérables et reproductibles.

BioImageIT est une application intégrant la gestion de données avec l'analyse d'images dans une solution unique. Ce gestionnaire de workflow permet de grandement simplifier les processus d'installation de composants logiciels, la gestion des dépendances et des environnements logiciels, la structuration des métadonnées et l'exécution des outils de traitement sur clusters de calcul. Les analystes peuvent ainsi créer leurs chaînes de traitement et les exécuter pour mener à bien leurs expérimentations.

Les fonctionnalités nécessaires à l'exécution de workflows sur clusters de calcul doivent être implémentées pour permettre aux analystes de traiter leurs données efficacement de manière transparente.

Mission confiée

Missions
Avec l'aide de l'ingénieur de recherche Arthur Masson et plus largement de l'équipe Sairpico, la personne recrutée sera amenée à intégrer une solution pour donner accès aux clusters de calcul dans BioImageIT.

BioImageIT est une application développée en Python, avec Qt. Le stage consistera à étendre le logiciel actuel, ce qui nécessitera une capacité de lecture et de compréhension du code existant.

L'intégration fera appelle aux API REST (SLURM et éventuellement OAR) des fermes de calcul.

Collaboration
La personne recrutée sera en lien avec FBI Data, l'équipe de gestion de données de France-BioImaging.

Responsabilités
La personne recrutée sera chargée du développement logiciel et de l'intégration dans BioImageIT et prendra des initiatives pour concevoir un outil adapté aux besoins de la communauté d'analystes en microscopie.

 

Principales activités

Principales activés :

  • Analyser les besoins de la communauté d'analystes d'images en microscopie, notamment avec les groupes France BioImaging FBI Data et FBIAS
  • Analyser les solutions de gestion de nœuds de calcul (SLURM, OAR, etc.)
  • Implémenter les tests unitaires et fonctionnels répondant aux spécifications
  • Intégrer les fonctionnalités nécessaire à l'exécution de workflows sur les fermes de calcul

Activités complémentaires :

  • Rédiger la documentation associée à la solution
  • (optionnel) Animer la communauté d’utilisateurs
  • (optionnel) Présenter l’avancée des travaux aux partenaires

Compétences

Compétences techniques et niveau requis

Expérience en développement Python ; expérience dans l'utilisation de grilles de calcul ; maîtrise de git ; capacité à écrire du code clair, documenté et testé.

Compétences additionnelles appréciées

Être à l'écoute, être force de proposition, savoir être autonome, savoir planifier et mener à bien un projet.

Avantages

  • Restauration subventionnée
  • Prestations sociales, culturelles et sportives (Association de gestion des œuvres sociales d'Inria)