• Aucun résultat trouvé

Chapitre 1 La suite d’outils epiGeEC

1.3 Complément à l’article

1.3.1 Public Datasets Selection

Par la plateforme Galaxy, nous offrons accès à des milliers de fichiers publics provenant du consortium IHEC. Pour ce faire, nous utilisons un site web développé avec le cadre d’application (framework) web Django. Cet outil permet de sélectionner des données publiques de façon simple et efficace. Puisque ce site web communique directement avec la plateforme Galaxy d’epiGeEC, cela permet d’éviter de télécharger les données; il s’agit plutôt d’une sélection symbolique qui ne contient en fait que des métadonnées permettant aux outils comme epiGeEC de savoir quels fichiers, déjà entreposés sur Mammouth, doivent être utilisés pour l’analyse. Django est un cadre d’application web dont le code ouvert est écrit en python et permet de faciliter la création de sites web. Django vient en effet avec plusieurs fonctionnalités nécessaires pour la création de sites web modernes. Les fonctionnalités les plus utiles pour le projet incluent un système qui permet de générer de façon dynamique une page HTML en y intégrant des éléments obtenus de la base de données intégrée. Django vient aussi avec un système de cache ainsi que plusieurs défenses pour les attaques informatiques les plus communes.

Le site web (http://epigeec-datasets.udes.genap.ca/) permettant la sélection de données épigénomiques est constitué d’une seule page hautement dynamique. JavaScript permet de créer des éléments dynamiques dans un site web en manipulant les éléments HTML de la page. Le JavaScript Object Notation (JSON) est un format de fichier qui permet le transfert d’information en mettant l’information sous forme de paires composées d’un nom d’attribut et d’une valeur. Le format peut être évalué directement en un objet JavaScript et a en plus l’avantage d’être plus court que XML pour un message contenant la même information. JSON est utilisé pour les appels Asynchronous Javascript and XML (AJAX) lors de la communication entre Public Datasets Selection et Galaxy.

Pour faciliter l’implémentation, la librairie jQuery est utilisée. JQuery est une librairie JavaScript qui simplifie la manipulation du Document Object Model (DOM) et la gestion d’évènements afin de créer des pages web plus dynamiques. JQuery permet aussi le développement d’extensions (plug-ins) qui augmentent les capacités de la librairie.

Le cœur du système de sélection est basé sur Datatables, qui est une extension jQuery permettant de facilement améliorer les tables HTML pour les rendre plus dynamiques, efficaces et flexibles. Les tables peuvent être remplies avec un fichier de format JSON qui est fourni par un appel AJAX. Les éléments de la table peuvent ensuite être triés, filtrés et sélectionnés par l’usager. Le système de sélection et de filtrage a dû être grandement modifié pour répondre aux besoins, mais la grande modularité de la librairie a permis de réduire de façon significative les efforts nécessaires à l’implémentation de toutes les fonctionnalités.

Figure 5 - Interface de Public Datasets Selection

Le menu déroulant de la section A de la Figure 5 permet de sélectionner le release IHEC désiré, ou encore un release offert par notre laboratoire comme les données provenant de la levure Saccaromyces cerevisiae (assemblage sacCer3) obtenues de sites publics comme GEO et ArrayExpress tel que mentionné dans la section Sources de données de l’introduction.

L’application de filtres est effectuée complètement en JavaScript du côté client et ne requiert aucune communication avec le serveur.

Une fois la source des données sélectionnée, il est possible d’utiliser une panoplie de filtres pour raffiner la sélection. La section des filtres se sépare en deux : il y a d’abord le filtre de la section B qui permet d’entrer du texte arbitraire et de choisir une colonne (ou toutes les colonnes) sur lesquelles appliquer le filtre; seulement les fichiers contenant le texte dans la colonne désirée resteront dans le module de sélection au centre de la page. La seconde façon de filtrer est par les listes déroulantes de la section C. Les listes déroulantes permettent de visualiser toutes les options uniques contenues dans une colonne et de sélection une ou plusieurs de ces valeurs. Les autres filtres sont automatiquement mis à jour pour représenter uniquement les valeurs uniques restant visibles dans le module.

Tous les filtres sont appliqués par JavaScript sans appel au serveur et les rangées de données sont ajoutées au DOM uniquement sur demande, c’est-à-dire lorsque l’utilisateur se déplace dans le menu déroulant du milieu, ce qui rend l’application de filtre très rapide et dynamique. La section D permet de faire la sélection de fichiers; il est possible de sélectionner tous les fichiers visibles d’un seul coup, ou de les sélectionner un à un. À noter que la sélection est maintenue même si les filtres changent. Il est aussi possible d’obtenir plus d’information sur un fichier en cliquant l’option « more » à droite de la rangée, ce qui élargit la rangée verticalement pour afficher les métadonnées supplémentaires.

Les options de la section E permettent de visualiser la sélection faite par l’utilisateur et offrent un compte dynamique du nombre de fichiers sélectionnés, ainsi que le nombre de fichiers présents dans le menu déroulant après l’application des filtres.

Finalement, la section F permet d’envoyer les données sélectionnées vers Galaxy, il est possible d’ajouter un nom de fichier pour l’historique Galaxy. Les données sont envoyées sous forme d’un fichier JSON contenant des métadonnées. Ce JSON peut être ensuite utilisé avec la plupart des outils epiGeEC sur la plateforme Galaxy. Tel que mentionné

précédemment, les fichiers sélectionnés seront lus directement par le serveur, ce qui évite à l’utilisateur d’avoir à télécharger de grandes quantités de données dans son historique.

Documents relatifs