calcul scientifique

Logiciels (logiciels libres en majorité) ou ressources (liées aux logiciels) utiles aux chercheurs et enseignants pour le calcul scientifique
Mots-clés

Journées SUCCES 2013

Les journées SUCCES 2013 sont "webcastées", aujourd’hui et demain, avec diverses présentations de logiciels déjà sur PLUME.

FindStat : the Combinatorial Statistic Finder

Fiche ressource Article, événement, site web...
  • Création ou MAJ importante : 07/10/13
  • Correction mineure : 07/10/13
Mots-clés

FindStat : the Combinatorial Statistic Finder

FindStat est à la fois une base de données et un service web pour les chercheurs en combinatoire.

La combinatoire est l'étude des ensembles finis d'objets. A ces objets, on associe souvent des nombres qu'on appelle des statistiques. Par exemple, à une permutation [2,4,1,3], on associe le nombre d'inversion (ici 3 inversions : 2 et 1, 4 et 1, 4 et 3). FindStat se propose de répertorier les différents objets combinatoires et les statistiques qui leur sont associées.

Le service web permet à un chercheur de savoir si les nombres qu'il obtient dans ses calculs correspondent à une statistique connue dans la base de données. Par ailleurs, les objets combinatoires sont liés par de nombreuses bijections et certaines statistiques se comprennent mieux sur certains objets que sur d'autres. FindStat utilise Sage et Sage-Combinat pour appliquer toutes les transformations connues sur les objets entrés par l'utilisateur et ainsi décupler le nombre de statistiques à comparer.

Publications associées :

Sarah Biley and Bridget E. Tenner
Fingerprint Databases for Theorems
AMS Notices, September 2013,
http://www.ams.org/notices/201308/rnoti-p1034.pdf

Fiche dév Ens Sup - Recherche
  • Création ou MAJ importante : 07/10/13
  • Correction mineure : 07/10/13
Mots-clés

ocamlmath : calcul mathématique en OCaml

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 : 0.3 - septembre 2012
  • Licence(s) : LGPL - v2 avec exception statique : exactement comme pour les bibliothèques (standard ou non standard) de la distribution standard d'OCaml
  • Etat : en développement
  • Support : maintenu, développement en cours
  • Concepteur(s) : Stéphane Grognet
  • Contact concepteur(s) : stephane (dot) grognet (at) univ-nantes.fr
  • Laboratoire(s), service(s)... : IREM Pays de la Loire, Labo Maths Jean Leray

 

Fonctionnalités générales du logiciel

La bibliothèque ocamlmath contient des programmes de calculs en mathématiques générales pour le langage OCaml, avec l'objectif de fabriquer des exemples de calculs à l'aide d'un automate.

Contexte d’utilisation du logiciel

La bibliothèque ocamlmath peut être utilisée de manière interactive dans le pseudo-interpréteur de commandes d'OCaml (toplevel), avec des possibilités graphiques.

Elle peut servir à compiler des logiciels autonomes ; par exemple, le logiciel ferdinand (inclus dans la bibliothèque) numérise des photographies d'oscilloscopes cathodiques ou de tables traçantes avec un pouvoir de séparation verticale seulement limité par le bruit de souffle.

La distribution standard d'OCaml est nécessaire ; la programmation est réalisée sous FreeBSD.

La documentation-spécification est compilée en html à partir du code source et est publiée sur le site web de la bibliothèque ocamlmath.

Fiche dév Ens Sup - Recherche
  • Création ou MAJ importante : 06/10/13
  • Correction mineure : 06/10/13
  • Auteur de la fiche : Luc Hogie (I3S)
  • Responsable thématique : Dirk Hoffmann (Centre de Physique des Particules de Marseille (CPPM-IN2P3))
Mots-clés

jaseto : JAva SErialisation TOolkit

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, Windows, MacOS X
  • Version actuelle : 2013.08.30.14.13.40 - 2013.08.30
  • Licence(s) : LGPL
  • Support : maintenu, développement en cours
  • Concepteur(s) : Luc Hogie
  • Contact concepteur(s) : luc.hogie@cnrs.fr
  • Laboratoire(s), service(s)... : INRIA Sophia

 

Fonctionnalités générales du logiciel

Jaseto est une librairie Java qui permet la description d'objets Java en XML, et en sens inverse, de la création d'objets Java à partir de leur représentation XML. Ce processus est communément appelé (de)sérialisation. Il est généralement utilisé pour la persistance des données, en stockant le code XML sur le disque ou dans une base de données XML.

D'autre librairies telles XStream, Castor, et JAXB ont été développées dans cette même optique. Jaseto a à son avantage un code source plus clair et plus court, de meilleures performances (il s'avère 10 fois plus rapide que Castor et XStream), et proposes des solutions à certaines de leurs limitations. En particulier, il ne nécessite pas de savoir le type concret de l’objet de retour (Castor), il n'impose pas d'avoir recours aux annotations, de respecter la spécification JavaBean, etc.

Contexte d’utilisation du logiciel

Jaseto est utilisé au sein de notre laboratoire pour le stockage de données de configuration et la persistance de données représentées sous la forme de graphes.

Fiche logiciel validé
  • Création ou MAJ importante : 30/09/13
  • Correction mineure : 30/09/13
Mots-clés

InterProScan : identification dans un jeu de séquences des signatures protéiques d'intérêt

Description
Fonctionnalités générales

InterProScan est un environnement logiciel qui permet d'identifier dans un jeu de séquences des signatures protéiques d'intérêt en scannant des banques de motifs et signatures de référence et en utilisant des algorithmes détectant des biais de composition (SEG, TMHMM, Signal-P).

En utilisant plusieurs méthodes de reconnaissance, il effectue des recherches de signatures protéiques dans 11 bases de données de motifs ou domaines protéiques telles que PROSITE, PRINTS, Pfam, ProDom, SMART ou TIGRFAMMs. Chacune de ces bases de références utilisent des méthodes différentes d'identification (HMM, profils, etc.) et de manière plus ou moins automatique.

Usage

Un site WEB est mis à la disposition de la communauté par l'EBI, mais cette fiche se penchera sur le retour d'expérience lié au déploiement d'un environnement sur une plate-forme, permettant de traiter de larges jeux de données (ex : 100 000 séquences).

InterProScan s'utilise aussi via un script frontal qui se charge de lancer les différentes comparaisons. Ces traitements peuvent s’exécuter sur un cluster. La parallélisation des traitements s'effectuera alors en deux étapes

  • tout d'abord par le découpage en sous jeu de données ("chunk") des séquences dont la taille sera définie par l'administrateur,
  • et par l’exécution en parallèle des différentes recherches  (une quinzaine dont par exemple hmmer sur la banque tigrfams) pour chaque sous jeu de données.

InterProScan est capable de traiter des séquences nucléiques et protéiques au format FASTA (multiple). Pour les séquences nucléiques, une traduction selon les 6 phases de lecture est automatiquement effectuée.

Exemple de ligne de commande

iprscan -cli -i mydataset.fasta -email myemail@mydomain -seqtype n -iprlookup -goterms -o mydataset.out -verbose

Fichiers résultats

Interproscan génère des fichiers de sorties pour chaque traitement sur les différents chunks. Un post traitement permet de filtrer et corriger certains hits. Au final, un fichier merged.raw est généré pour chaque chunk. Enfin, Interproscan concatène l'ensemble de ces résultats en un seul fichier. Il existe un fichier résultat par comparaison lancée, ainsi qu'un fichier de synthèse. Un jeu de test permet aussi de vérifier que l'outil fonctionne correctement en local.

Autres fonctionnalités

Le fichier RAW peut etre converti en divers formats (xml|ebixml|raw|html|txt|gff3) via le script converter.pl fournit dans la distribution.

Interopérabilité
  • Connexion aux environnements de calcul de type SGE 6.x, LSF et PBS.

  • Utilisation de la suite BioMaj pour mettre à jour automatiquement les banques de données associées.

  • Le site de l'EBI propose des accès Web Services (SOAP & REST).

Contexte d'utilisation dans mon laboratoire/service

InterProScan est principalement utilisé pour des traitements automatiques sur de gros volumes de séquences d'intérêt.
Les résultats donnent une information factuelle (présence/absence de domaines/sites) permettant l'annotation de protéomes. Le couplage avec la GeneOntologie ainsi que la structuration en arbre des domaines/familles InterPro permet de générer des annotation fonctionnelles synthétiques.

Limitations, difficultés, fonctionnalités importantes non couvertes
  • L'installation nécessite de disposer d'un environnement de type plate-forme.

  • La mise à jour des banques implique également une indexation à chaque miuse à jour

  • La version 5 devrait lever certains verrous en rendant l'application plus modulaire et intégrable à des pipelines et traitement annexes.

Environnement du logiciel
Plates-formes

Environnement Linux disposant du langage PERL.

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

Développement opéré par l'EBI.

Eléments de pérennité
  • Logiciel très utilisé par la communauté.

  • Correctifs et évolutions fréquents.

  • Banques de données mises à jour fréquemment.

Références d'utilisateurs institutionnels
Environnement utilisateur
Liste de diffusion ou de discussion, support et forums
Documentation utilisateur
Fiche dév Ens Sup - Recherche
  • Création ou MAJ importante : 22/09/13
  • Correction mineure : 30/09/13
Mots-clés

ImagineMVS : reconstruction 3D en stéréo multi-vues

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, Windows, MacOS X
  • Version actuelle : 20101112 - 12/11/2010
  • Licence(s) : Licence propriétaire
  • Etat : utilisé en interne
  • Support : maintenu, sans développement en cours
  • Concepteur(s) : Renaud Keriven
  • Contact concepteur(s) : renaud.keriven @ acute3D.com
  • Laboratoire(s), service(s)... : LIGM, société Acute3D

 

Fonctionnalités générales du logiciel

Une chaîne algorithmique complète pour reconstruire un modèle 3D à partir de photographies.

Le logiciel prend en entrée des vues calibrées (c'est-à-dire des photographies avec appareil positionné et orienté dans l'espace et paramètres internes connus). En sortie, il produit une surface 3D texturée. Les étapes sont les suivantes :

  • estimation de correspondances denses entre images par balayage de plans (plane sweeping),
  • triangulation pour obtenir un nuage de points,
  • tétrahédrisation du nuage de points et élimination des faces cachées pour produire un maillage initial,
  • optimisation du maillage par minimisation incrémentale d'une énergie mêlant attache aux données et régularité,
  • création d'un atlas de textures à appliquer au maillage à partir de fragments issus des vues.
Contexte d’utilisation du logiciel

Utilisation en interne dans le projet IMAGINE (École des Ponts ParisTech/CSTB).

Ce logiciel est le coeur de métier de la start-up Acute3D.

Publications liées au logiciel

Vu Hoang Hiep, Renaud Keriven, Patrick Labatut and Jean-Philippe Pons. Towards high-resolution large-scale multi-view stereo, Proceedings of CVPR 2009, pp. 1430-1437.

Fiche dév Ens Sup - Recherche
  • Création ou MAJ importante : 22/09/13
  • Correction mineure : 30/09/13
Mots-clés

OpenMEEG : résolution de problèmes directs en électroencéphalographie et magnétoencéphalographie

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, Windows, MacOS X
  • Version actuelle : 2.1 - 17/08/2011
  • Licence(s) : CeCILL-B
  • Etat : diffusé, stable
  • Support : maintenu, développement en cours
  • Concepteur(s) : Theodore Papadopoulo
  • Contact concepteur(s) : Theodore.Papadopoulo @ inria.fr
  • Laboratoire(s), service(s)... : INRIA Sophia, LIGM

 

Fonctionnalités générales du logiciel

OpenMEEG, développé actuellement par le Projet Athena (INRIA Sophia Antipolis), s'attache essentiellement à la résolution du problème direct MEG (magnéto-encéphalographie) ou EEG (électroencéphalographie). A cet effet, il utilise une méthode par éléments finis de surface (BEM) qui fait intervenir à la fois potentiels sur les surfaces et courants normaux à celles-ci, ce qui donne des matrices symétriques contrairement aux approches classiques. Cette approche amène une meilleure précision dans les résultats.

Bien que développé essentiellement pour des problèmes liés au cerveau, OpenMEEG peut aussi être utilisé dans d'autres contextes tels que l'électrocardiographie, la stimulation de nerf ou l'étude de la propagation électrique dans la cochlée.

OpenMEEG part d'une description géometrico-physique de la tête sous la forme de surfaces emboîtées en forme de maillages (interfaces entre les tissus de la tête) et de conductivités des tissus délimités par ces surfaces. Puis, à l'aide d'une description des capteurs EEG et/ou MEG, il permet d'obtenir un leadfield, c'est-à-dire la matrice de transfert qui modélise la relation linéaire qui va des sources aux capteurs.

OpenMEEG est entièrement écrit en C++, mais est utilisable à partir de Matlab ou Python. Il est utilisé/intégré dans un certain nombre de suites logicielles dédiées à l'analyse des signaux du cerveau telles que Brainstorm, Fieldtrip ou SPM, ...

Contexte d’utilisation du logiciel

Recherche en imagerie médicale.

Publications liées au logiciel
  • A. Gramfort, T. Papadopoulo, E. Olivi, M. Clerc. OpenMEEG: opensource software for quasistatic bioelectromagnetics, BioMedical Engineering OnLine 45:9, 2010.

  • Kybic J., Clerc M., Abboud T., Faugeras O., Keriven R., Papadopoulo T., A common formalism for the integral formulations of the forward EEG problem. IEEE Transactions on Medical Imaging, 24:12-28, 2005.

  • Voir aussi la documentation du logiciel : http://www-sop.inria.fr/athena/software/OpenMEEG/i...

Fiche dév Ens Sup - Recherche
  • Création ou MAJ importante : 13/09/13
  • Correction mineure : 13/09/13
Mots-clés

Ibex : bibliothèque numérique C++ pour l'arithmétique d'intervalles et la programmation par contraintes

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, Windows, MacOS X
  • Version actuelle : 2.0.9 - 28/08/2013
  • Licence(s) : LGPL - v3
  • Etat : diffusé en beta
  • Support : maintenu, développement en cours
  • Concepteur(s) : équipe d'Ibex
  • Contact concepteur(s) : gilles.chabert @ mines-nantes.fr
  • Laboratoire(s), service(s)... : Lab-STICC, LIGM, LINA, LIRMM, OSM, Universidad Técnica Federico Santa María (Chile)

 

Fonctionnalités générales du logiciel

Cette bibliothèque C++ s'utilise pour résoudre une variété de problèmes pouvant se formuler de la façon suivante :

Trouver une caractérisation fiable en boîtes (produits cartésiens d'intervalles) d'ensembles définis implicitement par contraintes.

L'adjectif "fiable" signifie que toutes les sources d'imprécision doivent être controlées :

  • approximation des nombres réels par réels à virgule flottante,
  • erreurs d'arrondi,
  • troncatures de linéarisation,
  • incertitudes des paramètres du modèle,
  • bruit de mesure,
  • ...
Contexte d’utilisation du logiciel

Outil de recherche en programmation par contraintes.

Publications liées au logiciel
Fiche dév Ens Sup - Recherche
  • Création ou MAJ importante : 13/09/13
  • Correction mineure : 13/09/13
Mots-clés

Norm_Est : estimation de normales de nuage de points

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, Windows, MacOS X
  • Version actuelle : 20130813 - 13/08/2013
  • Licence(s) : GPL - v3
  • Etat : diffusé, stable
  • Support : maintenu, sans développement en cours
  • Concepteur(s) : Alexandre Boulc'h
  • Contact concepteur(s) : boulc-ha @ imagine.enpc.fr
  • Laboratoire(s), service(s)... : LIGM

 

Fonctionnalités générales du logiciel

Ce logiciel permet de calculer la normale à la surface sous-jacente en chaque point d'un nuage donné. L'algorithme ne lisse pas au niveau des angles tout en étant d'une rapidité comparable à l'état de l'art.

Contexte d’utilisation du logiciel

Logiciel utilisé pour obtenir des résultats de la publication [1], voir aussi les transparents de la présentation (sur le site web).

Publications liées au logiciel

[1] Alexandre Boulc'h et Renaud Marlet, Fast and Robust Normal Estimation for Point Clouds with Sharp Features,
Symposium of Geometry Processing 2012, Tallin, Estonia.

Fiche logiciel validé
  • Création ou MAJ importante : 13/09/13
  • Correction mineure : 13/09/13
  • Rédacteur de la fiche : Olivier Langella - UMR de Génétique Végétale (CNRS, INRA, AgroParisTech, Université Paris Sud)
  • Relecteur(s) : Loïc Dachary (dachary.org)
    David Rousse (CNRS DSI)
  • Contributions importantes : Loïc Dachary
  • Responsable thématique : Gilian Gambini (CNRS DSI)
Mots-clés
Pour aller plus loin

Ceph : système de stockage distribué

Description
Fonctionnalités générales

Ceph est un système de stockage résilient, auto réparant et distribué.

Il contient trois composants : objets, bloc et système de fichiers.

Le stockage objet est accessible par une API spécifique et disponible dans plusieurs langages ou bien via radosgw, une interface REST qui offre une compatibilité pour les applications écrites pour S3 ou Swift.

Rados Block Device (ou RBD) donne accès à des périphériques en mode bloc qui sont divisés et répliqués sur l'ensemble du cluster.

Le dernier composant est encore expérimental : un système de fichiers conforme à POSIX et conçu pour maximiser les performances, permettre le stockage de grands ensemble de données et maximiser la compatibilité avec les applications existantes.

Autres fonctionnalités

Ceph peut permettre le stockage direct d'objets binaires et de métadonnées associées (interface de programmation disponible).

Interopérabilité

Interface REST S3 et Swift, compatibilité POSIX du système de fichiers, intégration dans le kernel linux, kvm et libvirt. Intégration dans OpenStack et Apache CloudStack.

Contexte d'utilisation dans mon laboratoire/service

Ceph est utilisé en production dans la plateforme PAPPSO. Le cluster de stockage est composé de 3 serveurs bi-processeurs et d'un switch gigabit. La capacité actuelle est de 34 To (17 To utiles). Un cluster de calculs de 3 machines utilise ce cluster : chaque nœud de calcul peut profiter d'une bande passante maximum dépendante du nombre de cartes réseaux.

Limitations, difficultés, fonctionnalités importantes non couvertes
  • Ceph est à utiliser avec précaution : la partie RBD et REST (accès par périphérique bloc et compatibilité S3 et Swift) est considérée comme stable, mais la partie système de fichiers est encore considérée par les développeurs comme "expérimentale".

  • Le projet est très actif (une version de développement toutes les deux semaines, une version stable tous les trois mois). De nombreuses améliorations sont régulièrement apportées et les régressions sont vite corrigées.

  • Pour ce qui est de la fiabilité, il résiste extrêmement bien aux problèmes matériels et aussi aux erreurs humaines.

  • Les performances sont correctes (90 Mo/s en lecture/écriture avec accès concurrents) et l'espace de stockage est extensible très facilement (achat de disques, cartes réseaux ou serveurs supplémentaires).

  • Gros avantage enfin, le matériel est standard (pas de fiber channel, RAID, ...), les coûts sont donc faibles et l'on n'a pas besoin de prévoir l'espace de stockage à l'avance.

Il est donc nécessaire d'établir une stratégie pour assurer un service de qualité en production basé sur Ceph :

  • installer uniquement les versions stables publiées tout les trois mois,
  • mettre à jour les versions stables lorsqu'une version de maintenance est disponible, deux semaines après sa publication,
  • ne pas utiliser le système de fichiers.
Environnement du logiciel
Distributions dans lesquelles ce logiciel est intégré

Debian GNU/Linux, Ubuntu, RedHat, CentOS

Plates-formes

GNU/Linux uniquement (effort de portage sur Mac OS embryonnaire).

Logiciels connexes
Autres logiciels aux fonctionnalités équivalentes

Lustre, GlusterFS, MooseFS, Riak

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

La société Inktank créée en 2012 emploie la plupart des développeurs Ceph. Elle fournit une offre complète de support aux entreprise pour les projets de stockage.

Eléments de pérennité
  • Ceph est un logiciel libre sous licence LGPL. Son développement est très ouvert et respecte les us et coutumes de la communauté Open Source (release often, release soon) : serveur git accessible, mailing liste ouverte, IRC très actif, organisation de la roadmap par des conférences publiques (Ceph Design Summit), ...

  • Le noyau Linux intègre le client Ceph depuis sa version 2.6.34.

  • libvirt intègre le protocole Ceph.

  • kvm intègre le protocole Ceph.

  • OpenStack supporte nativement Ceph.

Références d'utilisateurs institutionnels
  • Université de Nantes
  • INRA
  • Cloudwatt (hors ESR).
Environnement utilisateur
Liste de diffusion ou de discussion, support et forums
Documentation utilisateur
Contributions
Syndiquer le contenu