SpliceAI browser runner

Client-side version of the notebook’s first section: enter a DNA sequence, run the five-model SpliceAI ensemble, inspect donor/acceptor probabilities, and list the strongest sites.

Official H5 weights · browser inference

1. Model (should load automatically)

Official SpliceAI v1.3.1 ensemble

The page automatically fetches spliceai1.h5 … spliceai5.h5 from Illumina’s archived repository, reads the HDF5 files in memory, and loads the original Keras topology and weights. The model files are downloaded by your browser; they are not stored in this project and the sequence stays in the browser.

The 5,000-nt N padding on each side is intentional: the model crops 5,000 positions from each side, so this is the minimum needed to return one score per entered nucleotide. N represents unknown flanking sequence; predictions near the entered sequence ends can change if different flanks are supplied.

Context and length: each score can use up to 5,000 nt on the left and 5,000 nt on the right (10,001 positions including the scored nucleotide; commonly called a 10,000-nt context). The raw model needs at least 10,001 input positions for one output, but this page adds 10,000 padding positions, so every non-empty entered sequence is valid. There is no architecture-level maximum length; browser memory and runtime are the practical limits. For very long sequences, use overlapping chunks with at least 5,000 nt of context and keep the central scores.

Official weights · SpliceAI v1.3.1
Optional local TensorFlow.js fallback

Expected layout: web_models/spliceai1/model.json through spliceai5/model.json. This fallback is useful if you already have converted models; it is not needed for the automatic path.

Fetching the official SpliceAI models…

2. Sequence (Enter your sequence here)

TensorFlow.js backend: not initialized

The reset example is a synthetic 563-nt splice-junction demonstration with two strong donor and two strong acceptor sites; it is not a genomic locus.

Page limit: 10,000 entered nucleotides per run. This is a browser-use safeguard, not a model limitation; the model itself has no fixed maximum length. Longer regions need overlapping chunks and stitching.

0 nt
The page uses the documented 5,000-nt N padding on each side of the sequence.

Results

Sequence length
—
Models averaged
—
Maximum acceptor
—
Maximum donor
—

Per-position splice probabilities

acceptor donor x-axis: 1-based position (first nucleotide = 1)

How to read positions: All displayed positions are 1-based, so the first nucleotide is position 1. The | in a context string marks the splice boundary immediately before the model-scored nucleotide; it is not a nucleotide. For a donor, exon|intron, the left side is normally retained in mature RNA (“spliced in”) and the right side is removed with the intron (“spliced out”). For an acceptor, intron|exon, the left side is normally removed (“spliced out”) and the right side is retained (“spliced in”). A high score predicts splice-site usage; it does not establish the actual splicing outcome. In canonical DNA, donor signals commonly begin with GT and acceptor signals end with AG. In the example, donor contexts look like …|GTAAG… and acceptor contexts like …CAG|G….

Best donor sites

5′ splice site · 11-mer
RankPosition (1-based)ScoreContext (| = boundary)

Best acceptor sites

3′ splice site · 7-mer
RankPosition (1-based)ScoreContext (| = boundary)
The reported probabilities are averaged across the five loaded models.
The official models load automatically. Once ready, run the sequence to see the plot and ranked splice sites.