FIMO logo


fimo [options] <motifs> <database>


The name fimo stands for "find individual motif occurences." The program searches a sequence database for occurrences of known motifs, treating each motif independently. The program uses a dynamic programming algorithm to convert log-odds scores into p-values, assuming a zero-order background model. The p-values for each motif are then converted to q-values following the method of Benjamini and Hochberg (where "q-value" is defined as the minimal false discovery rate at which a given motif occurrence is deemed significant). The program reports all motif occurrences that receive q-values smaller than a specified threshold. If a given motif has the strand feature set to +/- (rather than +), then fimo will search both strands for occurrences.

The most accurate estimation of q-values requires FIMO to retain the p-values for all matches to a motif in memory. This is not feasible for very large sequence databases. The parameter --max-stored-scores sets the maximum number of matches that will be retained for a motif. It defaults to 100,000. If the number of matches reaches the maximum value allowed, FIMO will discard 50% of the least significant matches, and new matches falling below the significance level of the retained matches will also be discarded. If FIMO has to discard matches it will not be able to use boostraping on the complete set of p-values to estimate the parameter pi0. In this case FIMO will calculate q-values using pi0 = 1.0;



FIMO will create a directory, named fimo_out by default. Any existing output files in the directory will be overwritten. The directory will contain:

The default output directory can be overridden using the --o or --oc options which are described below.

The --text option will limit output to plain text sent to the standard output.

The HTML and plain text output contain the following columns:

The HTML and plain text output is sorted by increasing p-value.