Welcome to CNVisualizer’s documentation!

CNVisualizer is an extension of the HTML-5 version of the Integrated Genome Viewer, forked off of igv.js.

It extends the project by improving the implementation of segmented CNV tracks as well as adding an implementation for raw CNV read values. It also packages the product in an electron app as an example of using the library that was created.

CNVisualizer User Guide

Note

This is subject to change, mostly minor aesthetic changes.

Loading Tracks

In order to view the data, files must be loaded from one of the top two menu buttons. Choose which button based on where the file is being loaded from:

_images/buttons.png
  1. File from a web server, must support Range Requests.
  2. File found locally on the computer.

And then you can input the relevant information, including

_images/loadurl.png _images/loadlocal.png
  • URL or File, which is the data to be loaded. Track type is inferred off of the extension itself.
  • Name, which can be changed later (todo: ref)
  • Indexed, can NOT be used for local files. When used for URL files, it expects the indexed file to have the same URL, with the extra indexed extension (i.e. http://files.com/a.bam would be http://files.com/a.bam.bai).

Track configuration can be partially controlled with the gear icon, found to the right of each track. All of the following have an ability to set the threshold, which determines values that should not be shown. Color controls may be added in the future.

Using Local Files

In order to use local files, you have to select the file from the regular menu. However, this does have its limitations. The two main ones being:

  1. The file cannot be indexed, and therefore must be uploaded entirely.
  2. The track cannot be opened in a new window.

There are two solutions to this. First, you may upload the file directly to a server which can support range requests. This is possibly the easiest, if you have one available to you.

The other is to start a server from the folder with holds your files. This can just be a local server that you launch with a script.

If you have Python installed, first download this cors_server.py script. Then try running:

$ cd directory/with/your/data
$ python directory/with/cors_server.py

Segment Track

_images/segcontrol.png

Segment tracks have no truly unique options to select from, as the sample height is a remnant from having multiple segments per track.

CNV Called Track

_images/calledcontrol.png

CNV called tracks allow controlling the threshold, but that’s it.

CNV Accumulated Track

_images/accumcontrol.png

Accumulation tracks allow choosing the segment tracks to include in the aggregation of data, as well as selecting an aggregation method. These can be seen as above.

  1. Selected samples are marked with a checkmark.
  2. Enabled aggregation method is marked with a checkmark.

API Overview

While the main use of CNVisualizer is to be a web application, the browser does have functions available to be interfaced with or to extend the functionality of different tracks or views.

The web application is less suitable for

  • Forcing other elements to react to the genomic locations.
  • Customizing the loading of various files.

The internals are exposed via practically all of the functions, however some are not implemented on specific tracks.

API Quickstart

igv

IGV Classes

class Browser(options, trackContainerDiv)

browser.js

Browser.prototype.disableZoomWidget()

browser.js

Browser.prototype.enableZoomWidget(zoomHandlers)

browser.js

Browser.prototype.toggleCursorGuide(genomicStateList)

browser.js

Browser.prototype.toggleCenterGuide(genomicStateList)

browser.js

Browser.prototype.getFormat(name)

browser.js

Browser.prototype.loadTracksWithConfigList(configList)

browser.js

Browser.prototype.loadTrack(config)

browser.js

Browser.prototype.addTrack(track)

browser.js

Browser.prototype.reorderTracks()

browser.js

Browser.prototype.removeTrack(track)

browser.js

Browser.prototype.findTracks(property, value)

browser.js

Browser.prototype.reduceTrackOrder(trackView)

browser.js

Browser.prototype.increaseTrackOrder(trackView)

browser.js

Browser.prototype.setTrackHeight(newHeight)

browser.js

Browser.prototype.resize()

browser.js

Browser.prototype.repaint()

browser.js

Browser.prototype.repaintWithLocusIndex(locusIndex)

browser.js

Browser.prototype.update()

browser.js

Browser.prototype.updateWithLocusIndex(locusIndex)

browser.js

Browser.prototype.loadInProgress()

browser.js

Browser.prototype.updateLocusSearchWithGenomicState(genomicState)

browser.js

Browser.prototype.syntheticViewportContainerBBox()

browser.js

Browser.prototype.syntheticViewportContainerWidth()

browser.js

Browser.prototype.viewportContainerWidth()

browser.js

Browser.prototype.minimumBasesExtent()

browser.js

Browser.prototype.goto(chrName, start, end)

browser.js

Browser.prototype.zoomIn()

browser.js

Browser.prototype.zoomOut()

browser.js

Browser.prototype.selectMultiLocusPanelWithGenomicState(genomicState)

browser.js

Browser.prototype.closeMultiLocusPanelWithGenomicState(genomicState)

browser.js

Browser.prototype.multiLocusPanelLayoutWithTruthFunction(filterFunction)

browser.js

Browser.prototype.emptyViewportContainers($trackContainer)

browser.js

Browser.prototype.buildViewportsWithGenomicStateList(genomicStateList)

browser.js

Browser.prototype.parseSearchInput(string)

browser.js

Browser.prototype.getGenomicStateList(loci, viewportContainerWidth, continuation)

browser.js

Browser.prototype.on(eventName, fn)

browser.js

Browser.prototype.un(eventName, fn)

browser.js

Browser.prototype.fireEvent(eventName, args, thisObj)

browser.js

Browser.prototype.search(feature, callback, force)

browser.js

class EncodeTable(parentModalBodyObject, continuation)

encode/encode.js

EncodeTable.prototype.loadWithDataSource(dataSource)

encode/encode.js

EncodeTable.prototype.encodeTrackLabel(record)

encode/encode.js

class EncodeDataSource(config)

encode/encode.js

EncodeDataSource.prototype.loadJSON(continuation)

encode/encode.js

EncodeDataSource.prototype.ingestJSON(json, continuation)

encode/encode.js

EncodeDataSource.prototype.ingestFile(file, continuation)

encode/encode.js

EncodeDataSource.prototype.dataTablesData()

encode/encode.js

EncodeDataSource.prototype.columnHeadings()

encode/encode.js

class FastaSequence(reference)

fasta.js

FastaSequence.prototype.init()

fasta.js

FastaSequence.prototype.getSequence(chr, start, end)

fasta.js

FastaSequence.prototype.getIndex()

fasta.js

FastaSequence.prototype.loadAll()

fasta.js

FastaSequence.prototype.readSequence(chr, qstart, qend)

fasta.js

class TribbleIndex(chrIndexTable)

feature/tribble.js

TribbleIndex.prototype.blocksForRange(queryChr, min, max)

feature/tribble.js

class IdeoPanel($content_header)

ideogram.js

IdeoPanel.prototype.buildPanels($content_header)

ideogram.js

IdeoPanel.prototype.panelWithLocusIndex(locusIndex)

ideogram.js

IdeoPanel.prototype.resize()

ideogram.js

IdeoPanel.prototype.repaint()

ideogram.js

class AbortLoad()

igvxhr.js

class IntervalTree()

intervalTree.js

IntervalTree.prototype.insert(start, end, value)

intervalTree.js

IntervalTree.prototype.findOverlapping(start, end)

intervalTree.js

IntervalTree.prototype.logIntervals()

intervalTree.js

IntervalTree.prototype.mapIntervals(func)

intervalTree.js

IntervalTree.prototype.treeInsert(x)

intervalTree.js

class KaryoPanel($parent, config)

karyo/karyo.js

KaryoPanel.prototype.resize()

karyo/karyo.js

KaryoPanel.prototype.repaint()

karyo/karyo.js

class ReferenceFrame(chrName, start, bpPerPixel)

referenceFrame.js

ReferenceFrame.prototype.toPixels(bp)

referenceFrame.js

ReferenceFrame.prototype.toBP(pixels)

referenceFrame.js

ReferenceFrame.prototype.shiftPixels(pixels)

referenceFrame.js

ReferenceFrame.prototype.description()

referenceFrame.js

class SVG()

svg.js

SVG.prototype.setProperties(properties)

svg.js

SVG.prototype.setTransforms(transforms, x, y)

svg.js

SVG.prototype.clearRect(x, y, w, h)

svg.js

SVG.prototype.strokeLine(x1, y1, x2, y2, properties, transforms)

svg.js

SVG.prototype.fillRect(x, y, w, h, properties, transforms)

svg.js

SVG.prototype.fillRectWithCenter(centerX, centerY, width, height, properties, transforms)

svg.js

SVG.prototype.fillPolygon(x, y, properties, transforms)

svg.js

SVG.prototype.fillText(text, x, y, properties, transforms)

svg.js

SVG.prototype.strokeText(text, x, y, properties, transforms)

svg.js

SVG.prototype.strokeCircle(x, y, radius, properties, transforms)

svg.js

SVG.prototype.string()

svg.js

SVG.prototype.innerString()

svg.js

class Viewport(trackView, locusIndex)

viewport.js

Viewport.prototype.setWidth(width)

viewport.js

Viewport.prototype.initializationHelper(trackView, locusIndex)

viewport.js

Viewport.prototype.addMouseHandlers()

viewport.js

Viewport.prototype.addRulerMouseHandlers()

viewport.js

Viewport.prototype.removeRulerMouseHandlers()

viewport.js

Viewport.prototype.goto(chr, start, end)

viewport.js

Viewport.prototype.startSpinner()

viewport.js

Viewport.prototype.stopSpinner()

viewport.js

Viewport.prototype.resize()

viewport.js

Viewport.prototype.update()

viewport.js

Viewport.prototype.repaint()

viewport.js

Viewport.prototype.setContentHeight(newHeight)

viewport.js

Viewport.prototype.paintImageWithReferenceFrame(referenceFrame)

viewport.js

Viewport.prototype.isLoading()

viewport.js

Viewport.prototype.redrawTile(features)

viewport.js

class WindowSizePanel($parent)

windowSizePanel.js

WindowSizePanel.prototype.show()

windowSizePanel.js

WindowSizePanel.prototype.hide()

windowSizePanel.js

WindowSizePanel.prototype.updateWithGenomicState(genomicState)

windowSizePanel.js

Genome Helper Classes

class Genome(sequence, ideograms, aliases)

genome.js

Genome.prototype.getChromosomeName(str)

genome.js

Genome.prototype.getChromosome(chr)

genome.js

Genome.prototype.getCytobands(chr)

genome.js

Genome.prototype.getLongestChromosome()

genome.js

Genome.prototype.getChromosomes()

genome.js

Genome.prototype.getGenomeCoordinate(chr, bp)

genome.js

Genome.prototype.getChromosomeCoordinate(genomeCoordinate)

genome.js

Genome.prototype.getCumulativeOffset(chr)

genome.js

class Chromosome(name, order, bpLength)

genome.js

class Cytoband(start, end, name, typestain)

genome.js

class GenomicInterval(chr, start, end, features)

genome.js

GenomicInterval.prototype.contains(chr, start, end)

genome.js

GenomicInterval.prototype.containsRange(range)

genome.js

Feature Sourcing Classes

class FeatureCache(featureList, range)

feature/featureCache.js

FeatureCache.prototype.queryFeatures(chr, start, end)

feature/featureCache.js

FeatureCache.prototype.allFeatures()

feature/featureCache.js

class FeatureSource(config)

feature/featureSource.js

FeatureSource.prototype.getFileHeader()

feature/featureSource.js

FeatureSource.prototype.getFeatures(chr, bpStart, bpEnd, bpPerPixel)

feature/featureSource.js

class AneuFeatureSource(config, thefilename)

feature/aneuSource.js

AneuFeatureSource.prototype.getFeatures(chr, bpStart, bpEnd, success)

feature/aneuSource.js

AneuFeatureSource.prototype.getFeatureCache(success)

feature/aneuSource.js

AneuFeatureSource.prototype.loadFeatures(continuation, range)

feature/aneuSource.js

class T2DVariantSource(config)

gwas/t2dVariantSource.js

T2DVariantSource.prototype.getFeatures(chr, bpStart, bpEnd)

gwas/t2dVariantSource.js

class TDFSource(config)

tdf/tdfSource.js

TDFSource.prototype.getFeatures(chr, bpStart, bpEnd, bpPerPixel)

tdf/tdfSource.js

class BamSource(config)

bam/bamSource.js

BamSource.prototype.setViewAsPairs(bool)

bam/bamSource.js

BamSource.prototype.getAlignments(chr, bpStart, bpEnd)

bam/bamSource.js

Track Classes

Tracks are meant to be created with a few specifics demands in mind. Every track needs to implement the following functions:

Track.prototype.getFeatures(chr, bpStart, bpEnd)
Track.prototype.draw(options)

Where getFeatures() must return a Promise for an array of the data. And draw() doesn’t return anything.

The other functions that are optional include (but not limited to):

TrackName.prototype.menuItemList(popover)
TrackName.prototype.popupData(genomicLocation, x, y, referenceFrame)
TrackName.prototype.altClick(genomicLocation, referenceFrame, event)
TrackName.prototype.popupMenuItemList(config)
TrackName.prototype.paintAxis(ctx, pixelWidth, pixelHeight)
TrackName.prototype.computePixelHeight(features)

You can find examples of these functions below.

Configuration

When creating a track, the config, it follows the structure (where everthing left without a value has no default):

config = {
    name:                   , /* **REQUIRED** Display name (label). */
    url:                    , /* **REQUIRED** URL to the track data resource,
                                 such as a file or webservice. */
    indexURL:               , /* URL to a file index, such as a BAM .bai,
                                 Tabix .tbi, or Tribble .idx file. */
    sourceType: "file"      , /* Type of data source.  Valid values are "file",
                                 "gcs" for Google Cloud Storage, and "ga4gh" for
                                 the Global Alliance API */
    type:                   , /* Track type, infered from file extension if none */
    format:                 , /* File format, infered from file extension if none */
    indexed:                , /* Flag used to indicate if a file is indexed or not.
                                 If indexURL is provided this flag is redundant,
                                 its main purpose is to indicate that a file is not
                                 indexed.  */
    order:                  , /* Integer value specifying relative order of track
                                 position on the screen.  To pin a track to the
                                 bottom use Number.MAX_VALUE.  If no order is
                                 specified, tracks appear in order of their addition. */
    color:                  , /* CSS color value for track features, e.g. "#ff0000"
                                 or "rgb(100,0,100)"  */
    height: 50              , /* Initial height of track viewport in pixels */
    autoHeight: true        , /* If true, then track height is adjusted dynamically,
                                 within the bounds set by minHeight and maxHeight,
                                 to accomdodate features in view */
    minHeight: 50           , /* Minimum height of track in pixels */
    maxHeight: 500          , /* Maximum height of track in pixels */
    visibilityWindow: 30000 , /* Maximum window size in base pairs for which indexed
                                 annotations or variants are displayed */
    /** ANNOTATIONS ONLY **/
    displayMode: "COLLAPSED" , /* Annotation display mode, one of "COLLAPSED",
                                  "EXPANDED", "SQUISHED" */
    expandedRowHeight: 30    , /* Height of each row of features in "EXPANDED" mode */
    squishedRowHeight: 15    , /* Height of each row of features in "SQUISHED" mode */
    nameField: "Name"        , /* For GFF/GTF file formats.  Name of column 9 property
                                  to be used for feature label */
    maxRows: 500             , /* Maximum number of rows of features to display */
    searchable: false        , /* If true, feature names for this track can be
                                  searched for.  Use this option with caution, it
                                  is memory intensive.  This option should
                                  **will not work** with indexed tracks. */
    /** WIG ONLY **/
    min: 0                    , /* Sets the minimum value for the data (y-axis)
                                   scale.  Usually zero.  */
    max:                      , /* Sets the  maximum value for the data (y-axis)
                                   scale. */
    color: "rgb(150,150,150)" , /* Track color. */
    /** ALIGNMENT ONLY (BAM, etc) **/
    viewAsPairs: false      , /* If true, paired reads are drawn as a single
                                 alignment.  */
    pairsSupported: true    , /* If false, mate information in paired reads is
                                 ignored during downsampling and the
                                 'View as Pairs' option is removed from the
                                 alignment track menu. */
    deletionColor: "black"; , /* Color of line representing a deletion */
    skippedColor: "rgb(150, 170, 170)"   , /* Color of line representing a
                                              skipped region (e.g. splice
                                              junction) */
    insertionColor: "rgb(138, 94, 161)"  , /* Color of marker for insertions */
    negStrandColor: "rgba(150, 150, 230, 0.75)" , /* Color of alignment on negative
                                                     strand.
                                                     Applicable if colorBy = "strand" */
    posStrandColor: "rgba(230, 150, 150, 0.75)" , /* Color of alignment or position
                                                     strand.
                                                     Applicable if colorBy = "strand" */
    colorBy: "none"         , /* Alignment color option:
                                 one of "none", "strand",
                                 "firstInPairStrand", or "tag".
                                 Specify tag with colorByTag */
    colorByTag:             , /* Specific tag to color alignment by.  */
    bamColorTag: "YC"       , /* Specifies a special tag that
                                 explicitly encodes an r,g,b color
                                 value. If "YC" does not encode
                                 an r,g,b color value set bamColorTag
                                 to null.  Must also set "colorBy"
                                 to "tag" to enable this option.  */
    samplingWindowSize: 100 , /* Window (bucket) size for
                                 alignment downsampling in base pairs */
    samplingDepth: 50.      , /* Number of alignments to keep per
                                 bucket.
                                 WARNING:  Setting this sampling
                                 depth to a high value will likely
                                 freeze the browser when viewing
                                 areas of deep coverage. */
    maxRows: 1000           , /* Maximum number of rows of alignments
                                 to display.
                                 Note: due to a limit on canvas
                                 height the maximum value for this
                                 parameter is ~2300 at the default
                                 row height of 14. */
    alignmentRowHeight: 14  , /* Height in pixels of an alignment
                                 row when in expanded mode */
    filter:                 , /* Alignment filter object. */
    /** GA4GH ALIGNMENT (sourceType: "ga4gh") **/
    url:             , /* **REQUIRED** URL to the ga4gh endpoint
                          (e.g. https://www.googleapis.com/genomics/v1beta2). */
    readGroupSetIds: , /* **REQUIRED** ID of the read group set represented
                          by this track. (e.g. 'CMvnhpKTFhCjz9_25e_lCw'). */
    /** ALIGNMENT FILTER **/
    vendorFailed: true   , /* filter alignments marked as failing vendor
                              quality checks (bit 0x200) */
    duplicates: true     , /* filter alignments marked as a duplicate
                              (bit 0x400) */
    secondary: false     , /* filter alignments marked secondary
                              (bit 0x100) */
    supplementary: false , /* filter alignments marked as supplmentary
                              (bit 0x800) */
    mqThreshold: 0       , /* filter alignments with mapping quality < supplied
                               value (a number) */
    /** VARIANT ONLY **/
    displayMode: EXPANDED             , /* Display option.
                                           COLLAPSED => show variants only,
                                           SQUISHED and EXPANDED => show calls. */
    homvarColor: "rgb(17,248,254)"    , /* CSS color used to represent homozygous
                                           non-reference calls.  */
    hetvarColor: "rgb(34,12,253)"     , /* CSS color used to represent
                                           heterozygous calls. */
    homrefColor: "rgb(200, 200, 200)" , /* CSS color used to represent homozygous
                                           reference calls. */
    /** GA4GH VARIANT (sourceType: "ga4gh") **/
    url:          , /* **REQUIRED** URL to the ga4gh endpoint
                       (e.g. https://www.googleapis.com/genomics/v1beta2). */
    variantSetId: , /* **REQUIRED** ID of the variant set represented by
                       this track. (e.g. '10473108253681171589'). */
    callSetIds:   , /* Array of GACallSet IDs to include with track.
                       Optional. If omitted, all call sets are included */
}
class AneuTrack(config)

feature/aneuTrack.js

AneuTrack.prototype.getSummary(chr, bpStart, bpEnd, continuation)

feature/aneuTrack.js

AneuTrack.prototype.loadSummary(chr, bpStart, bpEnd, continuation)

feature/aneuTrack.js

AneuTrack.prototype.getFeatures(chr, bpStart, bpEnd)

feature/aneuTrack.js

AneuTrack.prototype.getColor(value)

feature/aneuTrack.js

AneuTrack.prototype.paintAxis(ctx, pixelWidth, pixelHeight)

feature/aneuTrack.js

AneuTrack.prototype.draw(options)

feature/aneuTrack.js

AneuTrack.prototype.computePixelHeight(features)

feature/aneuTrack.js

AneuTrack.prototype.sortSamples(chr, bpStart, bpEnd, direction, callback)

feature/aneuTrack.js

AneuTrack.prototype.altClick(genomicLocation, referenceFrame, event)

feature/aneuTrack.js

AneuTrack.prototype.popupData(genomicLocation, xOffset, yOffset, referenceFrame)

feature/aneuTrack.js

class CNVAccumTrack(config)

feature/cnvAccumTrack.js

CNVAccumTrack.prototype.addToSelectFrom(thisObj)

feature/cnvAccumTrack.js

CNVAccumTrack.prototype.removeFromSelectFrom(thisObj)

feature/cnvAccumTrack.js

CNVAccumTrack.prototype.popupData(genomicLocation, xOffset, yOffset, referenceFrame)

feature/cnvAccumTrack.js

CNVAccumTrack.prototype.menuItemList(popover)

feature/cnvAccumTrack.js

CNVAccumTrack.prototype.toggleTrack(sampleName)

feature/cnvAccumTrack.js

CNVAccumTrack.prototype.getFeatures(chr, bpStart, bpEnd)

feature/cnvAccumTrack.js

CNVAccumTrack.prototype.draw(options)

feature/cnvAccumTrack.js

class CNVTrack(config)

feature/cnvTrack.js

CNVTrack.prototype.menuItemList(popover)

feature/cnvTrack.js

CNVTrack.prototype.getFeatures(chr, bpStart, bpEnd)

feature/cnvTrack.js

CNVTrack.prototype.draw(options)

feature/cnvTrack.js

class EqtlTrack(config)

gtex/eqtlTrack.js

EqtlTrack.prototype.paintAxis(ctx, pixelWidth, pixelHeight)

gtex/eqtlTrack.js

EqtlTrack.prototype.getFeatures(chr, bpStart, bpEnd)

gtex/eqtlTrack.js

EqtlTrack.prototype.draw(options)

gtex/eqtlTrack.js

EqtlTrack.prototype.popupData(genomicLocation, xOffset, yOffset, referenceFrame)

gtex/eqtlTrack.js

class FeatureTrack(config)

feature/featureTrack.js

FeatureTrack.prototype.getFileHeader()

feature/featureTrack.js

FeatureTrack.prototype.getFeatures(chr, bpStart, bpEnd, bpPerPixel)

feature/featureTrack.js

FeatureTrack.prototype.computePixelHeight(features)

feature/featureTrack.js

FeatureTrack.prototype.draw(options)

feature/featureTrack.js

FeatureTrack.prototype.popupData(genomicLocation, xOffset, yOffset, referenceFrame)

feature/featureTrack.js

FeatureTrack.prototype.menuItemList(popover)

feature/featureTrack.js

class GWASTrack(config)

gwas/gwasTrack.js

GWASTrack.prototype.getFeatures(chr, bpStart, bpEnd)

gwas/gwasTrack.js

GWASTrack.prototype.draw(options)

gwas/gwasTrack.js

GWASTrack.prototype.paintAxis(ctx, pixelWidth, pixelHeight)

gwas/gwasTrack.js

GWASTrack.prototype.popupData(genomicLocation, xOffset, yOffset, referenceFrame)

gwas/gwasTrack.js

class RulerTrack()

rulerTrack.js

RulerTrack.prototype.locusLabelWithViewport(viewport)

rulerTrack.js

RulerTrack.prototype.getFeatures(chr, bpStart, bpEnd)

rulerTrack.js

RulerTrack.prototype.draw(options)

rulerTrack.js

class SegTrack(config)

feature/segTrack.js

SegTrack.prototype.menuItemList(popover)

feature/segTrack.js

SegTrack.prototype.toggleSampleHeight()

feature/segTrack.js

SegTrack.prototype.getFeatures(chr, bpStart, bpEnd)

feature/segTrack.js

SegTrack.prototype.draw(options)

feature/segTrack.js

SegTrack.prototype.computePixelHeight(features)

feature/segTrack.js

SegTrack.prototype.sortSamples(chr, bpStart, bpEnd, direction)

feature/segTrack.js

SegTrack.prototype.altClick(genomicLocation, referenceFrame, event)

feature/segTrack.js

SegTrack.prototype.popupData(genomicLocation, xOffset, yOffset, referenceFrame)

feature/segTrack.js

SegTrack.prototype.popupMenuItemList(config)

feature/segTrack.js

class SequenceTrack(config)

sequenceTrack.js

SequenceTrack.prototype.getFeatures(chr, bpStart, bpEnd, bpPerPixel)

sequenceTrack.js

SequenceTrack.prototype.draw(options)

sequenceTrack.js

class VariantTrack(config)

variant/variantTrack.js

VariantTrack.prototype.getFileHeader()

variant/variantTrack.js

VariantTrack.prototype.getFeatures(chr, bpStart, bpEnd)

variant/variantTrack.js

VariantTrack.prototype.computePixelHeight(features)

variant/variantTrack.js

VariantTrack.prototype.draw(options)

variant/variantTrack.js

VariantTrack.prototype.popupData(genomicLocation, xOffset, yOffset, referenceFrame)

variant/variantTrack.js

VariantTrack.prototype.menuItemList(popover)

variant/variantTrack.js

class WIGTrack(config)

feature/wigTrack.js

WIGTrack.prototype.getFeatures(chr, bpStart, bpEnd, bpPerPixel)

feature/wigTrack.js

WIGTrack.prototype.menuItemList(popover)

feature/wigTrack.js

WIGTrack.prototype.draw(options)

feature/wigTrack.js

File Reader Classes

class CustomServiceReader(config)

feature/customServiceReader.js

CustomServiceReader.prototype.readFeatures(chr, start, end)

feature/customServiceReader.js

class FeatureFileReader(config)

feature/featureFileReader.js

FeatureFileReader.prototype.readHeader()

feature/featureFileReader.js

FeatureFileReader.prototype.readFeatures(chr, start, end)

feature/featureFileReader.js

class Ga4ghVariantReader(config)

ga4gh/ga4ghVariantReader.js

Ga4ghVariantReader.prototype.readHeader()

ga4gh/ga4ghVariantReader.js

Ga4ghVariantReader.prototype.readFeatures(chr, bpStart, bpEnd)

ga4gh/ga4ghVariantReader.js

Ga4ghVariantReader.prototype.readMetadata()

ga4gh/ga4ghVariantReader.js

class Ga4ghAlignmentReader(config)

ga4gh/ga4ghAlignmentReader.js

Ga4ghAlignmentReader.prototype.readAlignments(chr, bpStart, bpEnd)

ga4gh/ga4ghAlignmentReader.js

Ga4ghAlignmentReader.prototype.readMetadata()

ga4gh/ga4ghAlignmentReader.js

class ImmVarReader(config)

gtex/immvarReader.js

ImmVarReader.prototype.readFeatures(queryChr, queryStart, queryEnd)

gtex/immvarReader.js

class GtexFileReader(config)

gtex/gtexFileReader.js

GtexFileReader.prototype.readFeatures(chr, bpStart, bpEnd)

gtex/gtexFileReader.js

class GtexReader(config)

gtex/gtexReader.js

GtexReader.prototype.readFeatures(chr, bpStart, bpEnd)

gtex/gtexReader.js

class HiCReader(config)

hic/hicReader.js

HiCReader.prototype.readHeader()

hic/hicReader.js

HiCReader.prototype.readFooter(key)

hic/hicReader.js

HiCReader.prototype.readMatrix(key)

hic/hicReader.js

HiCReader.prototype.readBlock(blockNumber, zd)

hic/hicReader.js

class TDFReader(config)

tdf/tdfReader.js

TDFReader.prototype.readHeader()

tdf/tdfReader.js

TDFReader.prototype.readDataset(chr, windowFunction, zoom)

tdf/tdfReader.js

TDFReader.prototype.readRootGroup()

tdf/tdfReader.js

TDFReader.prototype.readGroup(name)

tdf/tdfReader.js

TDFReader.prototype.readTile(indexEntry, nTracks)

tdf/tdfReader.js

class BamReader(config)

bam/bamReader.js

BamReader.prototype.readAlignments(chr, bpStart, bpEnd)

bam/bamReader.js

BamReader.prototype.readHeader()

bam/bamReader.js

class BWReader(config)

bigwig/bwReader.js

BWReader.prototype.getZoomHeaders()

bigwig/bwReader.js

BWReader.prototype.loadHeader()

bigwig/bwReader.js

BWReader.prototype.loadRPTree(offset)

bigwig/bwReader.js

class BufferedReader(config, contentLength, bufferSize)

bigwig/bufferedReader.js

BufferedReader.prototype.dataViewForRange(requestedRange, asUint8)

bigwig/bufferedReader.js

Parser Classes

class FeatureParser(format, decode, config)

feature/featureParsers.js

FeatureParser.prototype.parseHeader(data)

feature/featureParsers.js

FeatureParser.prototype.parseFeatures(data)

feature/featureParsers.js

class SegParser()

feature/segParser.js

SegParser.prototype.parseHeader(data)

feature/segParser.js

SegParser.prototype.parseFeatures(data)

feature/segParser.js

class CNVParser()

feature/cnvParser.js

CNVParser.prototype.parseHeader(data)

feature/cnvParser.js

CNVParser.prototype.parseFeatures(data)

feature/cnvParser.js

class VcfParser()

variant/vcfParser.js

VcfParser.prototype.parseHeader(data)

variant/vcfParser.js

VcfParser.prototype.parseFeatures(data)

variant/vcfParser.js

class BinaryParser(dataView, littleEndian)

binary.js

BinaryParser.prototype.remLength()

binary.js

BinaryParser.prototype.hasNext()

binary.js

BinaryParser.prototype.getByte()

binary.js

BinaryParser.prototype.getShort()

binary.js

BinaryParser.prototype.getInt()

binary.js

BinaryParser.prototype.getUInt()

binary.js

BinaryParser.prototype.getLong()

binary.js

BinaryParser.prototype.getString(len)

binary.js

BinaryParser.prototype.getFixedLengthString(len)

binary.js

BinaryParser.prototype.getFloat()

binary.js

BinaryParser.prototype.getDouble()

binary.js

BinaryParser.prototype.skip(n)

binary.js

BinaryParser.prototype.getVPointer()

binary.js

BAM Helper Classes

class BamAlignment()

bam/bamAlignment.js

BamAlignment.prototype.isMapped()

bam/bamAlignment.js

BamAlignment.prototype.isPaired()

bam/bamAlignment.js

BamAlignment.prototype.isProperPair()

bam/bamAlignment.js

BamAlignment.prototype.isFirstOfPair()

bam/bamAlignment.js

BamAlignment.prototype.isSecondOfPair()

bam/bamAlignment.js

BamAlignment.prototype.isSecondary()

bam/bamAlignment.js

BamAlignment.prototype.isSupplementary()

bam/bamAlignment.js

BamAlignment.prototype.isFailsVendorQualityCheck()

bam/bamAlignment.js

BamAlignment.prototype.isDuplicate()

bam/bamAlignment.js

BamAlignment.prototype.isMateMapped()

bam/bamAlignment.js

BamAlignment.prototype.isNegativeStrand()

bam/bamAlignment.js

BamAlignment.prototype.isMateNegativeStrand()

bam/bamAlignment.js

BamAlignment.prototype.tags()

bam/bamAlignment.js

BamAlignment.prototype.popupData(genomicLocation)

bam/bamAlignment.js

class BamFilter(options)

bam/bamAlignment.js

BamFilter.prototype.pass(alignment)

bam/bamAlignment.js

class BAMTrack(config)

bam/bamTrack.js

BAMTrack.prototype.getFeatures(chr, bpStart, bpEnd)

bam/bamTrack.js

BAMTrack.prototype.altClick(genomicLocation, referenceFrame, event)

bam/bamTrack.js

BAMTrack.prototype.computePixelHeight(alignmentContainer)

bam/bamTrack.js

BAMTrack.prototype.draw(options)

bam/bamTrack.js

BAMTrack.prototype.paintAxis(ctx, pixelWidth, pixelHeight)

bam/bamTrack.js

BAMTrack.prototype.popupMenuItemList(config)

bam/bamTrack.js

BAMTrack.prototype.popupData(genomicLocation, xOffset, yOffset, referenceFrame)

bam/bamTrack.js

BAMTrack.prototype.popupDataWithConfiguration(config)

bam/bamTrack.js

BAMTrack.prototype.menuItemList(popover)

bam/bamTrack.js

class AlignmentContainer(chr, start, end, samplingWindowSize, samplingDepth, pairsSupported)

bam/alignmentContainer.js

AlignmentContainer.prototype.push(alignment)

bam/alignmentContainer.js

AlignmentContainer.prototype.forEach(callback)

bam/alignmentContainer.js

AlignmentContainer.prototype.finish()

bam/alignmentContainer.js

AlignmentContainer.prototype.contains(chr, start, end)

bam/alignmentContainer.js

AlignmentContainer.prototype.hasDownsampledIntervals()

bam/alignmentContainer.js

CoverageMap.prototype.incCounts(alignment)

bam/alignmentContainer.js

class CoverageMap(chr, start, end, alignments, refSeq)

bam/coverageMap.js

class BamAlignmentRow()

bam/bamAlignmentRow.js

BamAlignmentRow.prototype.findCenterAlignment(bpStart, bpEnd)

bam/bamAlignmentRow.js

BamAlignmentRow.prototype.updateScore(genomicLocation, genomicInterval, sortOption)

bam/bamAlignmentRow.js

BamAlignmentRow.prototype.calculateScore(bpStart, bpEnd, interval, sortOption)

bam/bamAlignmentRow.js

class PairedAlignment(firstAlignment)

bam/pairedAlignment.js

PairedAlignment.prototype.setSecondAlignment(alignment)

bam/pairedAlignment.js

PairedAlignment.prototype.popupData(genomicLocation)

bam/pairedAlignment.js

PairedAlignment.prototype.isPaired()

bam/pairedAlignment.js

PairedAlignment.prototype.firstOfPairStrand()

bam/pairedAlignment.js

class BamIndex(indices, blockMin, blockMax, sequenceIndexMap, tabix)

bam/bamIndex.js

BamIndex.prototype.blocksForRange(refId, min, max)

bam/bamIndex.js

class BGZFile(config)

bam/bgzf.js

BGZFile.prototype.nextBlock()

bam/bgzf.js

BigWig Helper Classes

class BWTotalSummary(byteBuffer)

bigwig/bwTotalSummary.js

BWTotalSummary.prototype.updateStats(stats)

bigwig/bwTotalSummary.js

class BPTree(binaryParser, treeOffset)

bigwig/bwBPTree.js

class BWSource(config)

bigwig/bwSource.js

BWSource.prototype.getFeatures(chr, bpStart, bpEnd, bpPerPixel)

bigwig/bwSource.js

class RPTree(fileOffset, contentLength, config, littleEndian)

bigwig/bwRPTree.js

RPTree.prototype.load()

bigwig/bwRPTree.js

RPTree.prototype.readNode(filePosition, bufferedReader)

bigwig/bwRPTree.js

RPTree.prototype.findLeafItemsOverlapping(chrIdx, startBase, endBase)

bigwig/bwRPTree.js

Misc Classes

class Ga4ghAlignment(json, genome)

ga4gh/ga4gAlignment.js

Ga4ghAlignment.prototype.isMapped()

ga4gh/ga4gAlignment.js

Ga4ghAlignment.prototype.isPaired()

ga4gh/ga4gAlignment.js

Ga4ghAlignment.prototype.isProperPair()

ga4gh/ga4gAlignment.js

Ga4ghAlignment.prototype.isFirstOfPair()

ga4gh/ga4gAlignment.js

Ga4ghAlignment.prototype.isSecondOfPair()

ga4gh/ga4gAlignment.js

Ga4ghAlignment.prototype.isSecondary()

ga4gh/ga4gAlignment.js

Ga4ghAlignment.prototype.isSupplementary()

ga4gh/ga4gAlignment.js

Ga4ghAlignment.prototype.isFailsVendorQualityCheck()

ga4gh/ga4gAlignment.js

Ga4ghAlignment.prototype.isDuplicate()

ga4gh/ga4gAlignment.js

Ga4ghAlignment.prototype.isMateMapped()

ga4gh/ga4gAlignment.js

Ga4ghAlignment.prototype.mateStrand()

ga4gh/ga4gAlignment.js

Ga4ghAlignment.prototype.tags()

ga4gh/ga4gAlignment.js

Ga4ghAlignment.prototype.popupData(genomicLocation)

ga4gh/ga4gAlignment.js

class GFFHelper(format)

feature/gffHelper.js

GFFHelper.prototype.combineFeatures(features)

feature/gffHelper.js

class GtexSelection(selection)

gtex/gtex.js

GtexSelection.prototype.addGene(geneName)

gtex/gtex.js

GtexSelection.prototype.colorForGene(geneName)

gtex/gtex.js

class Set()
set.js
Set.prototype.add()

set.js

Set.prototype.addAll(arrayOrSet)

set.js

Set.prototype._add(key, val)

set.js

Set.prototype._getKey(arg)

set.js

Set.prototype._makeKey(arg)

set.js

Set.prototype._removeItem(key)

set.js

Set.prototype._isPseudoArray(item)

set.js

Set.prototype.delete(key)

set.js

Set.prototype.has(key)

set.js

Set.prototype.hasAll(args)

set.js

Set.prototype.makeSet(args)

set.js

Set.prototype.equals(otherSet)

set.js

Set.prototype.isEmpty()

set.js

Set.prototype.size()

set.js

Set.prototype.keys()

set.js

Set.prototype.clear()

set.js

Set.prototype.makeNew()

set.js

Set.prototype.union(otherSet)

set.js

Set.prototype.intersection(otherSet)

set.js

Set.prototype.difference(otherSet)

set.js

Set.prototype.notInBoth(otherSet)

set.js

Set.prototype.isSubset(otherSet)

set.js

Set.prototype.isSuperset(otherSet)

set.js

Set.prototype.each(fn)

set.js

Set.prototype.eachReturn(fn)

set.js

Set.prototype.filter(fn)

set.js

Set.prototype.map(fn)

set.js

Set.prototype.some(fn)

set.js

Set.prototype.every(fn)

set.js

Set.prototype.isEmpty()

set.js

Set.prototype.addAll(arrayOrSet)

set.js

class Variant()

variant/variant.js

Variant.prototype.popupData(genomicLocation)

variant/variant.js

UI Helper Classes

class TrackView(track, browser)

trackView.js

TrackView.prototype.configureViewportContainer($viewportContainer, viewports)

trackView.js

TrackView.prototype.attachDragWidget()

trackView.js

TrackView.prototype.appendLeftHandGutterDivToTrackDiv($track)

trackView.js

TrackView.prototype.createRightHandGutter()

trackView.js

TrackView.prototype.setContentHeightForViewport(viewport, height)

trackView.js

TrackView.prototype.setTrackHeight(newHeight, update)

trackView.js

TrackView.prototype.isLoading()

trackView.js

TrackView.prototype.resize()

trackView.js

TrackView.prototype.update()

trackView.js

TrackView.prototype.repaint()

trackView.js

class TrackScrollbar($viewportContainer, viewports)

trackView.js

TrackScrollbar.prototype.update()

trackView.js

class ColorPicker($parent, userPalette)

ui/colorpicker.js

ColorPicker.prototype.configure(trackView)

ui/colorpicker.js

ColorPicker.prototype.hide()

ui/colorpicker.js

ColorPicker.prototype.show()

ui/colorpicker.js

class DataRangeDialog($parent)

ui/dataRangeDialog.js

DataRangeDialog.prototype.configureWithTrackView(trackView)

ui/dataRangeDialog.js

DataRangeDialog.prototype.hide()

ui/dataRangeDialog.js

DataRangeDialog.prototype.show()

ui/dataRangeDialog.js

class CenterGuide($parent, config)

ui/centerGuide.js

CenterGuide.prototype.repaint()

ui/centerGuide.js

CenterGuide.prototype.resize()

ui/centerGuide.js

class AlertDialog($parent, id)

ui/alertDialog.js

AlertDialog.prototype.alertTextContainer()

ui/alertDialog.js

AlertDialog.prototype.rowOfOk()

ui/alertDialog.js

AlertDialog.prototype.hide()

ui/alertDialog.js

AlertDialog.prototype.show($host)

ui/alertDialog.js

class Popover($parent)

ui/popover.js

Popover.prototype.initializationHelper($parent)

ui/popover.js

Popover.prototype.hide()

ui/popover.js

Popover.prototype.presentTrackGearMenu(pageX, pageY, trackView)

ui/popover.js

Popover.prototype.presentTrackPopupMenu(e, viewport)

ui/popover.js

Popover.prototype.presentTrackPopup(e, viewport)

ui/popover.js

Popover.prototype.presentContent(pageX, pageY, content)

ui/popover.js

class TrackMenuPopupDialog(trackMenu, dialogLabel, inputValue, ok, width, height)

ui/trackMenuPopupDialog.js

TrackMenuPopupDialog.prototype.updateTips(t)

ui/trackMenuPopupDialog.js

class Dialog($parent, constructorHelper)

ui/dialog.js

Dialog.prototype.rowOfOk()

ui/dialog.js

Dialog.prototype.rowOfOkCancel()

ui/dialog.js

Dialog.prototype.rowOfLabel()

ui/dialog.js

Dialog.prototype.rowOfInput()

ui/dialog.js

Dialog.prototype.configure(labelHTMLFunction, inputValue, clickFunction)

ui/dialog.js

Dialog.prototype.hide()

ui/dialog.js

Dialog.prototype.show($host)

ui/dialog.js

class UserFeedback($parent)

ui/userFeedback.js

UserFeedback.prototype.show()

ui/userFeedback.js

UserFeedback.prototype.hide()

ui/userFeedback.js

UserFeedback.prototype.bodyCopy(htmlString)

ui/userFeedback.js

graphics
igv-canvas.js
graphics.setProperties(ctx, properties)

igv-canvas.js

graphics.strokeLine(ctx, x1, y1, x2, y2, properties, linewidth)

igv-canvas.js

graphics.fillRect(ctx, x, y, w, h, properties)

igv-canvas.js

graphics.fillPolygon(ctx, x, y, properties)

igv-canvas.js

graphics.strokePolygon(ctx, x, y, properties)

igv-canvas.js

graphics.fillText(ctx, text, x, y, properties, transforms)

igv-canvas.js

graphics.strokeText(ctx, text, x, y, properties, transforms)

igv-canvas.js

graphics.strokeCircle(ctx, x, y, radius, properties)

igv-canvas.js

graphics.fillCircle(ctx, x, y, radius, properties)

igv-canvas.js

graphics.drawArrowhead(ctx, x, y, size, lineWidth)

igv-canvas.js

graphics.dashedLine(ctx, x1, y1, x2, y2, dashLen, properties)

igv-canvas.js

Color Helper Classes

class BinnedColorScale(cs)

igv-color.js

BinnedColorScale.prototype.getColor(value)

igv-color.js

class GradientColorScale(scale)

igv-color.js

GradientColorScale.prototype.getColor(value)

igv-color.js

class PaletteColorTable(palette)

igv-color.js

PaletteColorTable.prototype.getColor(key)

igv-color.js

addAjaxExtensions()

igv-utils.js

addAlphaToRGB(rgbString, alpha)

igv-color.js

attachDialogCloseHandlerWithParent($parent, closeHandler)

igv-utils.js

colorPickerMenuItem(popover, trackView)

trackCore.js

configTrack(track, config)

trackCore.js

constrainBBox($child, $parent)

igv-utils.js

createBrowser(parentDiv, config)

igv-create.js

createColorString(token)

igv-color.js

createGAVariant(json)

variant/variant.js

createVCFVariant(tokens)

variant/variant.js

dataRangeMenuItem(popover, trackView)

trackCore.js

decodeGa4ghReadset(json)

ga4gh/ga4ghAlignmentReader.js

domElementRectAsString(element)

igv-utils.js

encodeSearch(continuation)

encode/encodeSearch.js

formatPopoverText(nameValueArray)

igv-utils.js

ga4ghGet(options)

ga4gh/ga4ghHelper.js

ga4ghSearch(options)

ga4gh/ga4ghHelper.js

ga4ghSearchCallSets(options)

ga4gh/ga4ghHelper.js

ga4ghSearchReadAndCallSets(options)

ga4gh/ga4ghHelper.js

ga4ghSearchReadGroupSets(options)

ga4gh/ga4ghHelper.js

ga4ghSearchVariantSets(options)

ga4gh/ga4ghHelper.js

getCompositeColor(dest, src, alpha)

igv-color.js

getQueryValue(name)

parseUtils.js

getSpinnerObjectWithParentElement(parentElement)

igv-utils.js

gotoLocusFeature(locusFeature, genome, browser)

browser.js

greyScale(value)

igv-color.js

guid()

igv-utils.js

hex2Color(hex)

igv-color.js

isBlank(line)

parseUtils.js

isComment(line)

parseUtils.js

isNumber(n)

igv-utils.js

isStringOrNumber(value)

igv-utils.js

loadBamIndex(indexURL, config, tabix)

bam/bamIndex.js

loadGenome(reference)

genome.js

loadTribbleIndex(indexFile, config)

feature/tribble.js

log(message)

igv-utils.js

makeToggleButton(buttonOnLabel, buttonOffLabel, configurationKey, get$Target, continuation)

igv-utils.js

karyo/karyo.js

numberFormatter(rawNumber)

igv-utils.js

numberUnFormatter(formatedNumber)

igv-utils.js

paintAxis(ctx, pixelWidth, pixelHeight)

trackCore.js

parseUri(str)

igv-utils.js

presentAlert(string)

igv-utils.js

prettyBasePairNumber(raw)

igv-utils.js

random(min, max)

igv-utils.js

randomGrey(min, max)

igv-color.js

randomRGB(min, max)

igv-color.js

randomRGBConstantAlpha(min, max, alpha)

igv-color.js

removeBrowser()

igv-create.js

rgbColor(r, g, b)

igv-color.js

rgbaColor(r, g, b, a)

igv-color.js

setTrackColor(track, color)

trackCore.js

setTrackLabel(track, label)

trackCore.js

spinner(size)

igv-utils.js

splitStringRespectingQuotes(string, delim)

igv-utils.js

startSpinnerAtParentElement(parentElement)

igv-utils.js

stopSpinnerAtParentElement(parentElement)

igv-utils.js

throttle(fn, threshhold, scope)

igv-utils.js

trackMenuItem(popover, trackView, menuItemLabel, dialogLabelHandler, dialogInputValue, dialogClickHandler, doAddTopBorder)

trackCore.js

trackMenuItemList(popover, trackView)

trackCore.js

trackPopupMenuItemList(popover, viewport, genomicLocation, xOffset, yOffset)

trackCore.js

translateMouseCoordinates(e, target)

igv-utils.js

unbgzf(data, lim)

bam/bgzf.js

Indices and tables