Collection Mémoires et thèses électroniques
Accueil À propos Nous joindre

Introduction

Table des matières

L’instrumentation des procédés d’observation des phénomènes biologiques conduit à une augmentation de la masse d’informations collectées, du débit de production de ces informations et à une augmentation du besoin de leur traitement automatisé.

L’analyse manuelle n’est tout simplement plus envisageable. La canalisation et le contrôle de la production, de l’entreposage, du traitement et de la mise en forme de résultats d’analyse deviennent des enjeux importants rencontrés dans tous les laboratoires de recherche et les plates-formes de recherche en biologie. Au centre de recherche du centre hospitalier de l’université Laval (CR CHUL), ce besoin a été adressé lors du projet ATLAS et une expertise en bioinformatique a ainsi commencé à être développée à partir de l’année 2001, avec la création d’une équipe de bioinformatique et la mise en place d’outils informatiques.

Pour combler le besoin sur la durée, il devient nécessaire de mettre en place une stratégie pour un environnement de développement logiciel permettant aux bioinformaticiens de développer des logiciels assurant aux chercheurs l’accès aux données. Cette stratégie doit également leur permettre d’accéder aux ressources nécessaires pour le développement de nouveaux logiciels.

L’objectif de ce mémoire n’est pas de présenter une telle stratégie car les aspects organisationnels, hors de la portée de ce travail, ne seront pas adressés. Or, une stratégie d’intégration réussie des technologies de l’information passe par la maîtrise des aspects organisationnels. L’objectif de ce mémoire est moins ambitieux et se limite à présenter une vue globale d’un environnement de développement permettant à un bioinformaticien de développer des logiciels dans les différents contextes de la recherche en biologie au centre de recherche :

Le présent mémoire rapporte également l’utilisation de cet environnement dans la conception et/ou le développement de logiciels dans ces différents contextes.

La définition de cet environnement de développement est conditionnée par les choix préalables de la plate-forme de bioinformatique et de l’héritage du projet ATLAS. Il doit respecter, à chaque fois que cela est possible, les orientations de la plate-forme de bioinformatique du centre de génomique fonctionnelle de l’Université Laval : s’intégrer dans une infrastructure GNU/Linux et Unix déjà existante et favoriser le choix de logiciels libres[1]

La génomique est l’étude des génomes, ensemble du matériel génétique, de leurs produits et de leur évolution. La discipline se différencie en branches :

  • La génomique structurelle ;

  • La génomique fonctionnelle.

La génomique structurelle concerne l’étude de la séquence génomique, de son annotation et de la prédiction de la localisation des gènes. La génomique fonctionnelle concerne l’étude de l’expression de l'ensemble des gènes, de leurs transcriptions en ARN et de leurs fonctions.

La protéomique est l’étude du protéome, ensemble des protéines résultant de l’expression des gènes, de l’interaction de ces protéines, de leurs identifications, de leurs séquences, de leurs fonctions et de leurs localisations. La protéomique constitue un champ d’étude post-génomique, la compréhension du protéome passe par celle de l’expression génique (au sens large, la génomique inclut la protéomique).

Ces deux domaines d’études, génomique et protéomique, visent l’étude de tous phénomènes structurels, dynamiques et fonctionnels liés à l’ADN de tous les organismes vivants (par exemple : la transcription en ARN, la traduction en protéines et les interactions de ces diverses molécules). La génomique est une approche qui s’intéresse à la fonction des gènes en examinant le profil de l’expression génétique dans sa globalité.

À partir des séquences des génomes, plusieurs techniques peuvent servir à l’analyse fonctionnelle de l’expression des gènes.

Des techniques, comme les biopuces d’oligonucléotides ou encore la méthode de SAGE (Serial Analysis of Gene Expression), permettent de connaître l’état de l’expression génique en ARNm à un instant de la vie cellulaire. L’ensemble des transcrits d’ARN constitue le transcriptome. Ces techniques permettent d’identifier les gènes impliqués dans un chemin de signalisation ou de déterminer la fonction de certains gènes en évaluant, par exemple, l’expression génique différentielle des cellules d’un tissus traité ou provenant d’un tissus de sujet traité avec un agent par rapport à une cellule contrôle.

Une autre approche consiste à étudier la fonction d’un ou de plusieurs gènes de façon plus spécifique en étudiant les résultats de sa suppression (« knock-out ») dans un organisme modèle.

La bioinformatique est mise fortement à contribution dans ces processus d’étude. Pour déduire les séquences codantes d’un gène par l’analyse des cadres de lectures ouverts (ORF) et la prédiction des protéines potentiellement produites (prédiction particulièrement efficace chez les procaryotes). La bioinformatique supporte l’analyse comparative des homologies entre des séquences d’acides nucléiques ou celle entre des séquences d’acides aminés, réelles ou prédites, pour tenter de déterminer une fonction s’il existe une séquence homologue qui possède une fonction déjà identifiée. La bioinformatique sert également à l’annotation des génomes et à la mise en place d’ontologies.

L’étude de la génomique structurelle et fonctionnelle, de l’interaction des protéines n’en est qu’à ses débuts[2] pourtant les domaines d’applications sont déjà en développement : pharmacogénomique, identification génétique, diagnostic de maladies génétiques, outils de diagnostic rapide de virus, de parasites, de bactéries, thérapie génique, production de protéines par des organismes transgéniques entre autres.

Le projet ATLAS, financé par Génome Canada et Génome Québec[3] , à pour but de dresser un ATLAS des profils géniques de l’action de cinq catégories de stéroïdes pour mieux comprendre les maladies liées aux hormones stéroïdiennes.

Les hormones stéroïdiennes étudiées dans ce projet sont fabriquées par les testicules, les ovaires, les glandes surrénales et par les tissus périphériques intracrines (Labrie F et al., 1995), particulièrement après la ménopause et l’andropause. Plusieurs cancers sont reliés aux hormones stéroïdiennes, notamment les cancers du sein, de la prostate, de l'utérus et de l'ovaire (Dowsett M. et al., 2005). Plusieurs maladies sont aussi associées aux hormones stéroïdiennes : malaises lors de la ménopause, andropause, ostéoporose, obésité, diabète, maladies cardiovasculaires, maladies psychiatriques, infertilité, maladies de la peau, hyperplasie de la prostate et les maladies neurodégénératives.

L’étude des modifications de l’expression génique différentielle entre cellules non traitées et cellules d’un tissus ayant subies un traitement ou provenant d’un tissus de sujet ayant subies un traitement à l’aide d’hormones est réalisée sur divers tissus de souris au moyen de techniques telles SAGE, les biopuces d’Affymétrix® , la qRT-PCR, l’hybridation in situ et la protéomique.

Les données acquises par ces techniques sont traitées conjointement avec les outils logiciels développés par les bioinformaticiens du centre de recherche et des logiciels commerciaux. Ces traitements permettent finalement aux chercheurs d’extraire de la masse d’informations biologiques les connaissances pertinentes sur les gènes, les transcrits et les protéines afin d’étudier leurs rôles dans différents sentiers de signalisations ou mécanismes cellulaires.

Le projet ATLAS, initialement formé par dix chercheurs du CHUL et trois de l’Université McGill, a développé une infrastructure de plates-formes de recherche impartissant chacune une technique de génomique :

  • Séquençage d’ADN;

  • Biopuces ;

  • Protéomique ;

  • qRT-PCR (Quantitative Real Time Polymerase Chain Reaction);

  • Hybridation in situ ;

  • SAGE (Serial Analysis of Gene Expression).

L’équipe de bioinformatique formée pour le projet ATLAS a développé, à interne, depuis 2001 des logiciels de soutien, d’entreposage (bases de données, répertoires de fichiers), d’analyse (ensemble de scripts et de logiciels), de visualisation et de publication des données en provenance des plates-formes de recherche.

Le site[4] WEB public du projet ATLAS est accessible à la communauté scientifique depuis Internet et donne accès aux données recueillies pour ce grand projet.

La bioinformatique est l’informatique appliquée aux besoins et problématiques de la biologie. Elle ouvre le champ de la biologie in silico et permet l’étude théorique des mécanismes moléculaires. La génomique et la protéomique utilisent largement l’outil informatique pour manipuler la masse d’informations biologiques issues des expériences afin d’acquérir, d’entreposer, de traiter, d’analyser et d’inférer de la connaissance biologique.

Les besoins sont nombreux. Par exemple :

  • Besoins en statistiques ;

  • Besoins en bases de données (entrepôt) ;

  • Besoins en bases de connaissances (par exemple : Entrez) ;

  • Besoins en analyse de données (par exemple : BLAST, GPM) ;

  • Besoins en développement d´outils de soutien (par exemple  : LIMS) ;

  • Besoins en visualisation (par exemple : Pymol) ;

  • Besoins en gestion des données (par exemple : conversion de données) ;

  • Besoins en gestion des résultats (par exemple : interface de saisie, de requête et de présentation).

La diminution des coûts et l’amélioration des techniques de génomique et de protéomique permettent d’augmenter chaque année le nombre des génomes d’organismes vivants (végétaux, champignons, animaux) séquencés, annotés, analysés et référencés. Ces mêmes progrès techniques nous obligent à ajuster notre gestion des données biologiques et à envisager nos logiciels d’analyses en considérant la taille et le nombre grandissant des génomes à étudier. En effet, l’envergure des développements de logiciels pour la génomique et la protéomique varie. Cette envergure varie selon la nature du besoin à combler mais également du contexte dans lequel le développement doit apporter une solution. Sont identifiés, dans ce mémoire, trois contextes dans lesquels du développement de logiciel de bioinformatique pour des problématiques de génomique ou de protéomique est effectué au centre de recherche :

  • Les projets de recherche dans les laboratoires de recherche ;

  • Les plates-formes de recherche ;

  • La plate-forme de bioinformatique.

Les acteurs de chacun de ces trois contextes poursuivent des objectifs différents et ne rencontrent pas les mêmes problématiques. Par conséquent, les besoins en développement bioinformatique sont hétérogènes et peuvent être comblés :

  • Par le développement rapide, et ad hoc, de logiciels car il s’agit souvent de simples scripts sans souci de réutilisation ou de performance ;

  • Par le développement plus lent de logiciels plus structurés et robustes prévus pour une utilisation sur un plus long terme.

La bioinformatique et le bioinformaticien lui-même sont une part importante du processus de découverte en recherche. Le bioinformaticien doit s’adapter au contexte et aux besoins du chercheur. Il doit modifier son environnement de développement en conséquence de la solution informatique à fournir.

Le but d’un projet de recherche est de répondre à une ou plusieurs hypothèses de recherche et de rendre publics les résultats dans la littérature scientifique.

L’acteur principal est le chercheur. Il peut conduire son projet de recherche seul, organisé en équipe de recherche avec des assistants de recherche ou encore en collaboration avec d’autres équipes de recherche.

Les développements informatiques sont liés à la réalité du cycle de vie d'un projet de recherche fondamentale ou appliquée. Si une planification d’expériences et d’analyses de résultats est réalisée, elle est souvent flexible et peut être rapidement réévaluée et réorientée. Les bioinformaticiens doivent s’adapter à cette flexibilité en sélectionnant un mode de développement rapide et en fabriquant des logiciels à la conception minimaliste effectuant la fonctionnalité voulue sur le moment. Typiquement, ce genre de besoin est comblé par un langage de programmation de scripts permettant d’accéder rapidement et simplement à des données, de les manipuler et de produire les résultats dans un format facilement accessible. Toutefois, la facilité de développement de ces scripts, leur qualité ainsi que leur capacité d’évolution sera augmentée par le support d’un environnement de développement de logiciels de bioinformatique.

Dans l’objectif d’utiliser l’environnement de développement sélectionné pour la plate-forme de bioinformatique dans ce contexte, un logiciel à été développé et documenté dans ce mémoire pour le projet de recherche Leishmania. Le logiciel TPL, utilise le langage script Ruby et le canevas logiciel RubyOnRails pour permettre de visualiser graphiquement les séquences codantes faisant partie d’une même unité transcriptionnelle.

Le contexte d’une plate-forme de recherche est différent de celui d’un projet de recherche, il fait intervenir la notion de spécialisation de l’expérimentation et la notion de service. Une plate-forme est une structure qui a l’objectif de centraliser une expertise et du matériel pour la réalisation d’un type particulier d’expérience sur des échantillons et de livrer les résultats aux chercheurs clients du service. Au CRCHUL, il existe plusieurs plates-formes créées lors du projet ATLAS (biopuces, protéomique, etc.)

Les plates-formes de recherche suivent un cycle de vie :

  • La phase de recherche et développement de la plate-forme où la technique et les protocoles expérimentaux de la plate-forme sont développés et mis au point ;

  • La phase de stabilisation et d’optimisation où les coûts, les techniques et les protocoles expérimentaux sont connus, optimisés et maîtrisés, tout en assurant la qualité expérimentale maximum ;

  • La phase de service où les techniques et les protocoles expérimentaux sont connus, optimisés et maîtrisés pour assurer le service à l’efficience maximum à haut-débit.

Les besoins en bioinformatique diffèrent de ceux d’un projet de recherche. De plus, ils sont différents pour chaque phase du cycle de développement d’une plate-forme. Par exemple, le développement des algorithmes de traitements et d’analyse des données est spécifique à chaque plate-forme de recherche et se fait par prototypage incrémental tout au long du cycle de vie de la plate-forme (alors que les besoins de gestion client, de facturation, d’inventaire, d’intégrité de conservation et de distribution des données d’entrée et de résultats de ses clients doivent être pris en compte et réalisés lors de la première phase du cycle de vie d’une plate-forme). Certains de ces besoins sont spécifiques à une plate-forme alors que d’autres sont des besoins génériques, communs à toutes les plates-formes.

L’organisation des acteurs d’une plate-forme diffère également de celle d’un projet de recherche. En périphérie de la plate-forme, le chercheur devient le client du service expérimental de la plate-forme.

Suite à une analyse de l’organisation du travail de plusieurs plates-formes du centre de recherche, il apparaît qu’à l’intérieur de la plate-forme, l’équipe se structure sensiblement de la même façon d’une plate-forme à l’autre et que le service expérimental est rendu suivant une logique commune :

De ces cas d’utilisations peuvent être déduits les besoins d’applications pour réaliser le travail d'une plate-forme dans le centre de génomique :

Plusieurs applications peuvent être conçues pour rendre une fonctionnalité générique de base et permettre la prise en compte des particularités de chaque plate-forme lors de l’implantation dans une plate-forme de recherche. Par exemple :

  • Le site WEB qui rend le service d’information sur la conception de protocole et la réalisation d'expériences spécialisées de chaque plate-forme. Il offre entre autre une vitrine de publication de l’information sur la distribution, l’analyse et l’interprétation de résultats, identifie les personnes contact ;

  • La gestion des clients (CMS) qui offre le service de suivi des clients, de leurs demandes de service sur une plate-forme, de la facturation ;

  • L’inventaire des ressources matérielles, des fournisseurs, de l’identification des lots, etc. pour réaliser les expériences d’une plate-forme de recherche ;

  • Système de gestion de l’information de laboratoire (LIMS) :

    • Cahiers de laboratoire, logiciels d'acquisition pour effectuer le suivi d’expériences, d’échantillons, de résultats ;

    • Logiciels de support pour la manipulation de fichiers, l’exécution de traitements automatisés. Par exemple, la sauvegarde automatisée, le pré-traitement de données brutes.

Que le besoin soit générique ou spécifique, les logiciels développés pour les plates-formes de recherche sont utilisés de façon récurrente et nécessitent une conception assurant robustesse et qualité.

Typiquement, l’environnement de développement pour réaliser ces logiciels doit :

  • Permettre la planification et le suivi ;

  • Permettre la conception ;

  • Mettre à disposition des langages de développement performants ;

  • Permettre la gestion de codes sources et de versions ;

  • Mettre en place des paliers environnementaux séparés :

    • Environnement de développement ;

    • Environnement de test ;

    • Environnement de production.

Les plates-formes de recherche du centre ont des besoins communs et une stratégie inter plates-formes commune d’informatisation semble pertinente. Un travail de modélisation d’un cahier de laboratoire générique, Bio-OpenLIMS, suivant les orientations de la plate-forme de bioinformatique est documenté dans ce mémoire pour illustrer les besoins génériques de développement bioinformatique dans le contexte des plates-formes de recherche.

Pour illustrer les besoins spécifiques de développement bioinformatique, dans une plate-forme de recherche, nous avons documenté documenté dans ce mémoire une application, qRT-PCRTemplate, de gestion de configuration et de présentation de résultats pour les systèmes de détections de séquences PCR en temps réel 7500 et 7900 d’Applied Biosystems® . Cette application est développée pour la plate-forme de qRT-PCR sous Microsoft Windows® avec Microsoft Excel® .

Dans ce contexte, l’environnement de développement est identique à ceux rencontrés dans l’industrie informatique commerciale pour le développement de systèmes d’information. La mise en place d’un environnement structuré et maîtrisé est un enjeu pour une informatisation efficiente.

Contrairement aux deux contextes précédents, ici le développement d’application de bioinformatique n’a pas pour objectif de répondre aux besoins directs d’un biologiste du centre de recherche en particulier mais de concevoir des applications visant à implanter une série de fonctionnalités pour aider le travail de la communauté des biologistes. Ces logiciels sont le plus souvent destinés à être distribués, avec leur code source, à l’extérieur du centre de recherche.

Le champ d’application n’est pas restreint, il s’étend des logiciels scientifiques pour effectuer toutes sortes de calculs aux logiciels de support pour la manipulation de données biologiques.

Typiquement, l’environnement de développement pour réaliser ces logiciels doit :

  • Permettre la conception ;

  • Mettre à disposition des langages de développement performants ;

  • Permettre la gestion de code source et de versions ;

  • Mettre en place des paliers environnementaux séparés :

    • Environnement de développement ;

    • Environnement de test.

Pour illustrer les besoins du développement bioinformatique dans ce contexte, deux applications furent développées en C++.

La première, CeLUtil, est une application de support pour la conversion et la compression de fichiers de données issus du Logiciel GCOS d’Affymetrix® .

La seconde, BlastnListOf2seq, est une application utilisant l’algorithme BLAST (Altschula et al., 1990) pour effectuer des alignements locaux de paires de séquences et présenter l’information des « High Scoring Pairs » (HSP) sous une forme compacte et adaptée à l’automatisation de l’analyse des résultats de BLAST.



© David Paladini, 2006