SpliceAI Lookup API
This API serves as the backend for spliceailookup.broadinstitute.org.
It works by using precomputed scores provided by Illumina for SNVs and small InDels, and
by running the SpliceAI model for all other queries - such as larger InDels or non-default distance values.
The server and web UI code is available @ github.com/broadinstitute/SpliceAI-lookup and is maintained by the TGG.
For more details on SpliceAI, see Jaganathan et al, Cell 2019 in press. and github.com/Illumina/SpliceAI.
API Example:
/spliceai/?hg=38&distance=50&variant=chr8-140300616-T-G
Returns SpliceAI scores for the given variant.
- variant (required) a variant in the format "chrom-pos-ref-alt"
- hg (required) can be 37 or 38
- distance (optional) distance parameter of SpliceAI model (default: 50)
- mask (optional) can be 0 which means raw scores or 1 which means masked scores (default: 0).
Splicing changes corresponding to strengthening annotated splice sites and weakening unannotated splice sites are typically much less pathogenic than weakening annotated splice sites and
strengthening unannotated splice sites. When this parameter is = 1 (masked), the delta scores of such splicing changes are set to 0. SpliceAI developers recommend using raw (0) for alternative splicing analysis and masked (1) for variant interpretation.
- precomputed (optional) can be 0 which means never use precomputed scores or 1 which means use precomputed scores when possible (default: 1).
Local Install
The steps below outline how to install a SpliceAI API server on your local infrastructure.
The details will vary depending on your OS, etc. If you run into issues, please submit them
to the issue tracker.
- Install and start a redis server. It's used to cache API server responses and avoid redundantly recomputing results.
- Download reference fasta files: hg19.fa and hg38.fa
- Optionally download pre-computed scores .vcf.gz and .vcf.gz.tbi files from Illumina Basespace
- Start a single-threaded SpliceAI API server on localhost port 8080. To modify server options, edit the
start_local_server.sh
script:
$ git clone git@github.com:broadinstitute/SpliceAI-lookup.git # clone this repo
$ cd SpliceAI-lookup
$ python3 -m pip install -r requirements.txt # install python dependencies
$ ./start_local_server.sh
The server uses ~1.5 Gb RAM per server thread.