Comment installer le module BioPerl ?

djibril

BioPerl est une librairie Perl contenant énormément de programmes facilitant l'analyse de données biologiques. Son installation n'est pas toujours simple. Ce tutoriel a pour but de montrer des exemples d'installation sous différents systèmes d'exploitation et avec différentes versions de Perl.

N'hésitez pas à laisser vos commentaires afin d'enrichir ce tutoriel : Commentez  !

- Titre : Comment installer le module BioPerl ?

- Auteur : djibril

- Parution : 23 juillet 2014

- Mise à jour : 25 juillet 2014

- Public visé :

- Licence : Les sources présentées sur cette page sont libres de droits et vous pouvez les utiliser à votre convenance. Par contre, la page de présentation constitue une œuvre intellectuelle protégée par les droits d'auteur. Copyright ® 2014 djibril. Aucune reproduction, même partielle, ne peut être faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc. sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu'à trois ans de prison et jusqu'à 300 000 € de dommages et intérêts.

Sommaire

- I. Introduction

- II. Installation BioPerl

- II-A. Sous Windows ActivePerl

- II-A-1. Utilitaire « ppm »

- II-A-2. Installation manuelle

- II-A-3. Utilitaire « cpan »

- II-B. Sous Windows Strawberry Perl ou Sous Linux/Mac OS

- III. Conclusion

I - Introduction

Installer BioPerl semble toujours simple lorsque l'on lit certaines documentations sur la toile, mais malheureusement, la diversité des machines et le nombre important de versions de Perl disponibles, rendent la tâche assez complexe.

Des exemples d'installation seront présentés en fonction de certains environnements afin que chacun puisse y retrouver ce dont il a besoin. N'hésitez donc pas à compléter ce tutoriel en laissant vos commentaires : Commentez  !

Ce tutoriel se base sur l'installation du module BioPerl version 1.6.924.

II - Installation BioPerl

II-A - Sous Windows ActivePerl

Installer un module sous ActivePerl est simple via l'utilitaire « ppm » comme expliqué dans cette documentation : Installation de modules Perl CPAN - sous Windows, Linux et Mac OS. Mais ce n'est pas toujours le cas pour des librairies exotiques !

II-A-1 - Utilitaire « ppm »

Cet utilitaire facilite l'installation des modules Perl mais malheureusement, pour notre librairie BioPerl, abstenez-vous ! Depuis plus de cinq ans, on ne trouve plus le module BioPerl par ce biais. Si vous le trouvez en lançant l'utilitaire, c'est que vous utilisez une version de Perl qui n'est probablement pas à jour ou vous utilisez un ancien dépôt de BioPerl installé sur votre machine. Je vous déconseille donc de l'installer via ppm : il n'est absolument plus à jour et plus maintenu. Je vous recommande même de supprimer ce dépôt de votre ppm s'il y est présent !

Dépôts à supprimer si présents

http://bioperl.org/DIST
http://bioperl.org/DIST/RC

Ainsi, le seul moyen d'installer BioPerl est de le faire soit manuellement, soit via l'utilitaire « cpan ».

II-A-2 - Installation manuelle

Dans les deux cas évoqués précédemment, vous aurez besoin d'installer des modules annexes. Voici la liste demandée :

Liste des dépendances

Checking prerequisites...
requires:
!  Data::Stag is not installed
build_requires:
!  Test::Most is not installed
recommends:
*  Algorithm::Munkres is not installed
*  Array::Compare is not installed
*  Bio::Phylo is not installed
*  Convert::Binary::C is not installed
*  DB_File is not installed
*  Error is not installed
*  Graph is not installed
*  GraphViz is not installed
*  HTML::TableExtract is not installed
*  IO::Scalar is not installed
*  PostScript::TextBlock is not installed
*  SOAP::Lite is not installed
*  SVG is not installed
*  SVG::Graph is not installed
*  Set::Scalar is not installed
*  Sort::Naturally is not installed
*  Spreadsheet::ParseExcel is not installed
*  XML::DOM is not installed
*  XML::DOM::XPath is not installed
*  XML::LibXML is not installed
*  XML::Parser::PerlSAX is not installed
*  XML::Writer is not installed

Depuis « ppm », vous pouvez en installer certains comme le montre l'image ci-dessus. Ouvrez ppm, sélectionnez ces modules et installez-les.

N.B. Dans mon cas, j'ai le dépôt Bribes Perl d'ajouté.

Les modules suivants n'étaient pas présents dans mon ppm (ActivePerl 5.16.3) :

- Convert::Binary::C ;

- GraphViz ;

- PostScript::TextBlock ;

- Bio::ASN1::EntrezGene.

Vous pouvez passer outre.

Testons l'installation manuelle de BioPerl.

Il faut télécharger le fichier « BioPerl-1.6.924.tar.gz » depuis le site du CPAN, le décompresser et depuis ce nouveau répertoire lancer les commandes suivantes depuis une console DOS :

Installation manuelle BioPerl

>perl Build.PL

Le programme commence par lister les modules requis manquants. Vous remarquerez l'erreur suivante :

XML::SAX : ParserDetails.ini

could not find ParserDetails.ini in C:/Perl/site/lib/XML/SAX

L'erreur est due au fait qu'ActivePerl ne crée pas ce fichier à l'installation. Pour résoudre ce souci, lancez la commande suivante qui le créera (n'ayez pas peur si la commande vous retourne le même message, c'est normal) :

Correction ParserDetails

perl -MXML::SAX -e "XML::SAX->add_parser('XML::SAX::PurePerl')->save_parsers()"

Pour la suite de l'installation de BioPerl, laissez les options par défaut. Un fichier « Build » sera créé.

On a la possibilité de demander au module d'installer les dépendances manquantes via la commande :Build installdeps. Avec cette commande, l'installation des modules manquants se fera via l'utilitaire « cpan ».

Si vous êtes sous 32 bits ou 64 bits, vous ne devriez pas avoir de problème sous Perl 5.14 et 5.16, car « cpan » vous installera automatiquement MinGW, dmake pour la compilation. Si vous êtes sous ActivePerl 5.18 ou plus, à ce jour (23/07/2014), à moins d'avoir installé « gcc », un « dmake » ou « VC++ » comme expliqué dans la documentation d'installation des modules, vous n'arriverez pas à installer ces modules.

N.B. Pour en savoir plus sur la disponibilité de dmake dans le core d'ActivePerl, regardez ce lien : https://code.activestate.com/ppm/dmake/

Pour la suite de l'installation, lançons la commande de test et d'installation :

Test

Build test
…
…
…

Test Summary Report
-------------------
t/SeqFeature/Collection.t            (Wstat: 65280 Tests: 20 Failed: 0)
Non-zero exit status: 255
Parse errors: Bad plan.  You planned 24 tests but ran 20.
t/Tools/Run/WBCommandExts.t          (Wstat: 0 Tests: 25 Failed: 0)
TODO passed:   14
Files=334, Tests=21521, 307 wallclock secs ( 3.48 usr +  0.72 sys =  4.20 CPU)
Result: FAIL
Failed 1/334 test programs. 0/21521 subtests failed.

Nous avons une erreur sur 334, nous passons outre car elle nous semble minime.

Installation

>Build install

Voilà ! BioPerl est maintenant installé. Voici un programme de test :

Exemple de programme

#!/usr/bin/perl
use strict;
use warnings;

use Bio::DB::SwissProt;
my $sp  = Bio::DB::SwissProt->new();
my $seq = $sp->get_Seq_by_acc('P43780');
print $seq->seq;

# Retourne
# MSIQQIIEQKIQKEFQPHFLAIENESHLHHSNRGSESHFKCVIVSADFKNIRKVQRHQRIYQLLNEELNHSIHALALHLFTPEEWKAQNETVPHSTKCAGIGR

II-A-3 - Utilitaire « cpan »

Utiliser l'utilitaire cpan est une bonne solution, mais encore faut-il que l'on ait tout ce qu'il faut !

Sous ActivePerl à ce jour, pour utiliser convenablement l'utilitaire « cpan », il faut employer soit ActivePerl 5.14 (qui n'est plus supporté par ActivePerl), soit ActivePerl 5.16. Pour les autres versions, il faut soi-même installer le compilateur gcc, Microsoft Visual C++ (ou autre chose) afin d'avoir un « dmake » utilisable.

Si tout est OK, alors, lancez l'utilitaire cpan !

On cherche ensuite la dernière version du module :

Rechercher la dernière version de BioPerl

cpan> d /BioPerl/
Reading 'C:\Perl\cpan\Metadata'
Database was generated on Tue, 22 Jul 2014 13:17:02 GMT
Distribution    BOZO/Fry-Lib-BioPerl-0.15.tar.gz
Distribution    CDRAUG/Dist-Zilla-PluginBundle-BioPerl-0.20.tar.gz
Distribution    CJFIELDS/BioPerl-1.6.901.tar.gz
Distribution    CJFIELDS/BioPerl-1.6.923.tar.gz
Distribution    CJFIELDS/BioPerl-1.6.924.tar.gz
Distribution    CJFIELDS/BioPerl-DB-1.006900.tar.gz
Distribution    CJFIELDS/BioPerl-Network-1.006902.tar.gz
Distribution    CJFIELDS/BioPerl-Run-1.006900.tar.gz
Distribution    CRAFFI/Bundle-BioPerl-2.1.8.tar.gz
Distribution    RBUELS/Dist-Zilla-PluginBundle-Bioperl-0.01.tar.gz
10 items found

On l'installe :

Installation

cpan> install CJFIELDS/BioPerl-1.6.924.tar.gz
# ou si vous avez des erreurs et que vous souhaitez passer outre
cpan> force install CJFIELDS/BioPerl-1.6.924.tar.gz

Voilà ! En cas de problèmes n'hésitez pas : Commentez  !

II-B - Sous Windows Strawberry Perl ou Sous Linux/Mac OS

L'installation se fait exclusivement via l'utilitaire « cpan ». La première des choses à faire est de mettre à jour votre module CPAN : cpan -i CPAN.

Une fois ce dernier à jour, il faut lancer l'installation du module :

Installation

cpan> d /BioPerl/
Reading 'C:\Perl\cpan\Metadata'
Database was generated on Tue, 22 Jul 2014 13:17:02 GMT
Distribution    BOZO/Fry-Lib-BioPerl-0.15.tar.gz
Distribution    CDRAUG/Dist-Zilla-PluginBundle-BioPerl-0.20.tar.gz
Distribution    CJFIELDS/BioPerl-1.6.901.tar.gz
Distribution    CJFIELDS/BioPerl-1.6.923.tar.gz
Distribution    CJFIELDS/BioPerl-1.6.924.tar.gz
Distribution    CJFIELDS/BioPerl-DB-1.006900.tar.gz
Distribution    CJFIELDS/BioPerl-Network-1.006902.tar.gz
Distribution    CJFIELDS/BioPerl-Run-1.006900.tar.gz
Distribution    CRAFFI/Bundle-BioPerl-2.1.8.tar.gz
Distribution    RBUELS/Dist-Zilla-PluginBundle-Bioperl-0.01.tar.gz
10 items found

cpan> install CJFIELDS/BioPerl-1.6.924.tar.gz

L'utilitaire « cpan » procédera à l'installation des modules nécessaires et de BioPerl, et le construira pour votre PC. Si à la fin de l'installation il y a un échec et si ce dernier est minime, ou si vous ne pouvez pas le résoudre, n'hésitez pas à relancer l'installation en mode forcé :

Installation forcée

cpan> force install CJFIELDS/BioPerl-1.6.924.tar.gz

Vous pouvez ensuite tester ce programme :

Programme de test

#!/usr/bin/perl
use strict;
use warnings;

use Bio::DB::SwissProt;
my $sp  = Bio::DB::SwissProt->new();
my $seq = $sp->get_Seq_by_acc('P43780');
print $seq->seq;

# Retourne
# MSIQQIIEQKIQKEFQPHFLAIENESHLHHSNRGSESHFKCVIVSADFKNIRKVQRHQRIYQLLNEELNHSIHALALHLFTPEEWKAQNETVPHSTKCAGIGR

III - Conclusion

Comme vous avez pu le constater, installer BioPerl revient, d'une manière ou d'une autre, à être dans l'obligation de pouvoir utiliser l'utilitaire « cpan », donc d'avoir le nécessaire sur son PC si on est sous Windows. ActivePerl nous fournit le nécessaire sous deux versions : 5.14 et 5.16. Mais c'est vraiment pénible, car aujourd'hui, nous sommes à la version 5.20 ! ActivePerl suit très lentement les évolutions de Perl et avec sa politique, ne maintient plus les anciennes versions N-1. Si vous disposez de la bonne version sous Windows, tant mieux, si ce n'est pas le cas, je vous recommande grandement de passer à Strawberry Perl ! Vous serez tranquille !

Sous Linux et Mac OS, RAS !

N'hésitez pas à laisser des commentaires, des appréciations ou corrections pour ce tutoriel : Commentez  !

Je tiens à remercier stoyak et jacques_jean pour la relecture de ce tutoriel