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.h5spliceai5.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.