Integrated Genome Browser contains a REST endpoint external programs can use to control IGB or access information from IGB.
IGB Status Check
What it does: Check if IGB is currently running and return the igb version number if successful.
Example: http://127.0.0.1:7085/igbStatusCheck
Request Method: GET
Parameters: none
Successful Response: var igbVersion=9.1.8
Add Data Source
What it does: Add the quickloadurl as a new data source to IGB with the quickloadname.
Example: http://127.0.0.1:7085/igbDataSource?quickloadurl=https://bitbucket.org/nfreese/quickload-genome-in-a-bottle/raw/release-v1.0.0&quickloadname=NewDataSourceExample
Request Method: GET
Parameters: quickloadurl=The URL of a quickload | quickloadname=The name of the quickload
Successful Response: OK
Bring IGB To Front
What it does: Bring IGB to the front of the user's screen
Example: http://127.0.0.1:7085/bringIGBToFront
Request Method: GET
Parameters: none
Successful Response: OK
Get Species Version List
What it does: Return a list of the available species in IGB
Example: http://127.0.0.1:7085/getSpeciesVersionList
Request Method: GET
Parameters: none
Successful Response: {Tetraodon nigroviridis=[T_nigroviridis_Mar_2007, T_nigroviridis_Feb_2004], SARS-CoV-2 virus=[S_virus_Jan_2020], Takifugu rubripes=[T_rubripes_Oct_2011, T_rubripes_Oct_2004, T_rubripes_Aug_2002], Triticum aestivum=[T_aestivum_Aug_2018]}
App Store Get Info
What it does: Return status of IGB app
Example:
POST /manageApp HTTP/1.1 Host: localhost:7090 Content-Type: application/json Content-Length: 79 { "symbolicName": "org.lorainelab.igb.protannot", "action": "getInfo" }
Request Method: POST
Parameters: JSON containing symbolicName of the app and action set to getInfo
Successful Response: {"status":"UNINSTALLED","appVersion":"9.1.3","symbolicName":"org.lorainelab.igb.protannot","igbVersion":"9.1.8"}
Note: There are additional functions for installing and updating apps. Additional information can be found in the IGB code base at https://bitbucket.org/lorainelab/integrated-genome-browser/src/master/.
IGB Control
What it does: Control IGB view by specifying genome, location, track colors, and loading data
Example: http://127.0.0.1:7085/IGBControl?version=H_sapiens_Dec_2013&seqid=chr1&start=77050252&end=77050370&loadresidues=false&server_url=
Request Method: GET
Parameters: See https://wiki.bioviz.org/confluence/display/igbdevelopers/Bookmark+REST+API for a full list of parameters
Successful Response: html