BioMAJ

Fiche logiciel validé
  • Création ou MAJ importante : 18/02/13
  • Correction mineure : 16/03/13
  • Rédacteur de la fiche : David Allouche - un des concepteurs du logiciel - BIA toulouse (INRA, INRIA, CNRS)
  • Relecteur(s) : Emmanuel Courcelle (LIPM)
  • Contributions importantes : Christophe Caron (MIG INRA Jouy-en-Josas)
  • Responsable thématique : Christelle Dantec (CRBM)
Mots-clés
Pour aller plus loin
Fiche en recherche de repreneur
Cette fiche est en recherche d'un repreneur. Si vous êtes intéressé(e)s, contactez-nous !

BioMAJ : moteur de workflows pour la synchronisation des données (en biologie notamment)

Une fiche Dév Ens Sup est en relation avec cette fiche, consultez-la pour plus d'informations : BioMAJ
Description
Fonctionnalités générales

BioMaJ (Biologie Mise A Jour) est un moteur de workflows dédié à la synchronisation puis au traitement de données. L’application peut gérer une masse de données importante et des workflows de post-traitements relativement complexes: typiquement, l'indexation de banques de données peut constituer un post-traitement. Une des motivations de son développement a été la mise en place d'une démarche qualité pour la maintenance des données de séquence biologiques.
Initialement conçue pour traiter des données de biologie, BioMaJ est généraliste et peut être utilisée dans tout domaine ayant à gérer des données massives et distribuées, qui nécessitent des consolidations puis des traitements.
Elle peut également être utilisée simplement pour synchroniser les données entre un appareillage disposant d’un server ftp et un serveur central unix: l’avantage est alors une traçabilité complète des sessions réalisées. Enfin dans un autre registre BioMaJ peut être utilisé pour déployer des données sur une frontale de calcul en vue de leur traitement. Ce mode d'utilisation est maintenant facilité par son interface graphique (biomajwatcher), qui permet selon son groupe et ses droits :

  • d’administrer,
  • de consulter,
  • de post-traiter,
  • ou de planifier la mise à jour de source de données publiques (visibles de tous) ou privées (visibles uniquement d'un utilisateur ou d'un groupe) 

L'application est disponible pour les principales distributions linux.

Autres fonctionnalités
  • Synchronisation
    • Support de protocoles variés (ftp, sftp, rsync , local copy, AmazonS3, Http direct URL download)
    • Sélection de tout ou parti des données de la source via des expressions régulières.
    • Reprise sur erreur lors de la synchronisation et des post-traitements
    • Vérification de l'intégrité des données transférées
    • Multi threading
    • Normalisation de l'organisation des versions et des données
  • Post processing
    • Formalisme facile mais avancé de description de workflows (D.A.G)
    • Post-process d'indexation prêts à l'emploi pour de multiples applications bioinformatiques (blast, srs, fastacmd, readseq, etc.)
    • Intégration aisée de script de post- traitements personnel dans le langage de votre choix
  • Supervision
  • interface d'analyse des log
    • Génération automatique de rapports d'exploitation du logiciel au format html
    • incluant différentes statistiques représentées sous forme de Graphes, notamment :
    • de suivi d'évolution du dépôt global
    • de suivi d'évolution individuelle pour chaque source maintenue
    • Envoi d'un courriel lors de l'exécution d'un cycle de mise à jour
    • Interrogation en ligne du contenu du dépôt

Un éventail important de fichiers de description de workflows pour la récupération et l'indexation de banques de données biologiques est disponible sur le site du projet (Genbank, PDB, EMBL, Swissprot, génomes complets, tant eucaryotes que procaryotes, ....). Des scripts d'indexation ou de conversion de format pour une dizaine d'outils bioinformatiques sont également mis à disposition.

la dernière version inclut des nouvelles interfaces pour :
* la consultation et l'administration (Bmajwatcher)
* la maintenance de banque privées visible par un utilisateur
* le déport automatique de calcul de post-processus via un système de queue
* la gestion des dépendances entre banques
* une interface permettant la planification des mises à jours de banques
* l'application supporte maintenant la connexion aux cloud Amazon et google

Interopérabilité

BioMAJ est compatible avec les OS de base UNIX disposant de java 1.6.x et ant 1.7.
BioMAJ n'est pas compatible avec les OS Microsoft car l'application utilise des liens symboliques ( sur des fichiers et des répertoires).

Contexte d'utilisation dans mon laboratoire/service

BioMaJ est déjà utilisée par trois plates-formes bioinformatique depuis 2007, ou il maintient environ une soixantaine de banques biologiques (genbank , embl, swissprot, genomes, pdb ...) occupant plusieurs Téraoctets.
En résumé BioMaJ permet de:

  • Réaliser le mirroring de données distantes ou locales
  • Automatiser des traitements sur les données (via des post-processus fournis ou vos propres script de traitement)
  • Si on inverse le référentiel, l'application peut être utilisée pour déployer des données en vue de leur traitement sur un serveur distant
  • Il peut être aussi utilisé pour maintenir la mise à jour de logiciel non distribué sous aptitude ou yum

Vous pouvez consulter un rapport d'exécution en cliquant ici.

Limitations, difficultés, fonctionnalités importantes non couvertes
  • Le mode block de rsync n'est pas supporté.
Environnement du logiciel
Distributions dans lesquelles ce logiciel est intégré

debian sid , ubuntu

Plates-formes
  • BioMaJ a été développé en Ant et java, elle supporte donc une grande variété de systèmes UNIX : distributions linux, solaris, MacOS X, BSD.
  • L'application ne fonctionne pas sous les OS Microsoft car elle utilise des liens dans la phase de synchronisation des données.
Logiciels connexes
  • Java
  • ant
  • wget
  • tar
  • gzip
  • bzip
  • unzip
  • tomcat
Autres logiciels aux fonctionnalités équivalentes

Pas d'équivalent incorporant l'ensemble des fonctionnalités.

Environnement de développement
Type de structure associée au développement

BioMAJ est le fruit d'une collaboration entre des membres issus de 3 équipes de recherche françaises :

Eléments de pérennité
  • Technologie java
  • Protocoles de communication standards
Références d'utilisateurs institutionnels

L’application est utilisée sur trois plates-formes bioinformatiques françaises (INRA, INRIA, CNRS) pour assurer la maintenance des principales banques de données biologiques mises à disposition par la communauté scientifique internationale.

Environnement utilisateur
Liste de diffusion ou de discussion, support et forums
Documentation utilisateur
  • Un manuel d'utilisation complet ainsi qu'un tutoriel d'installation sont disponibles sur le site.
  • L'application est distribuée avec un ensemble d'exemples de workflows de maintenance des principales banques de données biologiques.
  • Plusieurs post-processus sont également disponibles.
Contributions

L'objectif de la fiche plume est de promouvoir l'utilisation de BioMAJ et éventuellement de mutualiser les workflows de maintenances de sources de données pour les banques de données publiques (en biologie ou autres disciplines: chimie , physique, spatial, ...).
Les besoins de contribution sont :

  • Ecriture de nouveaux workflows pour des sources de données publiques en biologie, mais surtout dans d'autres disciplines
  • Ecriture de scripts de pré ou post-processus pour effectuer des traitements métiers sur les données.
  • Développement d'interfaces hommes-machines pour l'édition de workflows.

Si vous voulez contribuer, vous pouvez contacter les membres du projet à l'adresse mail : biomaj_AT_genouest.org