LEfSe (Linear discriminant analysis Effect Size) determines the features (organisms, clades, operational taxonomic units, genes, or functions) most likely to explain differences between classes by coupling standard tests for statistical significance with additional tests encoding biological consistency and effect relevance.

LEfSe is available as a Galaxy module, a Conda formula, a Docker image, and included in bioBakery (VM and cloud). For additional information, please refer to the LEfSe paper.

Github Repository || Galaxy Module || Tutorial || Forum


If you find LEfSe useful in your research please cite our paper (Segata et. al 2010):

Nicola Segata, Jacques Izard, Levi Walron, Dirk Gevers, Larisa Miropolsky, Wendy Garrett, Curtis Huttenhower.
Genome Biology, 2011 Jun 24;12(6):R60
Installation (Conda/Docker/VM)

LEfSe can be installed with Conda or run from a Docker image. Please note, if you are using bioBakery (Vagrant VM or cloud) you do not need to install LEfSe because the tool and its dependencies are already installed.

Install with Conda: $ conda install -c biobakery lefse

Install with Docker: $ docker run -it biobakery/lefse bash

Input file format

The text tab-delimited input file consists of a list of numerical features, the class vector and optionally the subclass and subject vectors. The features can be read counts directly or abundance floating-point values more generally, and the first field is the name of the feature. Class, subclass and subject vectors have a name (the first field) and a list of non-numerical strings.

Although both column and row feature organization is accepted, given the high-dimensional nature of metagenomic data, the listing of the features in rows is preferred.

Galaxy LEfSe

For the purpose of this tutorial we will be using a sample input file (hmp_small_aerobiosis.txt).

  • Go to the Huttenhower Galaxy Server:
  • Click on the Get Data -> Upload File link on the left pane and upload the demo file (hmp_small_aerobiosis.txt). You can do this by clicking on the Browse button, selecting the demo file, and then pressing the Start button. Select the format tabular.


  • Click on the LEfSe -> Format Data for LEfSe link on the left pane, and select the specific rows for Class, Subclass and Subjects in your file, and press the Execute button as shown below:


  • Click on the LEfSe -> LDA Effect Size (LEfSe) link on the left pane, and select parameter values according to your analysis requirements. Press Execute, when done.


  • Once complete, you may now plot the LEfSe results, by click on the LEfSe -> Plot LEfSe Results link on the left pane, and press the Execute button as shown below:


  • This will produce a figure, that will look like as shown below (To visualize the figure in the browser, click on the Eye symbol against the resulting output in the right pane).


  • To plot a cladogram of your results, you may click on the Plot Cladogram link on the left pane, and press the Execute button when ready.


  • This action will produce a cladogram, as shown below:




To visualize the results, LEfSe provides a couple of options. For all the options you will need the output from run_lefse.py (in this case: hmp_aerobiosis_small.res)

  • To plot the results of the LEfSe analysis generated from the previous step, run the following command.:
    $ plot_res.py hmp_aerobiosis_small.res hmp_aerobiosis_small.png
  • This will produce a figure as shown below:


  • You may also choose to visualize the results in a Cladogram. Run the following command to generate the Cladogram figure. This will use the LEfSe results file generated previously.:
    $ plot_cladogram.py hmp_aerobiosis_small.res hmp_aerobiosis_small.cladogram.png --format png
  • The resulting figure is shown below.