ExonMostlyInitialDesignMeetingWhiteboard

From Genecats
Revision as of 18:41, 5 September 2014 by AngieHinrichs (talk | contribs) (Angie's transcription of whiteboard photos -- [?] where I'm not sure that I read a word correctly.)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
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