Production rapide des PNG pour une analyse LEFSE
Table des matières cliquable
3. Installation
1. Analyse LEFSE
La production des images PNG avec LEFSE est assez facile à exécuter, puisqu'il n'y a qu'à enchainer les commandes. Toutefois c'est un peu rébarbatif ! Nous proposons ici un fichier Perl nommé lefse.pl qui ne demande que le nom des données (et éventuellement le chemin d'accès aux scripts Python) et qui produit en retour les deux images voulues. Voici un exemple :
> ls # un seul fichier avant data.txt > perl lefse.pl data.txt ~/Scripts/Python2 Lefse Analysis (gH) version 1.03 1. format input... done 2. lefse results... done 3. plot results... done 4. plot cladogram... done Computed files: data.in and data.res Available images: data.png and data_clad.png > ls # 4 nouveaux fichiers dont les 2 images PNG data.txt data.in data.res data.png data_clad.pngIl faut bien sûr que tout soit configuré et installé, avec python 2.7 (modules rpy2, numpy, matplotlib, argparse) et R 3.3 (packages survival, mvtnorm, modeltools, coin, MASS), de même que les scripts LEFSE (format_input.py, run_lefse.py, plot_res.py, plot_cladogram.py...).
2. Automatisation en Perl
Le script tient en quelques dizaines de lignes puisqu'en gros, il ne s'agit que d'exécuter 4 commandes, une fois les noms de fichiers choisis :
python format_input.py DATA INFILE -u 1 -c 2 -o 1000000 python run_lefse.py INFILE RESFILE python plot_res.py RESFILE PNGFILE python plot_cladogram.py RESFILE CLADFILEVoici le code Perl, téléchargeable via le fichier lefse.pl :
Les seuls paramètres choisis pour l'exécution du formatage sont -u 1, -c 2 et -o 1000000. Cela signifie que les individus sont définis au niveau de la ligne 1 et que les classes (ou regroupements) des colonnes sont définies au niveau de la ligne 2 (pas de sous-classes ou de sous-groupes possibles ici). Voici un mini-exemple de données telles qu'elles doivent être formatées :
subject_id 158721788 158721788 159146620 # ligne 1 : individus oxygen_availability High Mid Mid # ligne 2 : classes Archaea 2.96541e-06 5.08937e-06 4.93921e-06 # ensuite les abondances Bacteria 0.999994 0.99999 0.99999 # ...L'analyse prendra donc les sujets en ligne 1 et en fera l'analyse par disponibiité en oxygène (ligne 2).
Si vos données ne sont pas stucturées ainsi, vous pouvez utiliser notre script preLefse.php prévu pour cela.
3. Installation
Il n'y aucune installation à faire, il faut juste récupérer le script lefse.pl par exemple sous Linux avec la commande :
wget http://forge.info.univ-angers.fr/~gh/Metaseed/lefse.plPour tester si tout cela fonctionne, vous pouvez exécuter ou copier/coller les commandes suivantes :
mkdir testLefse cd testLefse wget http://forge.info.univ-angers.fr/~gh/Metaseed/testLefse.zip unzip testLefse.zip perl lefse.pl exemple.txtSi tout s'est bien passé, vous devriez disposer au bout d'une dizaine de secondes des deux images suivantes :
4. Aide en ligne et path en option
L'aide en ligne est minimale puisqu'il faut juste donner le nom du fichier à traiter. Par contre, si les fichiers Python pour Lefse ne sont pas dans le répertoire courant, il faut préciser le chemin d'accès. C'est ce que dit l'aide, accessible par le paramètre -h ou --help :
# sans paramètre, le programme "se plaint" : > perl lefse.pl Lefse Analysis (gH) version 1.03 MANDATORY PARAMETER MISSING. Syntax: perl lefse.pl INPUT_FILE [PATH for *py files] Examples: perl lefse.pl hmp.txt perl lefse.pl hmp.txt ~/Scripts/ Help: perl lefse.pl -h or perl lefse.pl --help # si on demande l'aide, on l'a ! > perl lefse.pl -h Lefse Analysis (gH) version 1.03 The script lefse.pl automates the production of png for LEFSE analysis. Just give the name of the file to be processed and the path to the Python scripts for Lefse analysis. If these scripts files are already in the same directory, just give the name of the file to be processed. # de toutes façons, si les fichiers ne sont pas présents, cela se passera mal ! > perl lefse.pl essai.txt Lefse Analysis (gH) version 1.03 required file format_input.py not found. required file plot_cladogram.py not found. required file plot_res.py not found. required file run_lefse.py not found. STOP. # avec le PATH sur les fichiers Python, tout va bien : > perl lefse.pl essai.txt ~/Scripts/Python2 Lefse Analysis (gH) version 1.03 1. format input... done 2. lefse results... done 3. plot results... done 4. plot cladogram... done Computed files: essai.in and essai.res Available images: essai.png and essai_clad.png > ls # 5 fichiers (4 nouveaux) dont les 2 images PNG essai.txt essai.in essai.res essai.png essai_clad.png
Retour à la page principale de (gH)