Integrated Genome Browser contains REST endpoints 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.
Request Method: GET
URL Parameters: none
Example: http://127.0.0.1:7085/igbStatusCheck
Example Response Body: var igbVersion=9.1.8

Add Data Source

What it does: Add a quickload URL as a new data source to IGB.
Request Method: GET
URL Parameters:

KeyDescription
quickloadurlURL of an IGB Quickload
quickloadnameName of the IGB Quickload

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
Example Response Body: OK

Bring IGB To Front

What it does: Bring IGB to the front of the user's screen.
Request Method: GET
URL Parameters: none
Example: http://127.0.0.1:7085/bringIGBToFront
Example Response Body: OK

Get Species Version List

What it does: Return a list of the available species in IGB.
Request Method: GET
URL Parameters: none
Example: http://127.0.0.1:7085/getSpeciesVersionList
Example Response Body: {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 specified IGB app.
Request Method: POST
URL Parameters: none
Body: JSON

KeyDescription
symbolicNameBundle-SymbolicName from MANIFEST.MF
actionSet to getInfo

Example: http://localhost:7090/manageApp

{
    "symbolicName": "org.lorainelab.igb.protannot",
    "action": "getInfo"
}

Example Response Body: {"status":"UNINSTALLED","appVersion":"9.1.3","symbolicName":"org.lorainelab.igb.protannot","igbVersion":"9.1.8"}

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.
Request Method: GET
URL Parameters: See Bookmark REST API for a full list of parameters.
Example: http://127.0.0.1:7085/IGBControl?version=H_sapiens_Dec_2013&seqid=chr1&start=77050252&end=77050370&loadresidues=false&server_url=
Example Response Body: HTML

This endpoint is used by IGB Bookmarks, BioViz Connect, and the eFP-Seq Browser.

IGB Unibrow

What it does: Control IGB view by specifying genome, location, track colors, and loading data.
Request Method: GET
URL Parameters: See Controlling IGB using IGB Links for a full list of parameters.
Example: http://localhost:7085/UnibrowControl?seqid=chr1&end=20636664&start=20633631&version=A_thaliana_Jun_2009
Example Response Body: HTML

Galaxy

What it does: Control IGB view by specifying genome, location, and loading data from usegalaxy.org.
Request Method: GET
URL Parameters:

KeyDescription
versionGalaxy Genome specifier
loadresiduesSet to false
feature_url_0URL of the Galaxy data
sym_name_0Name of file as displayed in IGB
sym_method_0URL of the Galaxy data
query_urlURL of the Galaxy data
server_urlSet to galaxy

Example: http://localhost:7085/igbGalaxyDataView?version=hg38&loadresidues=false&feature_url_0=https://usegalaxy.org/display_application/bbd44e69cb8906b51151c168d4af953c/igb_bed/View/11460dee51146854/data/Tophat_on_data_14_and_data_13__splice_junctions.bed&sym_name_0=Tophat_on_data_14_and_data_13__splice_junctions&sym_method_0=https://usegalaxy.org/display_application/bbd44e69cb8906b51151c168d4af953c/igb_bed/View/11460dee51146854/data/Tophat_on_data_14_and_data_13__splice_junctions.bed&query_url=https://usegalaxy.org/display_application/bbd44e69cb8906b51151c168d4af953c/igb_bed/View/11460dee51146854/data/Tophat_on_data_14_and_data_13__splice_junctions.bed&server_url=galaxy
Example Response Body: HTML

The Galaxy endpoint uses the Bookmarks and REST API plugin that is also used by the IGB Control and IGB Unibrow endpoints.