BioMAJ

Fiche dév Ens Sup - Recherche
  • Création ou MAJ importante : 11/05/10
  • Correction mineure : 03/05/12
Mots-clés

BioMAJ : mise à jour et transformation automatique de banques biologiques

Ce logiciel a été développé (ou est en cours de développement) dans la communauté de l'Enseignement Supérieur et de la Recherche. Son état peut être variable (cf champs ci-dessous) donc sans garantie de bon fonctionnement.
  • Site web
  • Système : UNIX-like
  • Version actuelle : 1.2 - 23/07/2011
  • Licence(s) : CeCILL
  • Etat : validé (au sens PLUME), diffusé, stable
  • Support : maintenu, développement en cours
  • Concepteur(s) : Olivier Sallou ( Plate-forme GenOuest - INRIA) Romaric Sabas ( Plate-forme GenOuest - INRIA) David Allouche (Unité de Biométrie Intelligence Artificielle - INRA ) Christophe Caron (plate-forme MIGALE - INRA ) Olivier Filangi ( Plate-forme GenOuest - INRIA )
  • Contact concepteur(s) : support@genouest.org
  • Laboratoire(s), service(s)... : GenOuest, INRIA Rennes, IRISA, MIG, UBIA

 

Une fiche logiciel décrit plus en détail ce développement, consultez la pour plus d’informations : BioMAJ
Fonctionnalités générales du logiciel

Le programme permet de se connecter à un site distant pour récupérer des banques biologiques (ensemble de fichiers plats) dans une arborescence. Régulièrement, le programme va inspecter ce site et détecter des changements en fonction d'un fichier de release ou en se basant sur les dates de modification des fichiers distants. Si une mise à jour est détectée, le logiciel rapatrie localement les données et exécute un workflow de transformation des données (si des transformations sont définies dans la configuration). Une fois ce workflow terminé, la nouvelle version est mise "en ligne" et l'ancienne version est éventuellement supprimée.

Le logiciel est développé en Java pour ce qui est du moteur de mise à jour. Les outils de workflow de transformations des banques biologiques sont gérés par des appels externes. Un certain nombre de scripts ont été fournis par l'équipe de développement sous la forme de scripts shell ou perl, d'autres scripts peuvent être soumis par la communauté via le site web de l'application.
L'outil ne tourne donc pour l'instant que sous Linux (ou Unix).

Il n'y a pas de contraintes de langages pour le développement de scripts, le logiciel met à jour un ensemble de variable d'environnement pour le script externe (nom de la banque, version actuelle etc..) et récupère les flux de sorties standard. Le code de retour du programme informe le logiciel du bon déroulement du process. Ceci offre une grande flexibilité dans le développement de processus de transformation.

Différents protocoles de communications sont disponibles pour récupérer les banques de données distantes (http, scp, ftp, s3). Le logiciel parcours ensuite l'arborescence distante pour analyser les changements et mettre à jour la banque si nécessaire en local. Des expressions régulières permettent de sélectionner ou exclude des fichiers/répertoires.

Le logiciel marche en ligne de commande et peut exécuter plusieurs mises à jour en parallèle. Le système de workflow permet, en cas d'erreur sur l'un des process, de reprendre une mises à jour là où il s'est arrêté.

Une interface web, le biomaj-watcher, permet également d'administrer les banques (configuration, mise à jour,...) et d'exposer aux utilisateurs des informations sur les banques disponibles. Une interface REST permet également d'interroger le système pour connaitre l'état des banques, ou la liste des banques disponibles dans tel ou tel format.

Le logiciel gère également la notion de banques privées et de banques publiques, offrant une visibilité plus ou moins restreinte sur les banques gérées via l'interface web.

Des rapports détaillés sur les banques disponibles et leurs états sont accessibles en ligne de commande, ou bien dans l'interface web.

Le logiciel est également disponible dans la distribution Debian/Ubuntu.

Contexte d’utilisation du logiciel

Le logiciel permet à de nombreux laboratoires utilisant des banques biologiques (Genbank, Uniprot,...) disponibles sur le web, de récupérer ces banques (ou une partie) localement afin de les traiter. Ceci inclu des transformations pour traitement ultérieurs (indexation Blast par exemple), ou bien de remettre à jour leurs propres données en les croisant avec les sites "généralistes".
Prenons un exemple:
Un programme particulier effectue des recherches sur un génome et affiche ses résultats sur le web.
Avec BioMAJ, le génome sera automatiquement mis à jour sur une base régulière (tous les mois par exemple), et un post-process défini dans le workflow de mise à jour exécutera ce programme pour analyser à nouveau les génomes, et donc afficher en permanence sur le web des données à jour.

Publications liées au logiciel

BioMAJ: A flexible framework for databanks synchronization and processing: http://bioinformatics.oxfordjournals.org/cgi/content/abstract/btn325?