Zhou Lab · The University of Chicago

Motif scanning and search, instant and install-free.

Type a DNA or RNA sequence and watch motif hits appear as you type, or search a motif against reference databases. The analysis you already run — now with nothing to install, no job to wait on, and nothing uploaded.

Runs entirely client-side · DNA & RNA · free & open source
motif CTCF · JASPAR
information content (bits)
1position →19
…GCCTGAGCACCAGGTGGCAGCAGGGATGT…
A C G T / U
The tools

Two ways to work with motifs

Both tools bundle JASPAR, HOCOMOCO, CIS-BP, and Vierstra for DNA plus CIS-BP-RNA — combine several at once, add your own MEME or JSON file, and build to a single HTML file you can keep.

How it works

Methodology

The tools implement well-established motif methods in TypeScript so they run in the browser, and validate their output against reference implementations where one exists.

// scoring

Log-odds position weight matrix

A probability matrix is converted to a log-odds PWM against a background distribution (default A/C/G/T = 0.295 / 0.205 / 0.205 / 0.295) with a small pseudocount. A window's score is the sum of per-position log-odds.

score = Σi log2( p(bi, i) + ε ) − log2( bg(bi) + ε )
Reported as bit score, relative score (0–1), and p-value.
// significance

Exact p-values

The full score distribution under the background is built by dynamic-programming convolution over motif positions, quantized to a fixed bin size. Each hit's p-value is the exact tail probability of its score — no sampling, no normal approximation.

P(S ≥ s) = Σx ≥ s Prbg(x)
Method: Grant, Bailey & Noble, FIMO (Bioinformatics 2011).
// similarity

Cross-correlation & LLR search

The query and each database motif become columns of log-odds scores. Sliding the query across a motif, every offset is scored by normalized cross-correlation — the cosine similarity of the overlapping columns, from −1 to +1 — and the best offset is kept over both strands. A complementary log-likelihood ratio sums the query's log-odds over that overlap. It's a simple, sensible similarity measure; an FFT makes the all-offsets comparison fast.

NCC(τ) = ⟨ q, mτ ⟩ / (‖q‖ ‖mτ‖)
O(n log n) per motif via FFT. In-house measure — no separate reference.
// comparison

Tomtom p-values

Tomtom mode runs the MEME-style column-comparison statistic with complete (exact) p-values, giving calibrated significance for motif-vs-motif matches. Ported from memesuite-lite and checked for parity against its test vectors.

column scores → offset alignment → complete p-value
Method: Gupta, Stamatoyannopoulos, Bailey & Noble, Tomtom (Genome Biology 2007).
Reference data

Databases built in

Bundled and selectable in both tools. Please cite the original source for any database you use.

DatabaseTypeMotifsSource & citation
DNA JASPAR 2024 CORE vertebrates 879 Rauluseviciute et al., NAR 2024 · jaspar.elixir.no
DNA HOCOMOCO H14 CORE human 1595 Vorontsov et al. · hocomoco14.autosome.org
DNA CIS-BP 2.0 human TFs 1065 Weirauch et al., Cell 2014 · cisbp.ccbr.utoronto.ca
DNA Vierstra clustered v2 TF footprints 693 Vierstra et al., Nature 2020 · vierstra.org
RNA CIS-BP-RNA human RBPs 98 Ray et al., Nature 2013 · cisbp-rna.ccbr.utoronto.ca

Select any combination of DNA databases to search them together; RNA is scanned on its own. Bring your own too — upload any MEME-format file (ACGT or ACGU) or a JSON matrix, parsed in your browser and never uploaded.

Take it offline

Download & privacy

Standalone HTML

Each tool builds to one self-contained file — databases embedded, no CDN, no server. Save it and open it from disk; it works fully offline.

Your sequences stay yours

nothing is uploaded

All scanning and searching runs in your browser. Sequences you paste are never sent anywhere.

The one exception: if you enter genomic coordinates in the scanner (Seqstr format), those coordinates — not sequences you typed — are sent to the UCSC Genome Browser API to fetch the reference sequence.