logo umr
Génétique Quantitative et Évolution - Le Moulon

Offre de contrat d'apprentissage Master Ingénierie logicielle pour la Science des Données

Chaque année, INRAE propose des contrats d’apprentissage s’adressant aux jeunes âgés de 16 à 29 ans, ainsi qu'aux personnes en situation de handicap sans limite d'âge. L'équipe ABI-Soft a obtenu un contrat d'apprentissage pour un étudiant de Master “Ingénierie logicielle pour la Science des Données” d'une durée de 2 ans, qui débutera le 01/09/2020.

I. Contexte scientifique

INRAE(Institut National de Recherche pour l’Agriculture, l’Alimentation et l’Environnement) s’implique dans des enjeux majeurs de la société actuelle : stabiliser le réchauffement climatique, réduire l’insécurité alimentaire, assurer la transition énergétique et agronomique, construire les agricultures du futur. Relever ces défis nécessite aujourd’hui l’utilisation des technologies à haut débit. Le Big data, le FAIR data, ou encore le DataViz5 sont des problématiques actuelles auxquelles INRAE fait face. Le besoin en outils informatiques pour assurer la gestion des données est crucial pour assurer leur traçabilité, leur contrôle qualité, leur soumission à des outils de visualisation, leur pérennisation, leur mise à disposition et partage aux scientifiques pour exploitation, intégration et analyse avec d’autres types de données. Parmi les technologies utilisées, le génotypage sur puces ou par séquençage (Genome By Sequencing) et le phénotypage de plantes, génèrent de nombreux résultats, que ce soit des valeurs d’allèles ou des mesures sur des caractères d’intérêt agronomique dans le cadre d’expérimentations au champ, collectées par des individus, des capteurs ou plus récemment des drones. Le contexte de ces données peut évoluer dans le temps, notamment, le génotypage est réalisé sur des individus dont les marqueurs sont positionnés sur des versions de séquence de génome différentes. Le phénotypage est réalisé dans différents environnements, sur plusieurs années peuvent venir de plusieurs collaborateurs.

II. Accueil de l’apprenti

L’apprentissage se déroulera dans l’UMR Génétique Quantitative Évolution-Le Moulon. Cette UMR est composée de plusieurs équipes de recherche, d’une installation expérimentale pour les essais en champ et d’un atelier de bioinformatique et d’informatique (ABI). Elle est l’une des unités constitutives de l’IDEEV (Institut Diversité Écologie et Évolution du Vivant) une fédération de recherche dans les domaines de l’écologie et de l’évolution, dont les murs seront créés en 2021. L’UMR couvre une large gamme d’organismes et travaille entre autres sur 2 espèces d’intérêt agronomique, le maïs et le blé. Elle est impliquée dans plusieurs projets d’envergure dont le projet investissement d’avenir (PIA) Amaizing qu’elle coordonne ou encore le projet européen (H2020) RustWatch. L’unité produit de nombreuses données de génotypage, de phénotypage et de génomique.

L’apprenti sera accueilli dans l'équipe ABI-Soft, une équipe expérimentée, dédiée au développement du système d’information. L’équipe évolue en méthodologie Agile ; elle est composée de 2 ingénieurs permanents en développement d’applications, d’un CDD développeur d’applications, d’une apprentie en développement logiciel et d’une ingénieure de recherche, chef de projets et responsable de l’équipe. L’apprenti interagira avec les membres des 2 autres équipes informatiques ABI, les ingénieurs en charge de l’administration de l’infrastructure informatique ainsi que les ingénieurs en charge de la bioanalyse. Il collaborera également avec les scientifiques des équipes impliquées dans son projet d’apprentissage : Génétique Quantitative et Méthodologie de la Sélection (GQMS), et Diversité, Evolution et Adaptation des Populations (DEAP). Il sera amené aussi à participer aux événements scientifiques organisés par l ‘UMR (journal club, séminaire interne, séminaire de l’IDEEV) et à des réunions de projets en lien avec ses activités.

III. Activités de l’équipe d’accueil

L’équipe développe en collaboration avec les équipes de l’UMR et leurs partenaires, plusieurs applications sous environnement linux :

  • SHiNeMaS (Y. De Oliveira et al.), une base de données et son interface web (PostGreSQL, Python/Django) qui gère la traçabilité des lots de semences et les données relatives aux pratiques culturales, aux environnements et les phénotypes des plantes dans le cadre d’expérimentations au champ.
  • ThaliaDB (D. Steinbach et al.), une base de données et son interface web (PostGreSQL/MongoDB, Python/Django) qui gère des informations de marqueurs, de génotypage et de phénotypage (données moyennées) de plantes pour des besoins d’analyse de diversité, de génétique d’association (GWAS) et de sélection génomique.
  • DiverCLand (D. Steinbach et al.), une base de données et son interface web (PostGreSQL, Python/Django) qui gère la description et le cycle de vie de ressources génétiques de blé à l’échelle européenne ainsi que la caractérisation génotypique de leur résistance à certaines maladies (rouille du blé) dans le cadre d’un projet visant à monitorer l’évolution des épidémies de rouille en Europe.
  • BioMercator (Y. De-Oliveira et al.), un logiciel (Java) permettant une démarche complète d’identification de régions candidates de gènes par des méthodes de meta-analyse de QTLs ou de GWAS.

L’équipe maintient un environnement d’analyses sous la forme d’un serveur Galaxy (P. Montalent et al.) installé sur l’infrastructure de l’UMR dans lequel sont déployés des outils logiciels et des chaînes de traitement (workflows) ciblés sur les besoins de recherche de l’UMR :

  • la recherche de polymorphismes sur données de séquençage haut débit (sur des données d’expression de type RNASeq par exemple).
  • la recherche d’associations entre des marqueurs génétiques et des variations phénotypiques (réponse au stress hydrique, précocité de floraison).

Les données alimentant les outils de l’équipe sont de nature diverses et produites généralement à haut débit, soit localement, soit par des plateformes ou des partenaires publics ou privés (exemples : des semenciers dans le cas des demandes liées à la sélection ou via des réseaux d’agriculteurs dans le cadre de projets de science participative).

IV. Missions de l’apprenti

IV.1 Créer un système d’information mutualisé et modulaire

Les différents systèmes d’information développés par ABISOFT répondent à des besoins distincts ayant conduit au développement d’outils différents. Cependant, au cours du temps des similitudes dans les schémas relationnels sont apparus, amenant l’équipe à gérer des données sensiblement similaires et de nature proche dans des bases de données différentes. Dans le but d’améliorer continuellement les développements réalisés, l’équipe souhaite établir un système d’information mutualisé et modulaire, un précédent projet en apprentissage a permis d’établir un schéma global du système d’information d’ABISOFT. La première mission du nouvel apprenti sera de mutualiser les fonctionnalités des applications web développées par l’équipe, ThaliaDB, SHiNeMaS et DiverCLand. Cette mission servira de fil conducteur à l’apprenti tout au long de ses deux années de formation. Ce nouveau système d’information sera développé en utilisant Django, un cadriciel (framework) de développement gratuit et open-source écrit en Python.

IV.2 Assurer l’interopérabilité avec d’autres systèmes d’informations

L’apprenti aura pour autre mission de développer l’interopérabilité entre le système d’information ABISOFT et d’autres outils. Pour cela, il sera amené à implémenter des APIs en utilisant le cadriciel REST de Django. Ces APIs seront soit des standards reconnus à l’échelle internationale dans le domaine de la sélection végétale (par exemple la Breeding API), soit des APIs plus spécifiques comme ce pourrait être le cas avec l’environnement Galaxy (son instance locale : Moulaxy). Galaxy est une plateforme bioinformatique d’analyse, de gestion et d’archivage des données issues des domaines de la recherche (Génomique, Génétique, Biomedical…). C’est un outil open-source aujourd’hui reconnu et largement utilisé par les communautés internationales.

IV.3 Créer de nouvelles interfaces de visualisation des données

L’apprenti aura également pour mission le cas échéant de développer de nouvelles interfaces de visualisation des données. En particulier, certaines informations geo-localisées demandent à pouvoir être représentées sur des cartes. D’autres données gérées sous forme de réseaux demandent des interfaces permettant d’explorer ces réseaux. Il sera amené également à mettre au point des modes de visualisation pour les données haut débit issues du génotypage par exemple.

Il présentera ses développements lors de séminaires internes dans l’UMR ou externes via les réseaux de bioinformaticiens d’INRAE (CAT, Centre Automatisé du Traitement de l’Information), ou nationaux (IFB, Institut Français de Bioinformatique).

V. Apports pédagogique et adéquation avec la formation

Les activités que l’apprenti aura à réaliser ont été définies au regard des matières enseignées au cours des deux années du Master Informatique pour la Science des données. Ces activités ont pour objectif de compléter ou de renforcer l’enseignement dispensé dans le centre de formation par apprentissage.

V.1 Gestion de projets

La personne recrutée sera amenée à pratiquer les méthodes Agile qui sont utilisées dans l’équipe ABISOFT, il en appliquera les principaux principes et avantages, dans un contexte de recherche et d'évolution permanente des besoins. Il renforcera les connaissances acquises dans sa formation et son expérience en gestion de projet et de collaboration au sein d’une équipe. Il les exploitera également au sein de réseaux existants, comme le CATI PlantBreed de l’INRAE et son groupe de travail dédié à la gestion des données et les bases de données locales.

V.2 Langages et technologies du web

L’apprenti acquerra la connaissance de la programmation orientée objet et des technologies du web dès son arrivée dans l’unité et plus particulièrement le langage Python ainsi que le cadriciel Django, dont l’avantage est de faciliter l’écriture du code, son évolution et sa réutilisation. Il pourra renforcer ces connaissances grâce à sa formation dispensée à l’université au cours de sa première année de Master sur les langages dynamiques ainsi que sur les services et applications web. Ceci permettra à l’apprenti d’assimiler des techniques comme le « mapping objet-relationnel », ou le patron de conception model-vue-contrôleur (MVC). Ce projet nécessitera une connaissance approfondie en architecture logicielle ainsi que des démarches en qualité des logiciels (tests, intégration continue) que l’apprenti pourra mettre en œuvre au laboratoire et perfectionner au cours de sa formation à l’université.

V.3 Systèmes d’informations

L'apprenti renforcera sa connaissance des bases de données relationnelles, en matière de conception de schéma relationnel (PostgreSQL) et pourra pratiquer un système de gestion non relationnel, NoSQL (Mongodb), bases dont les concepts et outils sont de plus en plus utilisées en informatique pour gérer les données à haut débit. Cet apprentissage au sein de l’UMR permettra à l’étudiant d’appréhender dans les meilleures conditions les enseignements dispensés à l’université sur les « Data Warehouse » et « Data Lack ».

V.4 Environnement technique

L'apprenti utilisera un environnement de développement logiciel basé sur Eclipse, des outils de gestion du code source (SVN/Git), ainsi que SourceSup, la forge de l’enseignement Supérieur et de la Recherche.

Les nouvelles fonctionnalités sont d’abord réalisées sous forme de maquettes à l’aide du logiciel Mockflow.

VI. Encadrement de l’apprenti

L'apprenti réalisera ses tâches en appui avec les personnes de l’équipe responsable des applicatifs et en collaboration avec les scientifiques des équipes de l’unité. Son travail sera suivi lors des réunions mensuelles de l’équipe où il pourra présenter ses avancées et discuter des aspects plus liés à l’informatique. Un suivi plus détaillé sera fait par le maître d’apprentissage, une fois par semaine. Ce suivi régulier lui permettra de rendre compte auprès du centre de formation par apprentissage de l’avancement de l’apprenti et si nécessaire d’ajuster ses activités.

Des réunions seront organisées en complément avec les scientifiques afin de définir les priorités de développement, présenter des maquettes et réaliser les démonstrations des fonctionnalités les plus marquantes. Des séminaires de type webinaire de démo, pourront être organisées en fonction des avancées à des collaborateurs externes. Des présentations sous forme de poster pourront aussi être faites dans le cadre de présentation de projet ou de conférence.