ReadsTrack

Extends: Browser Track
See also:

Screenshots

When zoomed out, reads are presented in a histogram form that shows read depth. Individual reads cannot be discerned at this level (zoom >= 10:1).
At moderate zoom levels, the individual reads themselves are shown as boxes. This occurs when zoom is >= 1:1 and < 10:1.
When zoomed in closer than 1:1, individual reads are shown with colour coding to represent base calls. If space is available, the individual letters will also be printed.

Configuration Options

		// Defaults shown
		var params = {
		
			// Config options inherited from BaseTrack
			id           : Ext.id(),          // a unique ID for the track, if not provided then one will be automatically assigned
			name         : 'Track',           // the name of the track, used in the track selector tree and as the track title
			path         : '',                // path used to position the track in the track selector tree, eg /All Tracks/My Track
			minHeight    : 40,                // the minimum height of the track (if resizable)
			maxHeight    : 1000,              // the maximum height of the track (if resizable)
			height       : 40,                // the height of the track when it is first created
			resizable    : true,              // allow the track to be vertically resized by the user
			showControls : false,             // show the track's controls when it is first created
			cls          : 'AJ_track',        // class name to apply to the div that contains the track
			iconCls      : 'silk_bricks',     // class name to use for the track's icon

			// Config options inherited from BrowserTrack
			enableMenu   : true,              // enable the custom right-click context menu
			autoResize   : false,             // automatically resize the track to fit its content
			autoScroll   : true,              // ???
			minCache     : 100,               // the minimum size that a cache is allowed to shrink to
			cache        : 3 * screen.width,  // number of pixels (width) to cache in the browser by default
			maxCache     : 20 * screen.width, // the maximum size that a cache is allowed to grow to
			scaler       : 0.5,               // default starting position of the scaler control (must be between 0.0 and 1.0)
			dragMode     : 'browse',          // default dragMode for the track

			// Config options inherited from DataTrack
			datasource    : '',               // URL to the track's data provider
			requestMethod : 'POST',           // HTTP request method to use
			requestParams : null,             // name : value pairs to send with all requests (object)			

			// Config options specific to ModelsTrack
			single        : false,            // show only one strand
			clsAbove      : 'AJ_above',       // class name to apply to the div that contains the watson strand
			clsBelow      : 'AJ_below',       // class name to apply to the div that contains the crick strand
			slider        : 0.5,              // default starting position of the slider control (must be between 0.0 and 1.0)
			boxHeight     : 10,               // default box height for the models
			boxHeightMax  : 24,               // maximum box height for the models (height is modified when dragging in 'scale' mode)
			boxHeightMin  : 1,                // minimum box height for the models
			boxBlingLimit : 6                 // minimum height at which labels and arrows will be shown
		};
	

Zoom Categories

The ReadsTrack plugin has three rendering modes based on zoom level: histogram mode, box mode, and sequence mode. These modes ensure that data are presented in a sensible manner. To ensure efficient transmission of data, there are multiple data loading categories, each described by an order of magnitude. These ensure that data transmission is efficient and allow for caching on both the server-side and client-side.

		//Zoom policies
		var policies = [
			{ index:0, min:1/100 , max:1/1    , bases:1   , pixels:100, cache:1000     },
			{ index:1, min:1/1   , max:10/1   , bases:1   , pixels:1  , cache:10000    },
			{ index:2, min:10/1  , max:100/1  , bases:10  , pixels:1  , cache:100000   },
			{ index:3, min:100/1 , max:1000/1 , bases:100 , pixels:1  , cache:1000000  },
			{ index:4, min:1000/1, max:10000/1, bases:1000, pixels:1  , cache:10000000 }
		];	
	

Requests & Responses

ZC* Request Response Description
All AD.SyndicationRequest AnnoJ.DataTypes.SyndicationResponse Syndicate the data service that provides data for this track
0,1 AnnoJ.DataTypes.RangeRequest AnnoJ.DataTypes.Reads Multiple data series of reads. Read sequence is included for zoom category 0.
2,3,4 AnnoJ.DataTypes.RangeRequest AnnoJ.DataTypes.Bars For zoom categories above 1 reads are rendered as a histogram representing depth.
* ZC = Zoom Category
* AD = AnnoJ.Datatypes

Code

License: Creative commons (some rights reserved)
Source: minified.js | full.js
* Please report bugs to the most recently listed engineer
VersionEngineer(s)Message
2008-May-27tontij01(at)student.uwa.edu.auFirst formal release with Anno-J v1.0