> For the complete documentation index, see [llms.txt](https://help.connected.illumina.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://help.connected.illumina.com/annotation/data-sources/splice-ai-2.md).

# SpliceAI2

### Overview

SpliceAI2 is an AI annotation model developed by the BioInsight Artificial Intelligence Lab to predict how genetic variants affect RNA splicing. It builds on [SpliceAI](/annotation/data-sources/splice-ai.md) with improved splice-site predictions and expanded prediction of splice junctions and complete RNA transcripts.

The model predicts where donor and acceptor splice sites occur, how frequently they are used, how splice sites connect through splice junctions, and which full-length transcript isoforms are produced. These predictions are generated directly from DNA sequence, enabling transcript-level analysis without requiring long-read RNA sequencing.

SpliceAI2 was trained using a substantially larger and more diverse RNA sequencing dataset than SpliceAI, improving its ability to identify splice-altering variants, including cryptic and deep-intronic variants that can be difficult to detect using traditional approaches.

For more details, refer to:

{% hint style="info" %}
**Publication**

Jaganathan, et al. A unified framework for quantitative splicing and transcript prediction. [*Preprint*](https://assets.illumina.com/content/dam/illumina-marketing/images/genomics-research/articles/spliceai2/SpliceAI2.pdf) (2026).
{% endhint %}

{% hint style="warning" %}
**Professional data source**

This data source requires a Professional license. Contact `annotation_support@illumina.com` to request access.
{% endhint %}

### Parsing

#### VCF File

```scss
##fileformat=VCFv4.0
##assembly=GRCh37/hg19
##INFO=<ID=SYMBOL,Number=1,Type=String,Description="HGNC gene symbol">
##INFO=<ID=STRAND,Number=1,Type=String,Description="+ or - depending on whether the gene lies in the positive or negative strand">
##INFO=<ID=TYPE,Number=1,Type=String,Description="E or I depending on whether the variant position is exonic or intronic (GENCODE V24lift37 canonical annotation)">
##INFO=<ID=DIST,Number=1,Type=Integer,Description="Distance between the variant position and the closest splice site (GENCODE V24lift37 canonical annotation)">
##INFO=<ID=DS_AG,Number=1,Type=Float,Description="Delta score (acceptor gain)">
##INFO=<ID=DS_AL,Number=1,Type=Float,Description="Delta score (acceptor loss)">
##INFO=<ID=DS_DG,Number=1,Type=Float,Description="Delta score (donor gain)">
##INFO=<ID=DS_DL,Number=1,Type=Float,Description="Delta score (donor loss)">
##INFO=<ID=DP_AG,Number=1,Type=Integer,Description="Delta position (acceptor gain) relative to the variant position">
##INFO=<ID=DP_AL,Number=1,Type=Integer,Description="Delta position (acceptor loss) relative to the variant position">
##INFO=<ID=DP_DG,Number=1,Type=Integer,Description="Delta position (donor gain) relative to the variant position">
##INFO=<ID=DP_DL,Number=1,Type=Integer,Description="Delta position (donor loss) relative to the variant position">
#CHROM	POS	ID	REF	ALT	QUAL	FILTER	INFO
10	92946	.	C	T	.	.	SYMBOL=TUBB8;STRAND=-;TYPE=E;DIST=-53;DS_AG=0.0000;DS_AL=0.0000;DS_DG=0.0000;DS_DL=0.0000;DP_AG=-26;DP_AL=-10;DP_DG=3;DP_DL=35
10	92946	.	C	G	.	.	SYMBOL=TUBB8;STRAND=-;TYPE=E;DIST=-53;DS_AG=0.0008;DS_AL=0.0000;DS_DG=0.0003;DS_DL=0.0000;DP_AG=34;DP_AL=-27;DP_DG=35;DP_DL=1
10	92946	.	C	A	.	.	SYMBOL=TUBB8;STRAND=-;TYPE=E;DIST=-53;DS_AG=0.0004;DS_AL=0.0000;DS_DG=0.0001;DS_DL=0.0000;DP_AG=-10;DP_AL=-48;DP_DG=35;DP_DL=-21
10	92947	.	A	C	.	.	SYMBOL=TUBB8;STRAND=-;TYPE=E;DIST=-54;DS_AG=0.0002;DS_AL=0.0000;DS_DG=0.0000;DS_DL=0.0000;DP_AG=-49;DP_AL=-11;DP_DG=0;DP_DL=34
10	92947	.	A	T	.	.	SYMBOL=TUBB8;STRAND=-;TYPE=E;DIST=-54;DS_AG=0.0002;DS_AL=0.0000;DS_DG=0.0000;DS_DL=0.0000;DP_AG=33;DP_AL=-11;DP_DG=-22;DP_DL=34
10	92947	.	A	G	.	.	SYMBOL=TUBB8;STRAND=-;TYPE=E;DIST=-54;DS_AG=0.0006;DS_AL=0.0000;DS_DG=0.0001;DS_DL=0.0000;DP_AG=33;DP_AL=-11;DP_DG=34;DP_DL=32
```

DRAGEN Annotation extracts these INFO fields:

* `DS_AG` - Δ score (acceptor gain)
* `DS_AL` - Δ score (acceptor loss)
* `DS_DG` - Δ score (donor gain)
* `DS_DL` - Δ score (donor loss)
* `DP_AG` - Δ position (acceptor gain) relative to the variant position
* `DP_AL` - Δ position (acceptor loss) relative to the variant position
* `DP_DG` - Δ position (donor gain) relative to the variant position
* `DP_DL` - Δ position (donor loss) relative to the variant position

These fields report the predicted splice gain or loss and the relative position of the effect.

#### Filtering

SpliceAI2 provides entries across the genome. Many low-scoring entries have limited value, especially in intergenic regions. These entries increase storage requirements and slow annotation.

DRAGEN Annotation filters out low-confidence entries except within 15 bp of nascent splice sites. In those regions, low-confidence predictions can still help identify potential splice disruption.

### JSON output

```json
"spliceAI":[ 
   {
      "hgnc":"BLCAP",
      "acceptorGainDistance":-3,
      "acceptorGainScore":0.3,
      "donorLossDistance":7,
      "donorLossScore":0.9
   },
   { 
      "hgnc":"NNAT",
      "acceptorGainDistance":-1,
      "acceptorGainScore":0.2,
      "donorGainDistance":-2,
      "donorGainScore":0.3
   }
]
```

<table><thead><tr><th width="199.54296875">Field</th><th width="140.0703125">Type</th><th>Notes</th></tr></thead><tbody><tr><td>hgnc</td><td>string</td><td>HGNC gene symbol</td></tr><tr><td>acceptorGainDistance</td><td>int</td><td>± bp from current position</td></tr><tr><td>acceptorGainScore</td><td>float</td><td>range: 0 - 1.0. 1 decimal place</td></tr><tr><td>acceptorLossDistance</td><td>int</td><td>± bp from current position</td></tr><tr><td>acceptorLossScore</td><td>float</td><td>range: 0 - 1.0. 1 decimal place</td></tr><tr><td>donorGainDistance</td><td>int</td><td>± bp from current position</td></tr><tr><td>donorGainScore</td><td>float</td><td>range: 0 - 1.0. 1 decimal place</td></tr><tr><td>donorLossDistance</td><td>int</td><td>± bp from current position</td></tr><tr><td>donorLossScore</td><td>float</td><td>range: 0 - 1.0. 1 decimal place</td></tr></tbody></table>

### Interpreting scores

SpliceAI2 delta scores range from `0` to `1`.

The BioInsight AI Lab suggests this interpretation:

| Common thresholds                    | SpliceAI2 |
| ------------------------------------ | --------- |
| High sensitivity                     | ≥0.1      |
| Balanced sensitivity and specificity | ≥0.25     |
| High specificity                     | ≥0.5      |

### Resources

* [SpliceAI2 GitHub](https://github.com/Illumina/spliceAI2)
* [SpliceAI2 Blog](https://www.illumina.com/science/genomics-research/articles/introducing-spliceai2--the-next-generation-of-splicing-and-trans.html)


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

```
GET https://help.connected.illumina.com/annotation/data-sources/splice-ai-2.md?ask=<question>&goal=<user_goal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `build a script that syncs our docs to a CMS` lets GitBook tailor the answer to that use case.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
