API Information

The API was developed with simplicity in mind. Utilizing the API is as simple as going to a web site.

The base URL for the API is: https://churchilllab.jax.org/foundersnps

The following parameters are required:

release (required)
The release value is a Sanger release number.

https://churchilllab.jax.org/foundersnps/api/search?release=2021&variant=snp&term=1:12.1Mb-12.5Mb


variant (required)
The variant value must be either 'SNP' or 'INDEL'.


term (required)
The term value can be a region (1:12.1Mb-12.5Mb) or SNP ID/RS Number (rs580619251).

https://churchilllab.jax.org/foundersnps/api/search?release=2021&variant=snp&term=1:12.1Mb-12.5Mb
https://churchilllab.jax.org/foundersnps/api/search?release=2021&variant=snp&term=rs580619251


low_confidence
The term value can be True to include records that have low confidence calls.

https://churchilllab.jax.org/foundersnps/api/search?release=2021&variant=snp&term=1:12.1Mb-12.5Mb&low_confidence=T


csqs
Filter the results by consequences. This can be a comma separated string of values.

https://churchilllab.jax.org/foundersnps/api/search?release=2021&variant=snp&term=1:12.1Mb-12.5Mb&csqs=intron_variation,synonymous_variant


limit
The limit value is a numeric value to limit how many items should be returned.

https://churchilllab.jax.org/foundersnps/api/search?release=2021&variant=snp&term=1:12.1Mb-12.5Mb&limit=100


compact
The compact value is a boolean (True or False) value to cutdown the amount of data passed back by the API. Possible values to turn on the compact behavior are 1 or T or True. Instead of being a nested element, each element is an array.

https://churchilllab.jax.org/foundersnps/api/search?release=2021&variant=snp&term=1:12.1Mb-12.5Mb&limit=100&compact=T


The API response is in JSON format with the following fields being returned:

message
This will be null in the case of a successful response. In the case of an error, the message value will tell you what went wrong with your request.

request
This value will contain information on how the API interprets your request.

result
This value will be a nested value with the following information:
num_matches
The number of matches returned.

matches
This is an array of all the matches with the following fields for each element:

variants_id
The variant identifier
chr
The chromosome
pos
The position
ref
The reference value
sdp
Strain distribution pattern (R/qtl2 version)
sdpn
Strain distribution pattern (New version)
129S1_SvImJ
SNP/INDEL value for 129S1/SvImJ
A_J
SNP/INDEL value for A/J
C57BL_6J
SNP/INDEL value for C57BL/6J
CAST_EiJ
SNP/INDEL value for CAST/EiJ
NOD_ShiLtJ
SNP/INDEL value for NOD/ShiLtJ
NZO_HlLtJ
SNP/INDEL value for NZO/HlLtJ
PWK_PhJ
SNP/INDEL value for PWK/PhJ
WSB_EiJ
SNP/INDEL value for WSB/EiJ
confidence
The confidence score similarly stored like sdp. Anything != 255 has at least one allele with low confidence.
max_csq
Max consequence value
consequences
All consequence value

API Examples

Command Line: curl
curl "https://churchilllab.jax.org/foundersnps/api/search?release=2021&variant=snps&term=1:10.2Mb-10.3Mb"
Python
import requests

resp = requests.get('https://churchilllab.jax.org/foundersnps/api/search?release=2021&variant=snp&term=10:3Mb-10.4Mb&limit=5')

if resp.status_code == 200:
    json = resp.json()

    message = json['message']
    request = json['request']
    results = json['result']

    print(f'message = {message}')
    print('request=', request)

    for r in results['matches']:
        print(r)