ExonMostlyInitialDesignMeetingWhiteboard

From Genecats
Jump to navigationJump to search
left whiteboard
right whiteboard

Transcription

Please do correct any errors and feel free to clarify things but please keep major discussions on ExonMostlyInitialDesignMeeting or a subpage.

Jim's sections

Browser steps

  • Load cart
  • Get groups and tracks (Angie sidenote: {groups, supertracks/composites/etc, and user groupings})
  • Load data from some displayed tracks
  • Calculate track heights & layout
  • Render tracks including[?] in loop (Angie sidenote: consider moving series of rendering loops into each track)
    • loading data for rmsk[?], bigWig
    • drawing data
    • making image map for Javascript
  • Interpreting Javascript

Multiple regions in zooming and scrolling

  • Need some sort of global idea of genomic regions
  • algorithm or list
  • Fetch some items overlapping a range
  • Merge some items that span multiple ranges
  • Render item across all ranges

Packing

  • Allocates low res array for a line
  • Allocates new lines as needed
  • Input: list of horizontal regions

Genome regions we support

  • region in view
  • items in genome coordinates
  • items in pixel coordinates


Angie's sections

Incarnations of region list

  • regions = {chr1:100-200, chr1:150-250, chr1:500-600, chr2:300-400}
 (transform to displayed regions: merge overlap, add adding)
  • dRegions = {chr1:95-255, chr1:495-605, chr2:295-405}
 (transform to fetched regions: merge nearby regions to reduce #db queries)
  • fRegions = {chr1:95-605, chr2:295-405}
  • dRegions will be mapped to pixel coord ranges

[Emancipate us from series of rendering loops that have to recalculate height exactly in step]

  • per-item rendering commands stored in list [by virtual gfx layer]
  • quick pass on list calculates total height to allocate for image, packs items[never mind, packing happens at draw time]
  • second pass blts into allocated image

Experiments

[partial list]

  • how many simultaneous hgTracks requests/processes are typical on the RR?
  • how many of the following can be done simultaneously without dragging down system performance?
 * mysql queries
 * processes
 * pthreads
  • when is it faster to merge nearby regions for mysql query vs. make multiple queries? [i.e. what is the max distance that we should merge -> dRegions]
  • overhead of exec --> socket for parallel mysql requests
  • overhead of virtual command list generated by virtual gfx layer