Next: 5.3 Thèse en informatique
Up: 5. Du logiciel à
Previous: 5.1.5 Réunions thématiques
5.2 Développement d'un outil générateur
d'interfaces Web
Ces logiciels issus de la recherche sont souvent écrits
par des biologistes, ce qui en fait l'intérêt, mais ils
ne sont pas toujours adaptés aux utilisateurs
occasionnels, pour qui l'apprentissage d'une
interface ligne de commande sous Unix est
rarement aisé, d'autant plus que chaque logiciel
comporte sa propre logique et sa propre syntaxe.
Afin d'épargner cet apprentissage aux utilisateurs,
et de présenter tous les logiciels sous une forme
homogène, j'ai développé un générateur d'interfaces
qui permet, à partir de la description du
paramétrage d'un programme, de générer des
interfaces Web (formulaire HTML et CGI). Il peut
servir également à définir des fichiers de
configuration de menus pour d'autres
interfaces (GDE, SeqLab).
Les interfaces ont été testées par une douzaine
d'utilisateurs (choisis de manière quasi aléatoire)
répartis en deux niveaux techniques et
groupés par deux : dans un groupe, l'un donnait
des consignes et l'autre effectuait les opérations
et les décrivait à voix haute. Ce procédé aussi
simple soit-il a permis de déceler les failles du
prototype, parfois difficiles à repérer par un
informaticien, et a été apprécié des utilisateurs
qui voyaient qu'on leur demandait enfin leur
avis !
Les caractéristiques principales des interfaces
Web peuvent se résumer ainsi :
- adaptation du serveur à la durée des travaux :
- long (> 1 minute) : batch ;
techniquement, le CGI se
détache du job et affiche une page d'état ;
- court : accès immédiat aux résultats ;
- les résultats sont accessibles par le
Web et par courrier électronique : lorsqu'il
s'agit d'un job long, les résultats sont
envoyés par courrier électronique, ainsi que
l'URL
pour accéder aux résultats par le Web ;
- enchaînement des programmes : les
programmes susceptibles de
fonctionner avec comme entrée un des
fichiers de sortie du programme qui vient
d'être terminé sont proposés dans un petit
menu à partir duquel l'utilisateur peut
accéder aux formulaires d'autres logiciels,
sans avoir à ré-entrer les données ; cette
fonction de chaînage et d'exploration est
très appréciée et permet de découvrir des
logiciels moins connus mais excellents ;
- détection des soumissions équivalentes :
certains calculs peuvent durer plusieurs
heures, voire plusieurs jours ; il nous a paru
utile de protéger les utilisateurs contre des
maladresses ou des abus (il n'y a pas à
l'heure actuelle de gestion de jobs à
proprement parler) ;
- la commande Unix exécutée est toujours
affichée, et ce à des fins pédagogiques : une
interface utilisateur ne doit pas selon nous
cacher ses dessous, et l'utilisateur possédant
un compte sur la machine centrale peut
obtenir le même résultat en notant
les paramètres exacts ; ces derniers peuvent
aussi servir de référence dans une publication
ou pour le dialogue avec le support
technique ;
Actuellement, plus d'une soixantaine d'interfaces sont
proposées, dans plusieurs domaines :
- alignement de séquence (avec les banques ;
Blast (les 3 versions), Fasta ; de deux
séquences : Wise, Lassap ; de plusieurs
séquences : Clustalw, Dialign, DCA) ;
- recherche de gènes (MORGAN, GLIMMER,
Xpound, Genscan, GeneMark, GRAIL, ...) ;
- recherche de motifs (Prosearch, ProDom,
tacg, plsearch, BLIMPS, hmmer, pftools, SAM)
(MEME et PrattWWW sont installés, mais sont
écrits par les auteurs eux-mêmes) ;
- analyse d'ARN : mfold, RNAfold (Vienna
package), tRNAscan-SE, FAStRNA ;
- analyses de structure : STRIDE, DSSP,
DSC, PREDATOR, NNSSP ;
- phylogénie : PHYLIP, fastDNAml,
Molphy, BIONJ, Puzzle, Seq-Gen ;
- outils divers de formattage et d'analyse
de résultats.
Plus d'un millier d'utilisateurs les ont utilisées
durant la première année. Actuellement, entre 100
et 250 jobs sont soumis chaque jour.
Le développement de nouvelles interfaces est
relativement aisé ; il est une fonction linéaire du
nombre de paramètres d'un logiciel - par
exemple, l'interface d'un programme comportant
une dizaine de paramètres est réalisée en une heure.
Le générateur d'interfaces Pise :
http://www-alt.pasteur.fr/ letondal/Pise/
Les logiciels accessibles par l'interface :
http://bioweb.pasteur.fr/#log
Next: 5.3 Thèse en informatique
Up: 5. Du logiciel à
Previous: 5.1.5 Réunions thématiques