igv.js is an embeddable interactive genome visualization component developed by the Integrative Genomics Viewer (IGV) team.
Examples
igv.js consists of a single javascript file with no external dependencies. Pre-built expanded and minified js files can be downloaded from http://igv.org/web/release. The current release is 2.0.0-rc5.
Alternatively you can install with npm
npm install igv
and source one of the files in node_modules/igv/dist.
To use igv.js include it with a script tag
<script src="igv.min.js/>
or import it as a requirejs module
requirejs(['igv.min'], function (igv) {...}
(see examples/igv-require.html)
or import it as an es6 module
import igv from 'igv.esm.min.js'
(see examples/igv-esm.html)
To create an igv.js browser supply a container div
and an initial configuration defining the reference genome, initial tracks, and other state to the
function igv.createBrowser(div, config)
.
This function returns a promise for an igv.Browser object which can used to control the browser. An example of a browser on a single alignment track opened at a specific locus:
var igvDiv = document.getElementById("igv-div");
var options =
{
genome: "hg19",
locus: "chr8:128,747,267-128,754,546",
tracks: [
{
type: 'alignment',
format: 'bam',
url: 'https://data.broadinstitute.org/igvdata/1KG/b37/data/HG02450/alignment/HG02450.mapped.ILLUMINA.bwa.ACB.low_coverage.20120522.bam',
name: 'HG02450'
}
]
};
igv.createBrowser(igvDiv, options)
.then(function (browser) {
console.log("Created IGV browser");
})
See the Wiki for full documentation of the API.
Building igv.js and running the examples requires node.js.
git clone https://github.com/igvteam/igv.js.git
cd igv.js
npm install
npm run grunt
This creates a dist folder with the following files
- igv.js, igv.min.js - ES5 compatible files for script or requirejs imports
- igv.esm.js, igv.esm.min.js -- ES6 module
To run the tests start an http-server
npm run http-server
Then open http://localhost:8080/test/runTests.html.
To run the examples start an http-server
npm run http-server
Then open http://localhost:8080/index.html.
igv.js is MIT licensed.