Module

Warning Depuis l'été 2015, le cluster MBB et celui de l'ISE-M sont passés sous module pour gérer perl (voir lien). Il faut donc penser à précéder votre ligne de commande par module load perl... dans votre script de soumission SGE (points de suspension correspondants à la version désirée).

Environnement Perl

Perl permet de charger une variable d'environnement $PERLLIB / $PERL5LIB qui va chercher les librairies supplémentaires à cet emplacement. Il faut utiliser la commande suivante pour voir si elle est définie:

module load perl5.14
perl -V |egrep PERL5?LIB

Vous pouvez vous-même modifier cette variable d'environnement en la surchargeant pour que d'autres chemins soient pris en charge.

Exemple:

export PERL5LIB=/home/toto/lib/perl5/5.14.2:$PERL5LIB

Installation de modules Perl

Pour installer des modules perl, à nouveau, il faudra utiliser votre home. Quelques liens pour vous y aider :

  • http://alumni.soe.ucsc.edu/~you/notes/perl-module-install.html
  • http://blogs.perl.org/users/marc_sebastian_jakobs/2009/11/how-to-install-perl-modules-from-cpan-in-the-unix-user-space.html
  • http://linuxgazette.net/139/okopnik.html

Installation de différentes versions de Perl avec plenv

plenv vous permet d'installer vos propres versions de Perl, dans votre $HOME et ainsi choisir l'installation et les binaires qui vous intéressent selon votre besoin, de la même manière que pyenv pour python.

git clone https://github.com/tokuhirom/plenv.git ~/.plenv
git clone https://github.com/tokuhirom/Perl-Build.git ~/.plenv/plugins/perl-build/
/home/loggin/.plenv/bin/plenv install 5.18.2 -Dusethreads
/home/loggin/.plenv/bin/plenv global 5.18.2

L'installation de perl prend un peu de temps.

Pour utiliser perl cela sera maintenant :

/home/loggin/.plenv/bin/plenv exec perl ./hybridScaffold.pl

Au besoin, vous pouvez aussi regarder du côté de perlbrew, qui fait à peu près la même chose que plenv.

Pour installer un module si besoin

/home/loggin/.plenv/bin/plenv install-cpanm MyPackage

La doc de plenv

Installer un package avec dependances

Des dépendances importantes nécessiteront de passer par un conteneur singularity. En effet, nous ne pouvons pas surcharger les disques de tous les noeuds en installations nombreuses et parfois exotiques (avec parfois des problèmes de stabilité, de non compatibilité entre packages ou de dépendances croisées)...