Valid XHTML     Valid CSS2    

Production rapide des PNG pour une analyse LEFSE

 

Table des matières cliquable

  1. Analyse LEFSE

  2. Automatisation en Perl

  3. Installation

  4. Aide en ligne et path en option

 

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.png
     

Il 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  CLADFILE
     

Voici 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.pl
     

Pour 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.txt
     

Si tout s'est bien passé, vous devriez disposer au bout d'une dizaine de secondes des deux images suivantes :

       non sunon su

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 gH    Retour à la page principale de   (gH)