Currently viewing the category: "Intégration"

Cet article a pour but d’aider à la mise en place d’un serveur Galaxy en local. Il décrira également les avantages et inconvénients d’une telle approche par rapport à d’autres utilisations (Galaxy en ligne et Galaxy sur cloud).

Pour une définition de ce qu’est le logiciel de workflow Galaxy vous pouvez lire l’article précédemment posté sur ce blog ou accéder à la description PLUME du logiciel.

Préambule :

Il existe trois méthodes pour utiliser Galaxy :

> En local : c’est la méthode que nous décrirons ci-dessous

> En ligne : outre l’instance principale de Galaxy,  de multiples organismes ouvrent l’utilisation de leurs serveurs Galaxy à l’extérieur ( pour une liste exhaustive cliquer ici)

> Sur un cloud :  On utilise notre propre instance (virtuelle)  de Galaxy mais au lieu d’être déployés sur une machine locale, les « jobs » sont envoyés sur le cloud de Amazon

Chaque approche a ses avantages et ses inconvénients, nous les détaillerons plus bas.

Installation :

Un grand nombre d’indications sont extraites du tutorial d’installation de Galaxy en local, disponible, en anglais, à cette adresse – http://wiki.g2.bx.psu.edu/Admin/Get%20Galaxy.

Ce qu’il faut retenir de l’installation de Galaxy en local est qu’il est possible de mettre en place un serveur en moins de 10 minutes!

Brève Explication du processus d’installation (sous un serveur Debian – les étapes seront les même pour Ubuntu):

Ouvrir une invite de commande

– Vérifier sa version de python :

python --version

La version 2.5 (et au-delà) est suffisante pour un bon fonctionnement de Galaxy.

– Installer le système de gestion de version mercurial : la version 1.6 est suffisante. S’ il est déjà installé, vérifier votre version :

hg --version

– Télécharger l’archive dans un répertoire (par exemple « workflow ») approprié :

hg clone http://bitbucket.org/galaxy/galaxy-dist

– Lancer Galaxy! Dans le répertoire galaxy-dist :

sh run.sh --reload

Note : reload permet de fermer correctement l’application sous debian (et ubuntu)

A ce stade, le programme devrait initialiser l’application.

Vous pouvez maintenant accéder à votre serveur Galaxy à l’adresse suivante : http://localhost:8080

Bienvenue sur votre installation de Galaxy en local

Evidemment ce tutoriel est court et ne prend pas en compte la configuration plus fine de l’application. Pour plus de détails sur l’installation mais aussi sur l’utilisation je vous invite à lire (et à tester) les excellentes explications consultables sur le site de Galaxy :

http://wiki.g2.bx.psu.edu/Admin/Get%20Galaxy

http://wiki.g2.bx.psu.edu/Admin/Training/

Pour les (heureux) propriétaires d’un serveur de calcul :

http://wiki.g2.bx.psu.edu/Admin/Config/Performance/Cluster

Pour l’utilisation de Galaxy dans un environnement de production – ou si vous voulez directement installer votre serveur Galaxy en partant sur des bases solides  :

http://wiki.g2.bx.psu.edu/Admin/Config/Performance/Production%20Server

Utilisation :

Il faut savoir que Galaxy en local fait souvent un lien vers les logiciels sans que ces derniers ne soient présents « physiquement » sur votre serveur. Ainsi le mapping avec BWA ne marchera pas, à moins que vous installiez au préalable bwa sur le serveur. C’est le cas de pas mal d’outils, donc si vous rencontrez parfois des erreurs lors de l’exécution, il est fort probable qu’il vous faudra d’abord installer les outils utilisés par Galaxy.

Un des inconvénients majeurs de la version en ligne concerne la limitation de chargement de jeux de données à 2 Gb. En séquencage haut-débit cette limite est très souvent atteinte. En ligne il est possible de contourner cette limitation en chargeant ses fichiers par FTP. Mais on ne peut éviter le problème du débit (temps de transfert long) et de la confidentialité des données.

En local, cette la limitation est également fixée à 2 Gb, et il y a également la possibilité de charger ces jeux de données directement dans le logiciel, sans passer par une phase de chargement (« upload ») en installant son propre FTP. Évidement en local, le débit est fortement accéléré.

Pour ce faire, vous pouvez lire le tutoriel suivant en anglais ou suivre les indications ci-dessous :

http://wiki.g2.bx.psu.edu/Admin/Config/Upload%20via%20FTP

ou regarder la video tutoriel .

Comparaison entre les méthodes :

Comparatifs entres les différentes instances de Galaxy

Pour résumer, l’installation en local offre plusieurs avantages par rapport à la version en ligne, en terme de confidentialité, de taille de données, de transfert et de temps d’analyses. Quelques inconvénients subsistent notamment la contrainte d’investir dans une machine correcte si l’on veut obtenir un temps d’analyse correct ou la nécessité d’installer certains outils extérieurement à Galaxy.

Si l’on supprime l’aspect coût et les contraintes lors de la première installation, la solution Cloud semble la plus pertinente si l’on a pas accès à  des environnements matériels conséquents.

L’aspect « customisation » et particulièrement l’intégration de ses propres outils fera l’objet d’un prochain article.

Il y a quelques semaines, nous avions discuté de l’utilisation de logiciel de Workflow pour la bioinformatique. Il est temps de passer à la pratique en vous présentant un de ses dignes représentants : Galaxy.

Page d'accueil du site du workflow Galaxy

Le workflow Galaxy fournit un ensemble d’outils pour la manipulation et l’analyse de données génomiques. Il est très intuitif dans l’utilisation ce qui en fait une cible de choix pour le biologiste.

Il est possible d’utiliser Galaxy directement depuis le serveur. Avantage conséquent pour les bioinformaticiens il est possible d‘installer sa propre instance de serveur Galaxy, cette option fera l’objet d’un prochain post technique.

Du point de vue de l’interface graphique :

Interface principale - Workflow Galaxy

On peut également créer des workflows, les enregistrer dans un espace dédié, les partager, et les exécuter de façon automatique.

Pour exemple ce workflow de métagenomique publié gratuitement par un utilisateur de Galaxy (vous devez être connecté pour visualiser le workflow dans Galaxy)

Workflow analyse métagénomique - Galaxy

Les outils dédiés analyse de données NGS sont régulièrement mis à jour et nul doute que d’ici peu, certains seront dédiés IonTorrent.

Les tutoriels sont également très bien faits, on apprend très vite à maitriser l’environnement grâce à des dizaines de vidéos d’aides.

Galaxy offre donc la possibilité d’exécuter des analyses bioinformatiques sans effort de programmation. La version en ligne est intéressante car elle permet de se familiariser aux logiciels et d’exécuter l’analyse depuis un portable, mais la possibilité d’intégrer ces propres outils (nous y reviendrons) est indéniablement un gros avantage de la version locale.

Si nous devions citer un inconvénient, plutôt d’actualité : l’utilisateur est obligé de charger ses données en mémoire dans Galaxy, le temps de chargement peut être très long si l’on manipule des données issues d’expériences NGS. D’autres workflows tels que Ergatis, fonctionnent en local et permettent à l’utilisateur d’utiliser directement les données présentent sur l’ordinateur.

Pour en savoir plus :

La description complète du logiciel Galaxy en Français sur PLUME :

http://www.projet-plume.org/fiche/galaxy

Le Galaxy Wiki :

http://wiki.g2.bx.psu.edu/FrontPage

La publication associée :

Genome Biology - 2010

 

Constat : le séquençage, un générateur fantastique de données

Figure 1.0 : Accroissement des données insérées dans GenBank

L’explosion de la génération de données génomiques (Figure 1.0) et l’hétérogénéité de ces données entraînent inévitablement un accroissement de l’écart entre les données, les connaissances et l’information que l’on peut en extraire (Figure 1.1).

Le développement d’outils bioinformatiques permet de répondre à l’analyse de données dans l’ensemble des domaines de la biologie, mais le besoin en formalisation (des formats, des processus, des architectures matérielles…) est primordial si l’on veut éviter les problèmes d’incompatibilité et de réutilisation des solutions.

Biomedical informatics in translational research Par Hai Hu,Richard J. Mural,Michael N. Liebman

Figure 1.1 : Issu de "Biomedical informatics in translational research" Par Hai Hu,Richard J. Mural,Michael N. Liebman

 

En conséquence, afin d’obtenir des informations interprétables biologiquement à partir de ces données, la mise en place de processus d’analyse va de pair avec  l’utilisation de logiciels à jour, efficaces pour la gestion de données à grande échelle.

En outre, les logiciels doivent aussi simplifier cette gestion de données et fournir des outils d’analyses bioinformatiques accessibles mais aussi reproductibles pour tous types d’utilisateurs – dont les biologistes eux-mêmes. C’est dans ce cadre que s’insèrent l’automatisation de processus (ou « Workflow ») et le développement de « Workflow management system », ou logiciel de Workflow, pour la bioinformatique.

Workflow ou automatisation de processus : définition

Le logiciel de Workflow s’inscrit aussi dans une logique de pérennisation des processus analytiques, qui a pour but de sortir de la logique « projet » (dans le sens ponctuel) en créant des processus d’analyses génériques.

Un logiciel de Workflow est un outil permettant d’exécuter un ensemble de processus de façon automatique. Ces « pipelines » sont très présents en bioinformatique (à défaut d’être tres utilisés) car ils permettent aux chercheurs en biologie d’analyser leurs données (issues de séquencages, génotypages) de façon relativement transparente et (quasiment) sans l’aide d’informaticiens (denrées rares dans la recherche).

Toutefois, il convient de distinguer deux sortes de logiciel de Workflow :

– Les logiciels de Workflow qui permettent aux chercheurs de manipuler leurs données et exécuter leurs analyses sans posséder de connaissances en écriture de scripts ou en bases de données. Les données sont rapatriées au sein du logiciel de Workflow, permettant l’exécution d’un ensemble de tâches, à travers des modules pré-installés. En séquençage, le Workflow permet de convertir des séquences en formats divers, les filtrer  ou les assembler…  Le logiciel de Workflow ISYS (2001), BioMOBY, Taverna et plus particulièrement Galaxy (qui fera l’objet d’un prochain post ici) entrent dans cette catégorie.

– Les logiciels de Workflow qui assurent un accès direct à des composants (installés sur le serveur) et/ou aux données génomiques sans passer par un rapatriement préalable des données. WildFire, Pegasys ou Ergatis (ce dernier sera décrit dans un prochain post) font partie de cette catégorie. De manière générale ces logiciels de Workflow sont plus difficiles à prendre en main mais sont évidemment plus flexibles.

Pour résumer, quel que soit le logiciel de Workflow utilisé il permet :

– D’automatiser des processus d’analyse (idéalement répétitifs) en les reliant dans un pipeline

– De lancer des analyses sur des architectures matérielles complexes telles des grilles de calculs (voir l’article sur Grisbi) ou des serveurs

– De formaliser le processus d’analyse en vue d’une publication scientifique

Philosophie générale : interaction et exemple de workflow

Pour finir cette introduction, nous vous proposons deux schémas : la place du logiciel Workflow et un exemple concret.

 

workflow - interaction et intégration - biologistes et bioinformaticiens

Figure 1.2 : Intégration d'un logiciel de Workflow dans la recherche en biologie

Exemple de workflow
Figure 1.3 : Exemple de conception d’un Workflow d’identification de promoteurs (extrait de « Accelerating the scientific exploration process with scientific workflows« )

 

 

Il convient tout d’abord de distinguer deux types de bioinformaticiens :

-Ceux qui sont intégrés dans une unité de recherche : ils sont souvent spécialisés sur une thématique ou même un projet précis : généralement isolés, non permanent, impliqués et informés des problématiques biologiques

-Ceux qui font partie d’une unité de bioinformatique : en émulation avec d’autres bioinformaticiens, moins précaires, plus loin des problématiques biologiques

 

Ce document se veut une  libre opinion sur la bonne intégration d’un, ou d’une équipe, de bioinformaticiens au sein d’un groupe de recherche et les clés pour la bonne réussite de celle-ci. Il est en grande partie inspiré de l’éditorial « On the organization of bioinformatics core services in biology-based research institutes » agrémenté de commentaires plus personnels.

Pour le bien-être interne et externe d’une plateforme de bioinformatique, il convient de :

-Bien séparer les tâches dîtes de prestation et les activités de recherches.

-Scinder les sujets traités par tâches bien définies : par exemple, support en développement et maintenance de base de données, analyse statistique de données haut-débit,   support pour le déploiement d’applications sur environnement HPC, analyse de donnée NGS…

-Mettre en place un  comité d’utilisateurs incluant des utilisateurs biologistes/bioanalystes chargés d’établir les priorités

-Mettre en place des outils pour suivre l’activité bionformatique de la façon la plus transparente possible

-Mettre en place au maximum des projets transversaux pour favoriser l’interface entre biologiste et bioinformaticiens, les interactions pluridisciplinaires sont les plus enrichissantes et souvent les plus productives. Comme toutes disciplines, la bioinformatique peut devenir endogame, particulièrement dans ou le cadre où l’on parle de bioinformatique  comme une science à part entière, et non comme un outil au service de problématiques biologiques : une équipe de bioinformatique peut très bien travailler sur des sujets « porteurs » (donc plus facile à financer) sans interagir, ou seulement sporadiquement, avec des biologistes pour valider le bien-fondé du travail. C’est une des dérives du système d’évaluation actuel, pour plus d’information, lire la libre opinion publiée dans ce blog : Chemins de traverses : la recherche d’excellence ou quand les mots perdent leur sens.

-Mettre en place des formations pour les biologistes : collaborer avec des personnes connaissant un minimum les problématiques bioinformatiques est plus efficace

-Dans le même esprit, nommer un bioinformaticien responsable pour le support utilisateurs pour assister les biologistes dans leurs tâches quotidiennes de bioanalyse est très utile pour entretenir de bonne relation avec les laboratoires de recherche

-Pour les bioinformaticiens intégrés dans une unité, il est primordial de trouver des structures permettant de rencontrer et de partager avec d’autres bioinformaticiens, à défaut, passer quelques heures par semaine à effectuer de la veille technologique peut être un palliatif.

Pour conclure, une équipe de bioinformaticiens doit communiquer un maximum avec leurs partenaires biologistes afin de favoriser une saine interaction, un bioinformaticien, seul, entourer de biologistes se doit de rester à la page, idéalement en partageant et en communiquant sur ces projets à d’autres bioinformaticiens.

 

Représentation de la dynamique de la biologie intégrative

L’une des ambitions de la biologie intégrative est d’étudier le plus finement et le plus efficacement possible les interactions menant à une variation phénotypique. Ce réseau peut être d’une vertigineuse complexité, il demande l’intégration et l’analyse de données hétérogènes avant d’envisager toute interprétation.

Ces nouvelles approches exigent l’interdisciplinarité : la biologie moléculaire (biologie humide) doit être supportée par la bioinformatique (biologie sèche) afin de rendre réalisables des études de plus en plus ambitieuses, coûteuses et complexes.

Le schéma proposé ici permet d’entrevoir les interactions possibles entre génome, transcriptome et protéome…  chaque interaction donne lieu à des méthodes, des techniques d’études particulières que nous tâcherons de développer au travers de ce blog. En guise de préambule nous vous proposons d’écouter une émission très didactique et plutôt exhaustive datant du 5 février 2011, « Sur les épaules de Darwin » de Jean Claude Ameisen.

Sur les épaules de Darwin – Jean Claude Ameisen

 

Set your Twitter account name in your settings to use the TwitterBar Section.