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.
1. Model (should load automatically)
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.
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.
2. Sequence (Enter your sequence here)
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.
Results
Per-position splice probabilities
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
| Rank | Position (1-based) | Score | Context (| = boundary) |
|---|
Best acceptor sites
| Rank | Position (1-based) | Score | Context (| = boundary) |
|---|