Mobyle 1.0 Hervé Ménager, Vivek Gopalan, Bertrand Néron, Sandrine Larroudé, Julien Maupetit, Adrien Saladin, Pierre Tuffery, Yentram Huyen, Bernard Caudron
Qu'est-ce que c'est??
A quoi ça ressemble?
Un framework d'intégration de ressources bioinformatiques: pour qui? pour quoi? Application destinée aux biologistes (pas seulement aux bioinformaticiens). Assure une visibilité pour les services proposés, et permet d'encourager de bonnes pratiques. Facilite l'administration, et permet le partage de ressources (services, données).
Une application destinée aux biologistes 64% des services utilisés par des biologistes sans "bagage informatique" Problèmes d'utilisabilité des services web recensés: -40% n'ont pas de d'exemples de données. -40% n'ont pas de texte d'aide ou de documentation -36% ont une interface contre-intuitive -24% n'ont pas de support ou support inopérationnel. -19% ont une interface mal concue (mauvaise taille des champs d'édition). -9% n'ont pas d'information de contact. Tous ces problèmes sont pris en compte par Mobyle. (sources statistiques Schultheiss, BOSC 2010: http://www.slideshare. net/bosc2010/schultheiss-bosc2010-persistancewebservices)
Combler les lacunes des interfaces web existantes Données d'exemple, d'aide en ligne, liens d'aide
Combler les lacunes des interfaces web existantes Liens vers des pages d'aide et références bibliographiques:
Combler les lacunes des interfaces web existantes lien vert le support utilisateur intégré: SUPPORT TEAM
Faciliter l'intégration de ressources multiples De nombreux types de "services" sont disponibles via Mobyle: des programmes "ligne de commande" des workflows [NOUVEAU] des viewers [NOUVEAU] Pouvoir regrouper un grand nombre de ressources en conservant une interface utilisable.
Les "services" disponibles: les Workflows Services, de même nature que les programmes: exécutés "côté serveur". décrits via un fichier xml. déployés via mobdeploy
Les "services" disponibles: les Workflows (2) Ils apparaissent à gauche du portail Mobyle sont "explorables" via l'outil de recherche o peuvent être classés de la même manière que les programmes o
Les "services" disponibles: les Workflows (3) Ils sont paramétrables via des formulaires similaires à ceux des programmes.
Les "services" disponibles: les Workflows (4) Ils sont paramétrables via des formulaires similaires à ceux des programmes. Les résultats apparaissent dans l'onglet "Jobs"
Les "services" disponibles: les Workflows (5) Les résultats apparaissent d'ans l'onglet "Jobs" Ils sont paramétrable via des formulaires similaires à ceux des programmes. Les résultats apparaissent dans l'onglet "Jobs" Les résultats intermédiaires sont accessibles en cliquant sur le diagramme
Les viewers Problème: les résultats de l'exécution de services sont souvent dans des formats difficiles à lire et interpréter Solution: fournir des outils de visualisation plus évolués...
Les viewers: VARNA
Les viewers: Jalview
Les viewers: Archaeopteryx
Les viewers: implémentation composants "web": Applets Java, mais aussi composants Flash, Ajax, ou simple HTML. spécifiques d'un type de donnée: le composant sera proposé pour toute donnée (résultat de job ou bookmark) directement compatible. seulement pour la visualisation (ou la mise en forme) des données.
Classification et Recherche Classement des services: par catégorie par package [NOUVEAU] par type (Programme vs Workflow) [NOUVEAU] Recherche sur les descriptions disponible.
Comment guider plus efficacement l'utilisateur dans le choix des services? En analysant les données de l'utilisateur et les possibilités du portail: proposer des services en fonction des données existantes, proposer des données en fonction des services demandés. Grâce au typage des paramètres et des données.
Typage des paramètres et des données
Compatibilité La compatibilité entre une source (une donnée existante ou un paramètre en sortie d'un service) et une cible (paramètres en entrée d'un service): Biotypes compatibles -> Biotype source inclus dans la liste des Biotypes cibles, Datatypes compatibles -> classe du Datatype source est équivalente ou sous-classe de la classe du Datatype cible, Data formats compatibles -> Format source inclus dans les formats acceptés par la cible...... ou peut être converti dans un des formats acceptés par la cible
Réutilisabilité des données Réutiliser les données stockées dans l'espace utilisateur dans de multiples analyses: les données de l'utilisateur sont filtrées selon les règles de compatibilité.
Composition de services Enchaîner des services pour analyser les données l'assistance à la composition est basée sur les règles de compatibilité. la composition peut être interactive ou non.
Composition de services (2) Création de workflows [en développement] L'enchaînement de tâches est guidé par un système de suggestions "avant"/"arrière": quelle service peut analyser le résultat de cette tâche? quel service peut produire la donnée en entrée pour cette tâche?
Typage dynamique: plus de précisions, pour plus de pertinence. Permet de calculer le format d'un résultat en fonction d'options sélectionnées en entrée du workflow Maximise l'efficacité des enchaînements, réutilisations
Assistants de formats de données: plus de facilité pour l'utilisateur, plus de sécurité pour le serveur Composants permettant: la détection et la validation de formats de données la conversion entre différents formats de données
Gestion de l'espace de travail Gestion/visualisation des données utilisateur
Gestion de l'espace de travail (2) Gestion/visualisation des données utilisateur
Gestion de l'espace de travail (3) Gestion/visualisation des jobs utilisateur
Encourager les bonnes pratiques auprès des développeurs de services séparer le programme du service, en développant un programme distribué et utilisable séparément. les informations et services cités ci-dessus ne sont pas explicitement obligatoires avec Mobyle, mais le système prévoit leur intégration par défaut.
Assurer la visibilité des services Faciliter le référencement par les moteurs de recherche: o publication de cartes au format sitemap Faciliter la découverte de "nouveautés" en regroupant de nombreux outils, et en facilitant leur interopérabilité
Faciliter l'administration Mobyle permet d'avoir un point d'accès central pour tous les services hébergés. Une arborescence cohérente pour les jobs et les espaces utilisateurs. Une flexibilité vis à vis des systèmes d'exécution : o system o Sun Grid Engine ( script et via DRMAA) o torque (via DRMAA) o LSF (via DRMAA) Mobyle peut gérer ces systèmes en parallèle: o certains jobs vont être exécutés sur le cluster1 o d'autres seront exécutés sur le cluster2.
Faciliter l'administration (2) Une gestion de la visibilité et l'accès aux services par IP. Cette fonctionnalité permet de publier des services dans Mobyle mais de restreindre l'accès à ce service à une ou un groupe d'ip. C'est utilisée notamment dans la gestion des logiciels sous licence. AUTHORIZED_SERVICES = { 'http://mobyle.pasteur.fr/toppred.xml' : [ '125.234.60.18', o '125.234.60.*', o ]} o o Permet de désactiver/activer rapidement un ou un groupe de services trés rapidement. o o DISABLE_ALL = False DISABLED_SERVICES = [ 'portal1.service1', *', 'local.clustalw*' ]
Faciliter l'administration (3) Fournit des outils pour surveiller l'activité sur votre site: o log d'accès Tue, 25 Jan 2011 13:57:12 distmat R32153219713926 xxxx@hotmail.com 999.999.99.99 pasteur Tue, 25 Jan 2011 13:58:41 drawtree J32296030771017 xxx@gmail.com 999.999.99.99 pasteur Tue, 25 Jan 2011 14:02:04 revseq K32555239106894 xxxx@pasteur.fr 999.999.99.99 pasteur o mobjobw -------------------------------------------------------------------------------G24120715090990 -- SGE_DRMAA/mobyle -- running puzzle -- xxx@ed.ac.uk -- 01/25/11 12:30:27 -- LOCAL -- STANDALONE -- 999.999.99.99 \UNKNOWN puzzle 6.phylip < puzzle.params -------------------------------------------------------------------------------V29153083064079 -- SGE_DRMAA/mobyle -- running blast2 -- xxx@pasteur.fr -- 01/25/11 13:27:07 -- LOCAL -- STANDALONE -- 999.999.99.99 \UNKNOWN blastall -p blastx -d uniprot -i data.txt -F F -v 10 -b 5 -o blast2.txt && html4blast -g -o blast2.html blast2.txt
Faciliter l'administration (4) Une simple ligne de shell permet d'avoir des vues plus global sur l'utilisation des services : nombre de jobs/jour, liste des utilisateurs, programmes utilisés... mobprog 117... dotmatcher 117... protdist 120... drawtree 163... clustalw-multialign 164... mfold 181... restrict 206... neighbor mobjobs 166... 21 Jan 330... 22 Jan 563... 23 Jan 764... 24 Jan 808... 25 Jan
Faciliter l'administration (5) Un seul outil pour publier tous ces services: mobdeploy o valide les services (descriptions XML), o vérifie la cohérence imports/exports et les services prérequis par les workflows, o deploie et indexe les services. Des outils pour maintenir votre site: mobclean o nettoie les jobs finis au bout d'une durée déterminée (x jours), o nettoie les sessions anonymes et "inactives".
Permettre le partage de ressources: MobyleNet Mobyle fournit une solution technique pour la mise en place d'un réseau de partage de ressources en bioinformatique: MobyleNet
Import/Export de ressources avec MobyleNet
Conclusion 10 règles simples pour publier un "service web" bioinformatique (Schultheiss, BOSC 2010): Version standalone si possible, Connaître son audience, Utiliser un framework existant, Créer un outil portable, Fournir documentation et assistance, Inclure la communauté, Expliciter les changements (versions), Rediriger en fin de vie, Trouver quelqu'un d'autre pour le faire, Planifier la fin du cycle de vie.
Remerciements Institut Pasteur Bertrand Néron Sandrine Larroudé Corinne Maufrais Nicolas Joly Bernard Caudron Sophie Créno GenOuest Olivier Sallou Anthony Bretaudeau NCSU Ignazio Carbone Trent Monacell And many others... RPBS Julien Maupetit Pierre Tufféry Adrien Saladin LIPM Toulouse Sébastien Carrère NIAID BCBB Vivek Gopalan Yentram Huyen
Questions