biblio. informatique

Bibliothèque au sens informatique, c'est à dire de logiciels système ou graphique ou...
Fiche logiciel validé
  • Création ou MAJ importante : 24/10/11
  • Correction mineure : 07/12/13
Mots-clés
Pour aller plus loin
  • Fiches logiciel PLUME connexes : ,

BioPerl : bibliothèque Perl de modélisation et traitement de données de biologie

  • Site web
  • Système : UNIX-like, Windows, MacOS X
  • Téléchargement
  • Version évaluée : 1.6.0
  • Langue(s) de l'interface : anglais
  • Licence : autre

    BioPerl comme la plupart des modules perl est livré sous la licence ArtisticPerl qui définit le cadre de la copie et de la modification des modules perl. Il autorise les utilisateurs à faire toute modification du package sur leur site, et de le redistribuer tant que les modifications sont duement signalées.

Description
Fonctionnalités générales

BioPerl est une bibliothèque comportant un ensemble de modules Perl facilement utilisables dans des programmes ou scripts pour la manipulation et le traitement de données biologiques, plus particulièrement celles issues de la génomique, la génétique ou de l'analyse du transcriptome. Bioperl fournit des outils pour l'indexation, l'interrogation et l'extraction de banques de données publiques ou locales, des filtres pour un très grand nombre de sorties de programmes usuels en bioinformatique (blast, clustalw, hmmer, est2genome, ...) permettant ainsi de réaliser simplement des enchaînements de programmes (pipelines).

Autres fonctionnalités

Dans le cadre du développement d'un projet d'envergure plus importante qu'un simple pipeline, bioperl offre une modélisation objet détaillée et extensible de nombreux concepts de biologie moléculaires. Il est souvent judicieux d'utiliser ou d'hériter de ces classes pour modéliser un problème, car il est souvent préférable d'utiliser des méthodes efficaces et souvent largement testées plutôt que de les réécrire.

Interopérabilité

L'utilisation de Bioperl permet une très haute intéropérabilité, car la bibliothèque propose un modèle de données standardisé permettant de stocker des données hétérogènes provenant de nombreuses sources. A l'aide de bioperl, il est par exemple possible de modéliser de manière identique des gènes prédits à partir de différents prédicteurs, ou extraits de différentes bases de données. L'utilisation de cette couche métier standardisée est très pratique pour lire des données provenant de différentes sources et les récrire dans d'autres formats spécifiques afin de les soumettre à de nouveaux programmes.

Contexte d'utilisation dans mon laboratoire/service

Le contexte d'utilisation de BioPerl est très large. On peut utiliser Bioperl dans des simples scripts pour extraire de l'information de banques de données ou analyser des résultats d'un programme, d'enchaînement de programmes (pipeline) ou pour des projets plus complexes nécessitant de la modélisation de données biologiques.

Voici un exemple qui en illustre quelques fonctionnalités :

use Bio::DB::GenBank;
use Bio::DB::Query::GenBank;

# 1. Extraction  directe des  données de genbank grâce au serveur Entrez et formattage au format fasta

# Recuperation des donnees au NCBI
my $gb  = Bio::DB::GenBank->new() ;

# la requete Entrez (voir http://www.ncbi.nlm.nih.gov/books/bv.fcgi?rid=help... ) pour plus details
# Ici on recherche les proteines d'un organisme, on a par  exemple la requete suivante : CIONA[ORGN] pour recuperer les sequences de ciona*   

my $querystr = $org.'[ORGN]';

# On recherche parmi la banque protein
my $query = Bio::DB::Query::GenBank->new
                ( -query   => $querystr,
                  -db      => 'protein'
                ) ;

# On recupere un objet Bio::SeqIO
my $seqio = $gb->get_Stream_by_query($query) ;

# Création d'un objet Bio::SeqIO de type fasta
my $fasta=Bio::SeqIO(-file => 'ciona.fa', -format => 'fasta');

# Ecriture du fichier fasta et stockage des séquences dans un tableau

my  @prots=(); #  tableau contenant un ensemble de sequences proteiques
while (my $seq = $seqio->next_seq()){
       $fasta->write_seq($seq);
       push @prots, $seq;
}

# 2. Lecture et filtre d'un fichier de blast, on utilise ici un blast installé localement et des banques formatées et installées localement
my $blastrun = Bio::Tools::Run::StandAloneBlast->new(program =>"blastp", database =>"uniprot", e => "1e-05");
my $blast_report = $blastrun->blastall (\@prots);

# $blast_report est un Bio::SearchIO il peut être facilement parcouru
while ( my $result = $blast_report->next_result() ) {
       while( my $hit = $result->next_hit ) {
            while( my $hsp = $hit->next_hsp ) {
                  if ($hsp->frac_identical > 0.75) {
                           print join "\t", $result->query_name(), $hit->name() "\n";
                   }
            }
     }
}

Limitations, difficultés, fonctionnalités importantes non couvertes

Bien que bioperl offre quelques scripts pour réaliser des tâches courantes, son intérêt réside surtout dans son utilisation pour réaliser des scripts, pipelines ou projets spécifiques et sophistiqués. Dans ce dernier cas, l'utilisation de bioperl s'adressera plus particulièrement à des développeurs familiers de la programmation objet en perl. En raison de la relative tolérance en programmation du langage Perl, la réutilisation de "recettes" bioperl sans une compréhension parfaite de leur fonctionnement peut engendrer des effets de bord incontrôlés fort gênants et pas forcément flagrants.

D'autre part, il arrive que les modules “parser” permettant d'analyser les sorties de programmes (par exemple certains Bio::Tools::*) ne soient pas à jour pour les versions courantes des programmes en question.

Environnement du logiciel
Distributions dans lesquelles ce logiciel est intégré

GMOD GBrowse et Cmap, package <a href="http://www.ensembl.org/index.html>ensembl, etc...

D'autre part, bioperl est intégré au moins aux distributions Debian et Ubuntu, il est également présent sur le CPAN.

Plates-formes

Bioperl est installé sur l'ensemble des plate-formes bioinformatiques du réseau Rénabi, et très certainement sur l'ensemble des plate-formes bioinformatiques mondiales. Si ce n'est pas le cas demandez le !

Autres logiciels aux fonctionnalités équivalentes

Biojava et BioPython proposent des modèles et des outils comparables mais dans leur langage respectif. L'ensemble de ces bibliothèques font partie du projet OpenBio .

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

Le développement de BioPerl se fait sous forme collaborative. Un groupe restreint de développeurs gère l'ajout de module dans la base SVN, chaque développeur est responsable de son module.

Eléments de pérennité

BioPerl est un projet libre extrêmement actif et réalisé à l'aide d'un effort collaboratif d'une très large communauté. Sa réutilisabilité et son extensibilité lui confèrent un atout majeur dans le monde de la bioinformatique où le nombre de logiciels et de standards croit continuellement.

Environnement utilisateur
Liste de diffusion ou de discussion, support et forums
Documentation utilisateur

La documentation de bioperl est largement étoffée. Sur le site de bioperl on trouve des tutoriels (http://www.bioperl.org/wiki/Tutorials ) pour démarrer ou pour des utilisateurs plus avertis, une FAQ (http://www.bioperl.org/wiki/FAQ ) et des HOWTOs (http://www.bioperl.org/wiki/HOWTOs ) extrêmement fournies.

Pour aider à rédiger des scripts bioperl, on trouve naturellement la documentation de l'API en ligne (http://doc.bioperl.org ), et surtout le deobfuscator (http://www.bioperl.org/wiki/Deobfuscator ) permettant de visualiser simplement l'ensemble des méthodes de n'importe quelle classe, que ces méthodes soient implémentées dans la classe ou bien héritées.

Contributions

Une manière simple de contribuer est d'ajouter des modules (par exemple pour prendre en charge les sorties de nouveaux programmes bioinformatiques).
Les modifications de codes ou l'ajout de nouveaux modules doivent être signalées par l'intermédiaire de la mailing list, puis à travers un compte Bugzilla afin de notifier et/ou corriger directement les bugs, si la communauté le juge opportun.

Fiche logiciel à valider
  • Création ou MAJ importante : 23/10/08
  • Correction mineure : 30/05/12
Mots-clés
Fiche en recherche de relecteurs
Cette fiche est en recherche de relecteurs. Si vous êtes intéressé(e)s, contactez-nous !

Pxxo : création de composants graphiques pour le WEB

Ce logiciel est en cours d'évaluation par la communauté PLUME. Si vous utilisez ce logiciel en production dans notre communauté, merci de déposer un commentaire.
Description
Fonctionnalités générales

Pxxo est un ensemble de classes écrites en langage PHP. Elles servent à créer des composants graphiques (ou widgets) qui permettent de construire une page HTML comme une hiérarchie de composants plus simples. Chaque composant est une micro-application web pouvant être facilement imbriquée dans une application tierce ou même dans un autre composant.

La création de composants graphiques impose un cadre de programmation simple et efficace pour séparer la présentation et les traitements.

Autres fonctionnalités

Pxxo propose également au travers d'un Channel PEAR des composants graphiques génériques prêts à l'emploi. On y trouve notamment un ensemble de composants graphiques permettant de construire des formulaires complexes (DatePicker, ColorPixer, Wysiwyg, Livesearch, etc...).

Interopérabilité

Pxxo est non intrusif, il peut être utilisé avec n'importe quelle application ou framework PHP.

Contexte d'utilisation dans mon laboratoire/service

Pxxo est utilisé à l'INIST-CNRS pour les développements WEB utilisant PHP. Il a également été utilisé au Ministère de la Culture , en complément à SPIP, pour réaliser un site sur les Corpus Oraux ( http://corpusdelaparole.culture.fr ).

Environnement du logiciel
Plates-formes

LAMP - Linux Apache Mysql Php
Serveurs PHP acceptant PHP

Logiciels connexes
Environnement de développement
Type de structure associée au développement
  • Développé par des particuliers
  • Hébergé par SourceSup (la plate-forme web de gestion de projet destinée aux établissements d'enseignement supérieur et aux organismes de recherche français)
  • Soutenu par l'INIST-CNRS
Eléments de pérennité

Existe depuis 2004 et est utilisé pour de grosses applications WEB à l'INIST-CNRS

Références d'utilisateurs institutionnels

L'INIST-CNRS : http://www.inist.fr

Environnement utilisateur
Liste de diffusion ou de discussion, support et forums

Une liste de discussion : http://groups.google.com/group/pxxo

Documentation utilisateur
Fiche dév Ens Sup - Recherche
  • Création ou MAJ importante : 13/10/08
  • Correction mineure : 04/11/11
Mots-clés

Molecular Modelling Toolkit : bibliothèque de simulation moléculaire

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.5.24 - septembre 2008
  • Licence(s) : CeCILL-C
  • Etat : diffusé, stable
  • Support : maintenu, développement en cours
  • Concepteur(s) : Konrad Hinsen
  • Contact concepteur(s) : hinsen@cnrs-orleans.fr
  • Laboratoire(s), service(s)... : CBM

 

Fonctionnalités générales du logiciel

Bibliothèque logicielle de simulation moléculaire :

  • manipulation d'objets chimiques
  • calcul d'énergies d'interaction
  • dynamique moléculaire
  • modes normaux
  • minimisation d'énergie
  • solvatation
  • gestion de trajectoires
  • interface à la visualisation
Contexte d’utilisation du logiciel

MMTK est développé en langages Python, Pyrex et C. Les programmes et bibliothèques nécessaires à son utilisation sont :

  • Python >= 1.5
  • Numerical Python >= 20 ou NumPy >= 1.0
  • netCDF >= 3.4
  • ScientificPython >= 2.6
  • Compilateur C
Publications liées au logiciel

Journal of Computational Chemistry, volume 21, numéro 2, pages 79-85, 2000

Fiche dév Ens Sup - Recherche
  • Création ou MAJ importante : 02/10/08
  • Correction mineure : 18/08/09
  • Auteur de la fiche : Konrad Hinsen (Centre de Biophysique Moléculaire)
  • Responsable thématique : Violaine Louvet (Institut Camille Jordan)
Mots-clés

ScientificPython : librairie générale pour le calcul scientifique en Python

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.7.9 - août 2008
  • Licence(s) : CeCILL-C
  • Etat : diffusé, stable
  • Support : maintenu, développement en cours
  • Concepteur(s) : Konrad Hinsen
  • Contact concepteur(s) : hinsen@cnrs-orleans.fr
  • Laboratoire(s), service(s)... : CBM

 

Fonctionnalités générales du logiciel
  • parallélisme (BSP, MPI)
  • interface netCDF
  • géométrie (vecteurs, tenseurs, transformations, champs vectoriels et tensoriels, quaternions)
  • dérivées automatiques
  • interpolation linéaire en plusieurs dimensions
  • polynomes et fonctions rationnelles
  • statistique
  • histogrammes
  • conversion d'unités
  • entrée/sortie en quelques formats populaires
  • visualisation 3D par VRML
  • widgets Tk et Qt

Les langages utilisés pour ce développement sont Python, Pyrex et C.

Contexte d’utilisation du logiciel

Les programmes et logiciels nécessaires à l'installation sont :

  • Python >= 1.5
  • Numerical Python >= 20 ou NumPy >= 1.0
  • netCDF >= 3.4
  • Compilateur C
Publications liées au logiciel

Parallel Processing Letters 13, 3 (2003) 473-484

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

Critical kernels : méthode de squelettisation parallèle

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.0 (stable) - juillet 2007
  • Licence(s) : CeCILL
  • Etat : diffusé, stable
  • Support : maintenu, développement en cours
  • Concepteur(s) : Gilles Bertrand, Michel Couprie
  • Contact concepteur(s) : coupriem @ esiee.fr
  • Laboratoire(s), service(s)... : LIGM

 

Fonctionnalités générales du logiciel

Le cadre des noyaux critiques constitue une base solide pour l'étude des opérateurs qui retirent un sous-ensemble d'un objet discret (et pas seulement un point simple) tout en préservant ses caractéristiques topologiques.

À partir de cette notion nous avons étudié plusieurs algorithmes de squelettisation en 2D et 3D d'un objet qui sont implantés en C et décrits dans les articles [BC06a,BC06b,BC06c] référencés au paragraphe Publications.

Nous avons également démontré que les noyaux critiques généralisent de manière non triviale toutes les notions proposées auparavant dans le même but, en particulier les notions d'ensemble non-simple minimal et de point P-simple.

Contexte d’utilisation du logiciel

Utilisation pour le développement de la recherche dans l'équipe.
Ces programmes sont utilisés dans plusieurs projets en cours, voir http://www.esiee.fr/~info/a2si/projets.html

Publications liées au logiciel
  • [BC06b] G. Bertrand and M. Couprie: "New 2D parallel thinning algorithms based on critical kernels", Combinatorial Image Analysis, Lecture Notes in Computer Science, Vol. 4040, pp. 45-59, Springer, 2006.
  • [BC06c] G. Bertrand and M. Couprie: "New 3D parallel thinning scheme based on critical kernels", Discrete geometry for computer imagery, Lecture Notes in Computer Science, Vol. 4245, pp. 580-591, Springer, 2006.
  • [CSB06] M. Couprie and A. Vital Saúde and G. Bertrand: "Euclidean homotopic skeleton based on critical kernels", Procs. SIBGRAPI, IEEE CS Press, pp. 307-314, 2006.
  • [CB08b] M. Couprie and G. Bertrand: "New characterizations of simple points, minimal non-simple sets and P-simple points in 2D, 3D and 4D discrete spaces", Discrete geometry for computer imagery, Lecture Notes in Computer Science, Vol. 4992, pp. 105-116, Springer, 2008.
  • Pour une bibliographie plus complète : http://www.esiee.fr/~info/ck/CK_biblio.html
Fiche dév Ens Sup - Recherche
  • Création ou MAJ importante : 25/09/08
  • Correction mineure : 12/09/13
Mots-clés

Topological watershed : segmentation d'images n-dimensionnelles

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.0 (stable) - juillet 2007
  • Licence(s) : CeCILL
  • Etat : diffusé, stable
  • Support : maintenu, développement en cours
  • Concepteur(s) : G. Bertrand, M. Couprie, J. Cousty, L. Najman
  • Contact concepteur(s) : coupriem@esiee.fr
  • Laboratoire(s), service(s)... : LIGM

 

Fonctionnalités générales du logiciel

La ligne de partage des eaux est l'outil fondamental de la morphologie mathématique pour la segmentation d'images. Les auteurs de ce logiciel ont proposé une définition formelle de cette notion dans les espaces discrets, qui devient dans ce contexte une transformation qui préserve une partie des caractéristiques topologiques d'une image ce qui conduit à toute une série de propriétés fondamentales qui n'avaient jamais été établies.

Afin de permettre son utilisation effective dans la pratique, on propose des algorithmes quasi-linéaires pour la ligne de partage des eaux topologique et qui sont implantés dans ce logiciel.

Contexte d’utilisation du logiciel

Utilisation pour le développement de la recherche dans l'équipe. Ces programmes sont utilisés dans plusieurs projets en cours, voir http://www.esiee.fr/~info/a2si/projets.html

Publications liées au logiciel
Fiche logiciel validé
  • Création ou MAJ importante : 28/01/13
  • Correction mineure : 28/01/13
  • Rédacteur de la fiche : Pierre Couchet - Archives Henri Poincaré (CNRS, Université de Lorraine)
  • Relecteur(s) : Robert Bossy (MIG INRA Jouy-en-Josas)
    Frédéric Glorieux (École nationale des chartes)
  • Contributions importantes : Frédéric Glorieux
    Sébastien Carrère était le premier auteur de cette fiche, mais n'étant plus utilisateur de lucene il a accepté de passer la main en Décembre 2012
  • Responsable thématique : Emmanuel Courcelle (LIPM)
Mots-clés
Pour aller plus loin

lucene : moteur d'indexation et de recherche

Description
Fonctionnalités générales

Lucene est un moteur de recherche libre écrit en Java qui permet d'indexer et de rechercher du texte. Ce logiciel libre de la fondation Apache permet la recherche plein texte (avec des analyseurs linguistiques) et documentaire (avec des champs adaptés à chaque type de document). Ses fonctionnalités sont nativement accessibles en java, il existe des APIs pour d'autres langages, dont : PHP, Perl, Python, Ruby... Plusieurs portages ont été fait, officiellement (C, .NET), ou pas (C++, Perl...). Lucene incluait récemment différents sous-projets tels Lucene.Net, Mahout, Solr et Nutch. Solr a été récemment fusionné avec Lucene, alors que Mahout, Nutch, et Tika sont devenus des projets indépendants.

Lucene intéresse les développeurs d'applications des bibliothèques, des archives, du secteur de l'édition numérique, de la linguistique, de l'histoire, ainsi que les bio-informaticiens qui doivent manipuler des banques de séquences biologiques.

Autres fonctionnalités

Logiciel libre actif depuis plusieurs années, Lucene est extensible, tout en conservant une architecture simple et cohérente. On trouvera du code, de la documentation, ou des listes de diffusion, pour des concepts de la recherche plein texte généralement réservés aux spécialistes.
- Tri de pertinence selon différents algorithmes ;
- Listes de mots vides pour différentes langues ;
- Recherche floue adaptée à une langue, un type de documents ;
- Elargissement de requêtes par synonymes ;
- ...
Des projets comme Nutch ou Mahout illustrent comment exploiter différents formats de fichiers (bureautiques, pdf).

Interopérabilité

Le format des index est documenté, indépendant de l'implémentation qui les écrit et les lit. Par contre, le format d'index peut changer d'une version à l'autre, la compatibilité ascendante est toujours conservée.

Contexte d'utilisation dans mon laboratoire/service

Lucene se prête à l'exploitation de corpus structurés, aussi bien textes que données: par exemple (mais pas seulement) fichiers XML. Il peut être employé en application client (java : swing, eclipse...), ou web.

Au LIPM :
Lucene est utilisé pour analyser et indexer principalement des fichiers XML, contenant des données de biologie.
- Implémentation C++ (Clucene) et interface perl Lucene.pm.
- Une paire de scripts et un fichier de configuration permettent d'analyser les documents XML via des requêtes Xpath et de requêter et générer des formulaires de recherche automatiquement.

Limitations, difficultés, fonctionnalités importantes non couvertes

Les limitations de Lucene sont celles de ses utilisateurs (développement java, analyse documentaire, traitements linguistiques), ou celles de son modèle théorique : ni relationnel, ni hiérarchique. Ainsi, il peut souvent remplacer avec avantage une base de donnée relationnelles (SQL), du moins, tant que les relations sont surtout 1-n. Les requêtes de type numérique (tri, intervalles) ont été notablement améliorées ces deux dernières années. Pour des données fortement hiérarchisées (annuaires, thèses, inventaires d'archives), des simulations sont possibles, des outils comme LDAP, ou XQuery peuvent être plus commodes.

Environnement du logiciel
Distributions dans lesquelles ce logiciel est intégré

Ubuntu, Debian, redhat, ... lucene est également intégré à Eclipse

Plates-formes
Logiciels connexes
Autres logiciels aux fonctionnalités équivalentes
  • Authority/Verity (commercial)
  • SRS SRS est un logiciel commercial d'indexation et de recherche de données dans des banques de séquences biologiques. Lucene peut constituer une alternative libre à ce logiciel.
  • Ht://dig est un moteur d'indexation et de recherche utile pour un site web.
  • Zebra
Environnement de développement
Type de structure associée au développement

Communauté ouverte

Eléments de pérennité

Fondation Apache. Financements Google, Yahoo!, HP.

Références d'utilisateurs institutionnels
Environnement utilisateur
Liste de diffusion ou de discussion, support et forums
Documentation utilisateur
Fiche logiciel validé
  • Création ou MAJ importante : 05/03/13
  • Correction mineure : 05/03/13
  • Rédacteur de la fiche : Yves Renard - Institut Camille Jordan (INSA Lyon)
  • Relecteur(s) : Ronan Perrussel (LAPLACE)
    Thierry Dumont (Institut Camille Jordan)
  • Contributions importantes : Julien Pommier
  • Responsable thématique : Dirk Hoffmann (Centre de Physique des Particules de Marseille (CPPM-IN2P3))
Mots-clés

GetFem++ : bibliothèque C++ d'éléments finis interfacée scilab-python-matlab

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

Getfem++ est à la base une bibliothèque d'éléments finis générique en C++ dont l'objectif est d'offrir la gamme d'éléments la plus large possible et un calcul de matrices élémentaires également le plus large possible pour l'approximation de problèmes linéaires ou non-linéaires, éventuellement en formulation mixte et éventuellement couplés. La dimension du problème est arbitraire et peut être un paramètre du problème. Getfem++ propose une description de modèles sous la forme de briques dont l'objectif est de permettre une réutilisabilité maximale des approximations réalisées. Le système de briques, maintenant arrivé à maturité, permet d'assembler des composantes telles que modèles standards (élasticité en petites et grandes déformations, problème de Helmholtz, problème elliptique scalaire ...) à des composantes représentant des conditions aux limites (Neumann, Dirichlet, Fourier-Robin, contact avec frottement ...), des composantes représentant des contraintes (incompressibilité, annulation de mouvements rigides ...) et des composantes de couplage de modèles.
Les deux points forts de Getfem++ sont la mécanique des structures (en particulier la mécanique du contact) et la prise en compte des discontinuités par des méthodes de domaines fictifs de type Xfem (fissuration par exemple).

Il est proposé trois interfaces (avec Scilab, Python et Matlab) qui permettent d'utiliser la quasi totalité des fonctionnalités du logiciel sans recourir à la programmation en c++ et qui permettent le post-traitement graphique.

Getfem++ offre une séparation complète entre les méthodes d'intégration (exactes ou approchées), les transformations géométriques (linéaires ou non) et les méthodes d'éléments finis de degré arbitraire. La bibliothèque peut faciliter l'écriture de codes éléments finis plus intégrés en la soulageant de la technicité des calculs élémentaires.

Des exemples de familles d'éléments finis disponibles sont : Pk sur des simplexes de degré et dimension arbitraire, Qk sur des parallélépipèdes, P1, P2 avec fonctions bulles, éléments d'Hermite, élément d'Argyris, HCT et FVS, les éléments avec base hiérarchique (pour méthodes multigrilles par exemple), Pk ou Qk discontinues, méthodes XFem, éléments vectoriels (RT0, Nédélec) ...

L'ajout d'une nouvelle méthode d'éléments finis est relativement facile. Une description sur l'élément de référence doit être fournie (dans la plupart des cas, il s'agit de la description des fonctions de base, et rien de plus). Des extensions sont prévues pour la description des éléments d'Hermite, polynomiaux par morceaux, non polynomiaux, les éléments vectoriels et XFem.

La bibliothèque comprend également les outils habituels pour les éléments finis tels que des procédures d'assemblage pour les équations aux dérivées partielles classiques, des méthodes d'interpolation, le calcul de normes, des opérations de maillage (y compris le raffinement automatique), gestion des conditions aux limites, le post-traitement avec des outils permettant de faire des coupes arbitraires ...

Getfem++ peut être utilisé pour construire des codes éléments finis très génériques, où les méthodes d'éléments finis, les méthodes d'intégration, la dimension du problème ne sont que des paramètres qui peuvent être modifiés très facilement, ce qui permet un large éventail d'expérimentations. De nombreux exemples sont fournis.

Getfem++ n'a qu'un mailleur expérimental intégré (maillages structurés et maillages de formes géométriques décrites à l'aide de primitives pré-définies). Il est donc souvent nécessaire d'importer des maillages. Les formats actuellement acceptés par getfem sont GID, GmSH et emc2.

Interopérabilité

Imports de maillages aux formats GID, GmSH et emc2.
Exports graphiques aux formats vtk et OpenDx.
Interfaces Python, Scilab et Matlab.

Contexte d'utilisation dans mon laboratoire/service

Getfem++ est tout d'abord un laboratoire de méthodes d'éléments finis qui permet de construire très rapidement de nouvelles méthodes et permet de les tester sur un champ vaste d'applications et de type d'éléments de base.

Limitations, difficultés, fonctionnalités importantes non couvertes

La génération de maillage pourrait être améliorée.

Environnement du logiciel
Distributions dans lesquelles ce logiciel est intégré

Debian, Ubuntu

Plates-formes

linux, MacOS X, windows (avec MinGW)

Logiciels connexes

Python (non obligatoire)
Scilab (non obligatoire)
Matlab (non obligatoire)
Gmm++, http://download.gna.org/getfem/html/homepage/gmm.html, licence LGPL, obligatoire (inclus dans la distribution).

Autres logiciels aux fonctionnalités équivalentes
  • Freefem++ (licence GPL)
  • getDP (licence GPL)
  • Elmer (licence GPL)
  • Deal II (Licence QPL) librairie C++ d'éléments finis, uniquement pour des maillages avec parallélépipèdes : http://www.dealii.org/

  • COMSOL (produit commercial) logiciel de simulation multi-physique utilisant les éléments finis : http://www.comsol.fr/

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

Institut Mathématique de Toulouse, équipe MIP.
Institut Camille Jordan, INSA-Lyon, UCBL.

Eléments de pérennité

Une centaine d'utilisateurs.
Le logiciel est utilisé de manière continue pour la création et le test de méthodes numériques nouvelles par les équipes mmcs, ICJ INSA-Lyon (Yves Renard), mnsi, IMT UPS-Toulouse (Patrick Laborde, Michel Fournié ...), au laboratoire de mathématiques de Besançon (Patrick Hild, Vanessa Lleras).

Références d'utilisateurs institutionnels

Michelin France (interface Matlab)
Laboratoire Ampère, École centrale de Lyon/Université Lyon 1.

Environnement utilisateur
Liste de diffusion ou de discussion, support et forums
Documentation utilisateur
Contributions

Getfem++ est un projet "Open source" géré sur le site de développement collaboratif gna.org (voir http://gna.org/projects/getfem). Toute contribution via ce site est la bienvenue.

Fiche logiciel validé
  • Création ou MAJ importante : 27/07/10
  • Correction mineure : 06/12/12
Mots-clés

JabRef : gestion de références bibliographiques et intégration des citations dans un traitement de texte

Description
Fonctionnalités générales

Très utile à l'étudiant et au chercheur, cet outil permet de collecter des références bibliographiques (par saisie manuelle ou par importation) et de pouvoir en extraire tout ou partie des références enregistrées à fin de citation ou de création de bibliographie. Il n'est plus nécessaire, alors, de mémoriser les règles d'écriture des références bibliographiques. Utilisant le format BibTeX, on retrouve dans JabRef les mêmes fonctionnalités que celles décrites par Alain Coulais dans son article sur le format BibTeX : http://www.projet-plume.org/fiche/bibtex mais JabRef offre d'autres fonctionnalités comme :

  • Rechercher dans l'ensemble des données collectées avec la possibilité d'utiliser des opérateurs logiques (ET OU SAUF) ou des expressions régulières
  • Mettre en place des regroupements des références selon des mots-clés ou selon d'autres champs facilitant ainsi la préparation de synthèses documentaires par exemple ou le parcours de la liste de références. Ces regroupements se matérialisent par une table des matières sur le coté gauche de l'écran
  • Le document numérique peut être "attaché" à sa fiche bibliographique quel que soit son format (.doc, .pdf, .ps...)
  • L'importation de références bibliographiques se fait selon différents formats disponibles (voir le paragraphe interopérabilité). Il est également possible de créer ses propres formats d'importation (dans ce cas il faut connaître un peu la programmation JAVA)
  • L'exportation des références est réalisable dans différents formats : RDF, HTML, Docbook, BibTeXML, MODS, RTF, Refer/Endnote et OpenOffice.org et depuis la version 2.4.1 au format MySqL. Cela offre la possibilité de dialoguer avec d'autres outils bibliographiques comme Endnote ou Reference manager, des bases de données MySqL mais aussi d'utiliser différents traitements de texte comme Word Microsoft, Writer OpenOffice.org, LaTeX... La mise en oeuvre de format d'exports personnalisés est simple.
  • Une version en ligne existe maintenant. Il est possible d'utiliser JabRef de cette manière à condition d'avoir la version "Java web Start" installée.
Autres fonctionnalités

L'outil se personnalise :

  • en ajoutant des champs qui ne sont pas des champs BibTeX (mais attention dans ce cas il faudra adapter tous les formats d'imports ou exports standards de manière à prendre en compte ces nouveaux champs). De nouveaux champs comme Patent, Standard, Electronic... ont été ajoutés dans les dernières versions de JabRef.
  • en créant un vocabulaire contrôlé (par exemple pour les mots clés, ou pour les noms de revues)
  • en modifiant l'interface : polices, couleurs, affichage par défaut de champs...
  • en paramétrant l'ouverture d'applications externes (navigateur, traitement de texte, logiciel de lecture des fichiers pdf...)
  • en créant des greffons, ce qui permet d'ajouter au logiciel des fonctions personnalisées. Un nouveau greffon (septembre 2008) permet d'utiliser Jabref avec Open Office pour insérer des citations et produire la liste des références en fin de document. Ce greffon permet de contourner la difficulté que présentait Open Office dans la création de styles bibliographiques.L'usage de la dernière version de ce greffon (v0.71) est très bien expliqué sur le site de lunatic.
  • de nombreux autres greffons ont été réalisés et permettent aux développeurs qui le désirent d'ajouter différentes fonctionnalités comme de nouveaux accès à des bases de données (Science Direct est maintenant accessible), de nouveaux formats d'import, des "formateurs" pour améliorer la mise en forme des données exportées...

Les grandes bases de données comme Medline, Citeseer, IeeXplore, arXiv. JSTOR, Science-Direct.(depuis peu).. peuvent être interrogées via JabRef.

On peut partager un fichier bibliographique sur un réseau d'ordinateurs. Plusieurs utilisateurs peuvent ainsi gérer une base bibliographique commune. De nombreux correctifs à ce sujet ont été apportés.

Interopérabilité

Programmé en Java, JabRef peut tourner sur de nombreux systèmes d'exploitation

Les fichiers sont des fichiers au format BibTeX. Les informations bibliographiques sont donc en ASCII, modifiables par tout éditeur de texte disponible. Ce format est commun à bon nombre de logiciels bibliographiques. L'échange d'informations avec d'autres outils bibliographiques comme End-Note, Reference Manager, Biblioscape... s'effectue à l'aide des fonctions d'import ou d'export. Il est possible de développer ses propres formats d'imports ou d'exports mais la connaissance de la programmation JAVA est nécessaire.
En import, JabRef peut lire les formats RIS, BibTeXML, Biblioscape, Biomail, CSA, Copac, Inspec, ISI, JSTOR (tabulé), Refer/Endnote, Scifinder, Silverplatter, Medline... Un greffon permet aux développeurs d'intégrer plus facilement des formats d'import.

Contexte d'utilisation dans mon laboratoire/service

JabRef accompagne tous les travaux qui nécessitent l'usage des recherches documentaires et des travaux bibliographiques. Compte tenu de la simplicité d'installation et d'utilisation, de son interopérabilité, de la possibilité d'avoir une interface en différentes langues ( à ce jour anglais, français, allemand, italien, hollandais, norvégien, polonais, danois, turc, chinois simplifié), cet outil joue un rôle très important dans un laboratoire de recherche.
Les bibliographies constituées par chaque étudiant, chaque chercheur, peuvent être capitalisées, échangées, enrichies, retravaillées de multiples façons. En particulier la fonctionnalité de regroupement selon des mots clés ou autres champs prend tout son sens lorsque l'on travaille sur un corpus bibliographique sur une longue période avec différents chercheurs.
Enfin, JabRef est l'outil idéal pour gérer l'ensemble des documents numériques se trouvant sur le disque dur de l'utilisateur et transforme ainsi tout disque dur en bibliothèque numérique personnelle.

JabRef a été utilisé pour produire la bibliographie générale du rapport quadriennal demandé par notre tutelle (CNRS). Nous avons utilisé en mot-clés les catégories de documents selon les préconisations de l'AERES. Nous avons ensuite modifié notre export au format rtf (pour travailler avec le logiciel Word) en utilisant la possibilité de grouper les exports en fonction de chaque mot-clé.

Environnement du logiciel
Plates-formes

Fonctionne aussi bien sur Macintosh que sur Windows ou Linux.

Logiciels connexes

Nécessité d'avoir le logiciel Java installé version 1.5 ou plus pour la dernière version de JabRef

Autres logiciels aux fonctionnalités équivalentes

Logiciels Libres :
Bibus Bibliographic software
Zotero
Logiciel du commerce :
Endnote
RefManager
Des sites tiennent à jour la liste des différents logiciels personnels de gestion de références bibliographiques :
http://urfist.univ-lyon1.fr/logiciels_gestion_doc.... (Jean-Pierre Lardy)
http://www.burioni.it/forum/ors-bfs/text/wit-toc.html (F. Dell'Orso)
Le projet ECLORE permettra de fournir des clés de comparaison et d'évaluation de l'offre dans ce domaine.

Environnement de développement
Eléments de pérennité

La communauté autour de JabRef est très active. La documentation en ligne est maintenant accessible en trois langues : anglais, français, allemand.

Environnement utilisateur
Liste de diffusion ou de discussion, support et forums

http://sourceforge.net/mail/?group_id=92314

Des articles publiés par Stéphane Toulin du Réseau des Professionnels de l’Information Scientifique et Technique (ARPIST) :
http://doc.dr15.cnrs.fr/spip.php?article109
http://www.arpist.cnrs.fr/spip.php?article124

Documentation utilisateur
Divers (astuces, actualités, sécurité)

Pour utiliser le greffon Open Office. Il faut absolument modifier la feuille de style fournie de base. Celle-ci est adaptée à la version anglaise de Open Office. Il faut donc éditer (avec un éditeur de texte) la feuille de style et modifier les lignes 12 et 13 suivantes comme suit (respecter les majuscules en début de mot):
ReferenceParagraphFormat=Standard
ReferenceHeaderParagraphFormat=Titre 1

Contributions

Différentes possibilités : aide à la traduction de la documentation, développement de formats d'import et de formats d'export et bien sûr pour ceux qui maitrisent Java développement de nouvelles fonctionnalités.

Wikindx-HAL

DEVA : Nom du logiciel: 
HalWkx
DEVA : URL site Web du logiciel: 
DEVA : Licence du logiciel: 
GPL
DEVA : Commentaires sur la licence: 

GPLv2

DEVA : Identifiant PLUME de l'auteur de la soumission (ne pas modifier): 
Rémy Dernat
DEVA : Prénom de l'auteur de la soumission: 
Rémy
DEVA : Nom de l'auteur de la soumission: 
Dernat
DEVA : Email de l'auteur de la soumission: 

remy [dot] dernat [at] univ-montp1 [dot] fr

DEVA : Laboratoire ou service de l'auteur de la soumission: 

IBMM

DEVA : Tutelles labo/service auteur soumission: 

CNRS, Université Montpellier1 & 2

DEVA : Description courte du logiciel: 
Interfacer le logiciel libre Wikindx avec la base de données nationale de publication du CNRS
DEVA : Fonctionnalités générales du logiciel: 

La base de données HAL sert de base de production des publications pour le CNRS sur le plan national.
Wikindx est un logiciel de type PHP/MySQL qui nous permet d'avoir une base de données locale de nos publications facilement exploitable. Pour l'instant, l'import des données provenant de la base nationale, bien que perfectible, est opérationnel. Il se base sur le protocole OAI et un parser XML.
HAL : http://hal.archives-ouvertes.fr/
Wikindx : http://wikindx.sourceforge.net/
OAI : http://www.culture.gouv.fr/culture/dll/OAI-PMH.htm

DEVA : Autres fonctionnalités du logiciel: 

L'objectif à terme est de pouvoir non seulement importer, mais aussi :
– finaliser ce module avec les développeurs de Wikindx via le système de module Wikindx :
http://wikindx.sourceforge.net/extras.html
– Dans un second temps, il faudra pouvoir envoyer des données à HAL, directement à partir de notre base, afin que le rajout et la manipulation des publications se retrouvent simplifiés pour
l'utilisateur final : le chercheur.
- Le module permet également de rechercher les doublons, ce que ne permet pas HAL...

DEVA : Contexte d'utilisation du logiciel: 

Ce type de projet permettrait, à terme :
- D'exporter rapidement les publications du laboratoire, d'une équipe, ou d'une personne, pour :
* Un site Web (fonctionne déjà),
* Un rapport d'activité (facile à réaliser à partir du système d'export vers html)....
* De suivre l'activité de recherche du laboratoire et de ses membres entre 2 rapports d'activité.
La nouvelle politique de recherche française, où les financements sont de plus en plus obtenus sur des appels à projets, nécessite toujours plus de travail administratif pour les chercheurs. Un des objectifs de ce type de projet est de créer une base unique permettant de réduire au maximum la partie non scientifique de l'activité des chercheurs.

DEVA : Logiciels similaires: 

Il n'y a, actuellement, que très peu de système connu permettant de faire ceci.
A ma connaissance, il n'y a que le logiciel "AIGLe" (Aide Intéractive à la Gestion de Laboratoire) de Dominique Caron :
http://aigle.sourceforge.net/
Cependant, nous ne l'utilisons pas pour les raisons suivantes :
– Trop complexe et trop complet (usine à gaz).
– Wikindx est prévu et conçu pour l'administration d'une base de données spécifiquement orienté pour les publications.

DEVA : Besoins non couverts par logiciels similaires: 

Wikindx permet de réaliser de nombreux imports/exports à partir de données locales (type EndNote ou BibTeX), ce que ne permet pas AIGLe actuellement.

DEVA : Raisons du développement: 

Nous cherchions un moyen d'avoir nos listes de publication localement, pour pouvoir travailler dessus rapidement et simplement.
Les avantages d'avoir une base en interne sont nombreux... Rapports d'activité, mi-parcours, extractions multiples pour les chercheurs, le site Web... Le besoin était là, il manquait le logiciel (ou bien il en existait : trop complet ou bien pas assez...). D'où le développement d'un module. Un premier stagiaire de niveau IUT a codé l'import. Il manque l'export et à finaliser l'import auprès de Wikindx (officiellement).

DEVA : Etat de la documentation: 

Pour Wikindx, répertoire docs, une fois installée.
Pour notre module : un fichier README...
Pour HAL : le site du CCSD : http://ccsd.cnrs.fr/
Pour l'instant il n'y a donc pas beaucoup de documentation pour notre module...

DEVA : Inter-opérabilité du logiciel: 

Wikindx, (d'origine) permet de récupérer des données EndNote (XML) ou bien BibTeX. Il permet de faire des exports rtf, ris, EndNote Tab/XML, BibTeX, HTML.
Cela permet d'améliorer grandement l'interopérabilité.

DEVA : Briques libres utilisées: 

Apache, PHP5, MYSQL, Wikindx3.

DEVA : Architecture du logiciel: 

LAMP ((Linux), Apache, MySQL, PHP5)

DEVA : Langages de programmation du logiciel: 

PHP5, SQL

DEVA : Volume du logiciel: 

En l'heure actuelle, 2500 lignes de code simplement pour notre module.

DEVA : Qualité du logiciel: 

Dans l'optique d'un développement ultérieur, j'ai insisté sur les points suivants : Algorithme, aération du code, commentaires, pertinence des noms utilisés (tables, fichiers, variables...). Le projet, dans le cadre de sa finalisation, avec l'équipe de Wikindx, lui assurera une certaine pérennité.
D'un point de vue de la portabilité, il y a un fichier config.php dans Wikindx, réutilisé par notre module pour récupérer les
informations de connexions à la base. Un autre fichier de configuration est utilisé par notre module pour connaitre :
- Le nom de la collection correspondant au laboratoire dans
HAL (préalablement créée par le tamponneur ou par le service technique CCSD de HAL).
- La date de création du laboratoire (optionnel : permet de distinguer les publications d'un chercheur avant son arrivée dans un laboratoire de ses autres publications).

DEVA : Version actuelle du développement: 

3.8.2 pour Wikindx / 0.6 pour notre module

DEVA : Début du développement: 

Début mars 2008

DEVA : Nombre de versions précédentes du développement: 

0

DEVA : Temps développement effectué: 
2 mois avec 1 personne
DEVA : Utilisation actuelle du logiciel: 

En test, sur deux laboratoires.

DEVA : Fonctionnalités... à ajouter: 

Travaux à réaliser :
- Réaliser l'export des données vers HAL, grâce à SOAP, via le bon format XML, pour ne plus avoir à travailler qu'à partir de notre base.
- finaliser le module avec l'équipe de développement de Wikindx.

DEVA : Besoins nécessaires pour finaliser: 

1 personne à temps plein pendant 3/4 mois (contractuel ou stagiaire de niveau licence/maitrise minimum.)
1 poste de travail.

DEVA : Evolutions envisagée à long terme: 

Les éventuelles évolutions futures, suite à ce projet, sont :
– Intégrer l'authentification via un annuaire LDAP dans le code de base de Wikindx (le code existe mais n'est pas assez finalisé).
– Intégration à un Intranet plus général (mais module séparé),
– scripts PERL pour « parser » les fichiers word des chercheurs qui ont encore leur base sous cette forme...

DEVA : MOTS CLES de la fiche: 
.
Syndiquer le contenu