Où est mon clone ? Une application web pour retrouver des séquences à l'hôpital


Contexte: Globules blancs, recombinaisons VDJ

Les globules blancs jouent un rôle clé dans l'immunité. Les lymphocytes B et T sont adaptées aux différentes infections, produisant des anticorps et des récepteurs spécifiques à tel ou tel virus ou bactérie. Pour cela, une partie de la séquence d'ADN des globules blancs est transformé par la recombinaison VDJ, recombinaison donnant des milliards de possibilités différentes à partir d'un répertoire de quelques gènes.

Aujourd'hui, grâce aux progrès colossaux réalisés dans le domaine du séquençage de l'ADN via les séquenceurs à haut débit, on peut déterminer la séquence ADN d'un grand nombre de globules blancs et avoir le panel de leurs recombinaisons VDJ. Connaître les réarrangements VDJ des globules blancs, c'est connaître avec précion la réponse immunitaire. C'est aussi un outil primordial pour le suivi des leucémies, où l'on évalue la concentration des lymphoblastes possédant le même réarrangement VDJ que celui du diagnostic.


Problématique

Le logiciel libre Vidjil, réalisé par l'équipe de bioinformatique Bonsai (CRIStAL et Inria Lille) en collaboration avec l'hôpital de Lille a pour but de compter les globules blancs en les regroupant en clones suivant leurs séquence d'ADN et leur réarrangement VDJ. Il est destiné aux laboratoires effectuant du suivi de leucémie ou des recherches en immunologie. Vidjil contient un algorithme en C++ et une application web HTML5/Javascript couplée à un serveur web2py. Le serveur public a ouvert fin 2014, et Vidjil a aujourd'hui plus de 40 laboratoires utilisateurs en France et dans le monde, dont plusieurs en routine. Sur les deux dernières années, plus de 2 000 échantillons de patients atteints de leucémies aigües ou chroniques ont été analysés avec l'aide de Vidjil.

Chaque hôpital dispose maintenant de centaines voire de milliers d'échantillons de patients. À l'heure actuelle, ces hôpitaux n'ont aucun moyen de comparer ces différents échantillons pour observer si certains clones sont communs entre plusieurs patients, voire partagés au sein de patients ayant des métadonnées similaire (type de pathologie, âge, etc.). Le but de ce projet est d'offrir aux biologistes et médecins des fonctionnalités simples et efficaces pour tirer parti des données déjà analysées, afin d'enrichir les analyses futures.


Travail à réaliser

Côté client, le travail à réaliser consiste à prendre en main le code existant et à enrichir l'expérience utilisateur (Javascript) afin d'alerter la personne lorsqu'elle analyse une séquence ADN qui a déjà été vue chez un autre patient.

Le projet nécessitera également de travailler côté serveur, en Python, afin de récupérer les métadonnées correspondant à la séquence identifiée en commun avec les résultats en cours d'analyse. Ce système de requêtage des anciennes analyses repose sur une indexation des anciens résultats. Cela nécessite donc de procéder régulièrement à l'indexation des données. Il faudra prévoir un mécanisme automatique de mise à jour des index de chaque hôpital. Le système de requêtage devra être suffisamment robuste pour qu'un utilisateur mal intentionné ne puisse pas avoir accès aux données d'un autre laboratoire.

Compétences et qualité du code

Compétences souhaitées: git/gitlab, javascript, tests unitaires et fonctionnels
Le code sera écrit avec grand soin, documenté et testé. En cas de succès du projet, les développements effectués seront validés par les équipes hospitalières avec lesquelles nous travaillons et présenté au consortium européenn auquel nous appartenons.


Possibilités d'emploi

Avec nos usagers hospitaliers, nous sommes en train de monter le consortium VidjilNet au sein de la Fondation Inria. Au sein de ce consortium, l'équipe est susceptible de proposer des CDD à l'issue du projet (4 ingénieurs dans l'équipe depuis les trois dernières années) ou un contrat d'alternance pour un M2.