
Proto is not affiliated with University of Nevada, Reno, University of Washington, University of Queensland, and University of California, San Diego. This toolkit is open source and builds on the implementations produced by these organizations. Product names, logos, and trademarks are the property of their respective owners.
Background
FIMO (Grant, Bailey & Noble, 2011) treats a motif as a position weight matrix (PWM) and slides it across every position of each target sequence. At each position it computes a log-odds score of the windowed subsequence under the motif model versus a background nucleotide (or amino-acid) distribution, then converts that score to a p-value using the exact null distribution of scores for the motif. Because many positions across many sequences and motifs are tested, FIMO also reports a Benjamini-Hochberg q-value so that hits can be filtered at a controlled false discovery rate. Motifs are supplied in MEME format, the text PWM format shared across the MEME Suite, and large curated collections such as the JASPAR transcription-factor database publish their matrices in this format directly. For nucleotide motifs FIMO scans both the given strand and its reverse complement by default, since a regulatory motif may occur on either DNA strand; protein and strand-specific scans disable the reverse strand. Coordinates of each match are reported as 1-indexed, inclusive intervals to match biological residue selection conventions. pymemesuite preserves the FIMO scoring algorithm exactly while returning structured per-match results in Python.Learning Resources
- FIMO documentation (The MEME Suite) - the canonical reference for FIMO’s inputs, p-value/q-value statistics, threshold options, and output columns.
- MEME motif format guide (The MEME Suite) - describes the text PWM format FIMO consumes, including how to convert matrices from other databases.
- JASPAR (JASPAR Consortium) - the standard open-access database of curated transcription-factor binding profiles, downloadable as MEME-format motifs ready to feed to FIMO.
Tools
MEME FIMO Motif Scan (meme-fimo-scan)
Scans one or more target sequences against every position weight matrix in a MEME-format motif file and returns each occurrence with its motif id, 1-indexed coordinates, strand, log-odds score, p-value, and q-value.API Reference
Input: MEMEFimoScanInput
Input: MEMEFimoScanInput
Config: MEMEFimoScanConfig
Config: MEMEFimoScanConfig
--thresh). Default 1e-4.--norc disables the reverse strand). Automatically ignored for protein / non-complementable motifs, which are always scanned forward-only. Default True.True is coerced to 1 and False to 0.None waits indefinitely.BaseToolOutput.approx_equal), and the seed participates in cache keys. When None, cacheable seed-sensitive tools skip cache until seeded.Output: MEMEFimoScanOutput
Output: MEMEFimoScanOutput
MEMEFimoScanInput.sequences — results[i] holds the matches found in sequence i (empty if none).Applications
Use this when the question is “where does motif X occur in these sequences.” Typical workflows include locating transcription-factor binding sites in promoters or enhancers, screening a designed regulatory library for unwanted or intended motif occurrences, and annotating candidate sites for downstream filtering on score or q-value.Usage Tips
thresholdis the p-value cutoff and is the main sensitivity parameter. It defaults to1e-4, reproducing FIMO’s command-line default (--thresh); only matches with a p-value at or below this value are reported. Loosen it (e.g.1e-3) to recover weaker sites at the cost of more false positives, or tighten it for stringent calls. The reported q-value gives the false discovery rate for filtering after the scan.both_strandscontrols strand coverage for nucleotide motifs. It defaults toTrue, scanning the forward strand and its reverse complement (the right choice for DNA/RNA motifs, which can bind on either strand). Set it toFalsefor single-strand scans (this maps to FIMO’s--norc). For protein and other non-complementable motifs the reverse complement is meaningless, so it is ignored automatically and scanning is always forward-only — matching the FIMO CLI.- Motifs come from MEME-format files, such as those exported from JASPAR. Supply a
.memePWM file; matrices from JASPAR and other databases can be converted to this format. The scan iterates over every motif in the file against every target sequence.
Toolkit Notes
These apply to the MEME FIMO tool in this toolkit (meme-fimo-scan).
- Runs on CPU. FIMO scanning is a CPU operation;
pymemesuitecompiles the MEME Suite C library into its wheel, so there is no GPU acceleration to enable and no separate MEME install or PATH lookup is needed. - Motifs are user-supplied. FIMO ships no motif database; provide your own MEME-format PWM file (e.g. exported from JASPAR) via
motifs. Every motif in the file is scanned against every target sequence. - Results are returned per input sequence.
results[i]holds the matches found in input sequencei, positionally aligned to the input — a sequence with no occurrences yields an empty bundle. Scanning is deterministic — identical inputs return identical matches on repeated calls.