[an error occurred while processing this directive]

JSON API data interface

Contents

What is JSON data ?
What is the access URL ?
What type of data can be accessed ?
Endpoint functions
Parameters to endpoint functions
Required and optional parameters
Supported track types
Example data access, list functions
Example data access, getData functions
Error return examples

What is JSON data ?

JSON data is a data transfer syntax from a data provider to a data consumer. See also: JSON Introduction

What is the access URL ?

This access url: https://api.genome.ucsc.edu/ is used to access the endpoint functions. For example:

    wget -O- 'https://api.genome.ucsc.edu/list/publicHubs'

What type of data can be accessed ?

The following data sets can be accessed at this time:

Endpoint functions to return data

The url https://api.genome.ucsc.edu/ is used to access the endpoint functions. For example:

    wget -O- 'https://api.genome.ucsc.edu/list/publicHubs'

Parameters to endpoint functions

The parameters are added to the endpoint URL beginning with a question mark ?, and multiple parameters are separated with the semi-colon ;. For example:

https://api.genome.ucsc.edu/getData/sequence?genome=ce11;chrom=chrM

Required and optional parameters

Endpoint functionRequiredOptional
/list/publicHubs(none)(none)
/list/ucscGenomes(none)(none)
/list/hubGenomeshubUrl(none)
/list/tracksgenome or (hubUrl and genome)trackLeavesOnly=1
/list/chromosomesgenome or (hubUrl and genome)track
/getData/sequence(genome or (hubUrl and genome)) and chromstart and end
/getData/track(genome or (hubUrl and genome)) and trackchrom, (start and end), maxItemsOutput, jsonOutputArrays

The hubUrl and genome parameters are required together to specify a unique genome in an assembly or track hub. The genome for a track hub will usually be a UCSC database genome. Assembly hubs will have their own unique genome sequences. Specify genome without a hubUrl to refer to a UCSC Genome Browser assembly.

Using the chrom=<name> parameter will limit the request to the single specified chromosome. To limit the request to a specific position, both start=4321 and end=5678 must be given together.

Any extra parameters not allowed in a function will be flagged as an error.

Supported track types, at this time (April 2019), for getData functions

Example data access

Your WEB browser can be configured to interpret JSON data and format in a convenient browsing format. Firefox has this function built in, other browsers have add-ons that can be turned on to format JSON data. With your browser thus configured, the following links can demonstrate the functions of the API interface.

Listing functions

  1. list public hubs - api.genome.ucsc.edu/list/publicHubs
  2. list UCSC database genomes - api.genome.ucsc.edu/list/ucscGenomes
  3. list genomes from specified hub - api.genome.ucsc.edu/list/hubGenomes?hubUrl=http://genome-test.gi.ucsc.edu/~hiram/hubs/Plants/hub.txt
  4. list tracks from specified hub and genome - api.genome.ucsc.edu/list/tracks?hubUrl=http://genome-test.gi.ucsc.edu/~hiram/hubs/Plants/hub.txt;genome=araTha1
  5. list tracks from UCSC database genome - api.genome.ucsc.edu/list/tracks?genome=ce11
  6. list chromosomes from UCSC database genome - api.genome.ucsc.edu/list/chromosomes?genome=ce11
  7. list chromosomes from specified track in UCSC database genome - api.genome.ucsc.edu/list/chromosomes?genome=ce11;track=gold
  8. list chromosomes from assembly hub genome -
    api.genome.ucsc.edu/list/chromosomes?hubUrl=http://genome-test.gi.ucsc.edu/~hiram/hubs/Plants/hub.txt;genome=araTha1
  9. list chromosomes from specified track in assembly hub genome -
    api.genome.ucsc.edu/list/chromosomes?hubUrl=http://genome-test.gi.ucsc.edu/~hiram/hubs/Plants/hub.txt;genome=araTha1;track=assembly

getData functions

  1. Get DNA sequence from specified chromosome in UCSC database genome -
    api.genome.ucsc.edu/getData/sequence?genome=ce11;chrom=chrM
  2. Get DNA sequence from specified chromosome and start,end coordinates in UCSC database genome -
    api.genome.ucsc.edu/getData/sequence?genome=ce11;chrom=chrM;start=4321;end=5678
  3. Get DNA sequence from a track hub where 'genome' is a UCSC database -
    api.genome.ucsc.edu/getData/sequence?hubUrl=http://genome-test.gi.ucsc.edu/~hiram/hubs/GillBejerano/hub.txt;genome=hg19;chrom=chrM;start=4321;end=5678
  4. Get DNA sequence from specified chromosome and start,end coordinates in an assembly hub genome -
    api.genome.ucsc.edu/getData/sequence?hubUrl=http://genome-test.gi.ucsc.edu/~hiram/hubs/Plants/hub.txt;genome=araTha1;chrom=chrCp;start=4321;end=5678
  5. Get track data for specified track in UCSC database genome -
    api.genome.ucsc.edu/getData/track?genome=ce11;track=gold;maxItemsOutput=100
  6. Get track data for specified track and chromosome in UCSC database genome -
    api.genome.ucsc.edu/getData/track?genome=ce11;track=gold;chrom=chrM
  7. Get track data for specified track, chromosome and start,end coordinates in UCSC database genome -
    api.genome.ucsc.edu/getData/track?genome=ce11;track=gold;chrom=chrI;start=47000;end=48000
  8. Get track data for specified track in an assembly hub genome -
    api.genome.ucsc.edu/getData/track?hubUrl=http://genome-test.gi.ucsc.edu/~hiram/hubs/Plants/hub.txt;genome=araTha1;track=assembly
  9. Get track data for specified track and chromosome in an assembly hub genome -
    api.genome.ucsc.edu/getData/track?hubUrl=http://genome-test.gi.ucsc.edu/~hiram/hubs/Plants/hub.txt;genome=araTha1;track=assembly;chrom=chrCp
  10. Get track data for specified track in a track hub -
    api.genome.ucsc.edu/getData/track?hubUrl=http://genome-test.gi.ucsc.edu/~hiram/hubs/GillBejerano/hub.txt;genome=hg19;track=ultraConserved
  11. Get track data for specified track and chromosome in a track hub -
    api.genome.ucsc.edu/getData/track?hubUrl=http://genome-test.gi.ucsc.edu/~hiram/hubs/GillBejerano/hub.txt;genome=hg19;track=ultraConserved;chrom=chr8
  12. Wiggle track data for specified track, chromosome with start and end limits in an assembly hub genome -
    api.genome.ucsc.edu/getData/track?hubUrl=http://genome-test.gi.ucsc.edu/~hiram/hubs/Plants/hub.txt;genome=araTha1;track=assembly;chrom=chrCp;start=4321;end=5678
  13. Wiggle track data for specified track in a UCSC database genome -
    api.genome.ucsc.edu/getData/track?genome=galGal6;track=gc5BaseBw;maxItemsOutput=100
  14. bigBed data from a UCSC database, chrom and start,end limits -
    api.genome.ucsc.edu/getData/track?genome=galGal6;track=ncbiRefSeqOther;chrom=chr1;start=750000;end=55700000

Error return examples

  1. Request track data for non-existent chromosome in an assembly hub genome -
    api.genome.ucsc.edu/getData/track?hubUrl=http://genome-test.gi.ucsc.edu/~hiram/hubs/Plants/hub.txt;genome=araTha1;track=assembly;chrom=chrI;start=43521;end=54321

[an error occurred while processing this directive]