bf6b2d5aeaf8111cfd9782b265893c6f14072939 lrnassar Mon Apr 29 13:40:03 2019 -0700 Fixing some word flow/coding conventions on API help page ref#18869 diff --git src/hg/htdocs/goldenPath/help/api.html src/hg/htdocs/goldenPath/help/api.html index b52332a..4b93b8b 100755 --- src/hg/htdocs/goldenPath/help/api.html +++ src/hg/htdocs/goldenPath/help/api.html @@ -1,203 +1,261 @@

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-test.gi.ucsc.edu/ is used to access the endpoint functions. For example:

     wget -O- 'https://api-test.gi.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

-Use the url: https://api-test.gi.ucsc.edu/ is access +The url https://api-test.gi.ucsc.edu/ is used to access the endpoint functions. For example:

     wget -O- 'https://api-test.gi.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-test.gi.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
/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. +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.

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

Example data access

Listing functions

    -
  1. list public hubs - api.genome.ucsc.edu/list/publicHubs
  2. -
  3. list UCSC database genomes - api.genome.ucsc.edu/list/ucscGenomes
  4. -
  5. list genomes from specified hub - api.genome.ucsc.edu/list/hubGenomes?hubUrl=http://genome-test.gi.ucsc.edu/~hiram/hubs/Plants/hub.txt
  6. -
  7. 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
  8. -
  9. list tracks from UCSC database genome - api.genome.ucsc.edu/list/tracks?genome=ce11
  10. -
  11. list chromosomes from UCSC database genome - api.genome.ucsc.edu/list/chromosomes?genome=ce11
  12. -
  13. list chromosomes from specified track in UCSC database genome - api.genome.ucsc.edu/list/chromosomes?genome=ce11;track=gold
  14. -
  15. 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
  16. -
  17. 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_
  18. +
  19. list public hubs - +api.genome.ucsc.edu/list/publicHubs
  20. +
  21. list UCSC database genomes - +api.genome.ucsc.edu/list/ucscGenomes
  22. +
  23. list genomes from specified hub - +api.genome.ucsc.edu/list/hubGenomes?hubUrl=http://genome-test.gi.ucsc.edu/~hiram/hubs/Plants/hub.txt
  24. +
  25. 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
  26. +
  27. list tracks from UCSC database genome - +api.genome.ucsc.edu/list/tracks?genome=ce11
  28. +
  29. list chromosomes from UCSC database genome - +api.genome.ucsc.edu/list/chromosomes?genome=ce11
  30. +
  31. list chromosomes from specified track in UCSC database genome - +api.genome.ucsc.edu/list/chromosomes?genome=ce11;track=gold
  32. +
  33. 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
  34. +
  35. 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. -
  3. 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
  4. -
  5. 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
  6. -
  7. 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
  8. -
  9. Get track data for specified track in UCSC database genome -
    api.genome.ucsc.edu/getData/track?genome=ce11;track=gold;maxItemsOutput=100
  10. -
  11. Get track data for specified track and chromosome in UCSC database genome -
    api.genome.ucsc.edu/getData/track?genome=ce11;track=gold;chrom=chrM
  12. -
  13. 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
  14. -
  15. 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_
  16. -
  17. 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
  18. -
  19. 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
  20. -
  21. 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
  22. -
  23. 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
  24. -
  25. Wiggle track data for specified track in a UCSC database genome -
    api.genome.ucsc.edu/getData/track?genome=galGal6;track=gc5BaseBw;maxItemsOutput=100
  26. -
  27. 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
  28. +
  29. Get DNA sequence from specified chromosome in UCSC database genome - +
    api.genome.ucsc.edu/getData/sequence?genome=ce11;chrom=chrM
  30. +
  31. 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
  32. +
  33. 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
  34. +
  35. 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
  36. +
  37. Get track data for specified track in UCSC database genome - +
    api.genome.ucsc.edu/getData/track?genome=ce11;track=gold;maxItemsOutput=100
  38. +
  39. Get track data for specified track and chromosome in UCSC database genome - +
    api.genome.ucsc.edu/getData/track?genome=ce11;track=gold;chrom=chrM
  40. +
  41. 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
  42. +
  43. 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_
  44. +
  45. 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
  46. +
  47. 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
  48. +
  49. 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
  50. +
  51. 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
  52. +
  53. Wiggle track data for specified track in a UCSC database genome - +
    api.genome.ucsc.edu/getData/track?genome=galGal6;track=gc5BaseBw;maxItemsOutput=100
  54. +
  55. 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
  2. +
  3. 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