News and Announcements »

QIIME parameters files

QIIME parameters files are used with the QIIME workflow scripts, which plug together multiple QIIME commands.


The QIIME workflow scripts plug together two or more QIIME commands to facilitate running common processes. For example, combines OTU picking, representative sequence picking, taxonomy assignment, sequence alignment, alignment filtering, and tree building in a single QIIME command. If you were to run each of these steps yourself, you would run about seven different commands (depending a little on what options you use). Because each of these individual commands may have many options, it’s not feasible to make of these options accessible through the interface (to see why, run -h to get list of options for just that single script). However, we still want users to have control over the different options available in the individual scripts. To achieve that, you can pass a QIIME parameters file to the workflow scripts to modify options to the component scripts of the workflow.


The parameters file is a text file with one parameter setting per line. Blank lines or lines beginning with a # are ignored. A parameter setting is defined as script_name:parameter_name, followed by whitespace (space or tab), and then the value. For example:

pick_otus:otu_picking_method    uclust

This indicates that the --otu_picking_method will be set to uclust when calling To get information on what a parameter in the qiime_parameters.txt file is, you should call the script name followed by -h to access the usage information for that script. In the above example, you could call: -h

Flag options (i.e., those that don’t take a value, like the --enable_rev_strand_match option to are specified by passing True or False after the whitespace. For example:

pick_otus:enable_rev_strand_match       True

If a parameter is not followed by an option, it will not be passed to the script resulting in the default value being used instead. For example:


This results in no --similarity parameter being passed to Alternatively, you can delete this line from your parameters file.

Note that when specifying parameters, you must specify their long form name, not their single-letter abbreviation. For example, if a parameter is defined as follows:

                      Sequence similarity threshold (for blast, cdhit,
                      uclust, uclust_ref, or usearch) [default: 0.97]

You would pass this as pick_otus:similarity, NOT as pick_otus:s. The latter will not work!

Some workflow scripts, such as, run commands found in the biom-format package as part of their workflow. These commands are a bit different than QIIME scripts because they are of the form biom <subcommand> (e.g., biom summarize-table). In order to control these biom-format commands using a QIIME parameters file, you must reference the command name and the subcommand name, separated by a dash. For example, to control the behavior of biom summarize-table, your QIIME parameters file might look like:

biom-summarize-table:qualitative        True


Below is a commonly used parameter file.

Run beta diversity with Unweighted UniFrac, Weighted UniFrac, Bray-Curtis, and Euclidean distance metrics, and alpha diversity with Observed Species and Chao1. This can be used with,, and

beta_diversity:metrics  bray_curtis,euclidean,unweighted_unifrac,weighted_unifrac
alpha_diversity:metrics observed_species,chao1

Why is there no longer an example parameters file included with QIIME?

In the past we provided an example QIIME parameters file, which contained all of the parameters to all of the subcommands for all of the workflow scripts. This was really messy and hard to maintain: if we updated a default parameter in a QIIME script, we had to also update it in the parameters file, or using the example parameters file would default to an old parameter setting. Initially, the parameters files were also required options to the workflow scripts, but they are now optional, so we now recommend using the parameters files in a different way that we have in the past.

Previously we recommended starting with the example QIIME parameters file and modifying it change the parameters used during your workflow. We now recommend starting with no parameters file (the default) and creating one with only the parameters you want to modify, if you want to change the default behavior. We therefore no longer provide an example parameters file. To find the parameters that are available to modify for a given workflow, you can call the individual component scripts (i.e., the scripts that are called by the workflow scripts) with -h to see what parameters are available to be modified. We hope to make this even simpler in the future as we work on a general refactoring of the QIIME workflow functionality.