Difference between revisions of "Extending Embedding and Customizing JBrowse"

From GMOD
Jump to: navigation, search
 
(5 intermediate revisions by the same user not shown)
Line 9: Line 9:
 
* namespace CSS
 
* namespace CSS
 
* putting track list into separate DOM element (e.g., Drupal "block")
 
* putting track list into separate DOM element (e.g., Drupal "block")
* Browser API: anything you can do manually
+
* "Browser" API: anything you can do manually
  
 
* Hooks:
 
* Hooks:
 
+
** featureCreate: has access to: feature data, feature HTML element, can:
  * featureCreate: has access to: feature data, feature HTML element, can:
+
*** style the element, and
      * style the element, and
+
*** add callbacks to the element
      * add callbacks to the element
+
** featureEventHooks:
  * featureEventHooks:
+
{ click: function(feature array, HTML element, getAttr, event)
{{{
+
{ click: function(feature array, HTML element, getAttr, event)
+
 
   mouseover: function(...
 
   mouseover: function(...
 
   mouseout: ...
 
   mouseout: ...
 
   [DOM event name]: [callback function]
 
   [DOM event name]: [callback function]
}
+
}
 +
 
 +
current approach:
 +
 
 +
fields:
 +
{ "start": 1,
 +
  "end": 2,
 +
  "strand": 3,
 +
  ...
 +
}
 +
 
 +
changing to: getAttr
 +
 
 +
** access to region selections (e.g., for creation of lists of features)
 +
** function that: takes currently visible sequence, PSSM or set of regexes, returns: set of regions
 +
 
 +
"Browser" API extensions:
 +
 
 +
Browser.iterateFeaturesInTrack("gene", function(feature, elem, getAttr) {if (getAttr(feature, "id") == "foo") {elem.style.backgroundColor="red"}})
 +
 
 +
?Browser.filterTrackBy("gene", function(feature, elem, getAttr { return (getAttr(feature, "id") == "foo") });
 +
 
 +
e.g.,
 +
* all genes in a given pathway with expression > 2 s.d. above average
 +
* all genes tagged with a given GO term
 +
 
 +
sequence logos for summarizing overlapping alignments
  
current approach:
+
common GBrowse glyphs not currently reproducible in JBrowse:
 +
* LD plot? (not common)
 +
* GBrowse uses gene->mRNA relationships to layout ("bump") transcripts for a given gene together.
 +
* GBrowse shows different representation of break between read pairs and gaps within individual reads
 +
* Glyph/image.pm (associates images with seqfeatures)
  
fields:
 
{ "start": 1,
 
  "end": 2,
 
  "strand": 3,
 
  ...
 
}
 
  
changing to: getAttr
+
General JBrowse feature requests:
}}}
+
* "no data" screen a la GBrowse
 +
* example data to browse included distribution
 +
* region selection

Latest revision as of 22:23, 7 March 2011

Result of discussions at GMOD satellite meeting, March 2011

Potential upcoming changes to JSON format:

http://biowiki.org/view/JBrowse/JsonFormatStabilization

TODO/wishlist for JBrowse:

  • namespace CSS
  • putting track list into separate DOM element (e.g., Drupal "block")
  • "Browser" API: anything you can do manually
  • Hooks:
    • featureCreate: has access to: feature data, feature HTML element, can:
      • style the element, and
      • add callbacks to the element
    • featureEventHooks:
{ click: function(feature array, HTML element, getAttr, event)
 mouseover: function(...
 mouseout: ...
 [DOM event name]: [callback function]
}
current approach:
fields:
{ "start": 1,
  "end": 2,
  "strand": 3,
  ...
}
changing to: getAttr
    • access to region selections (e.g., for creation of lists of features)
    • function that: takes currently visible sequence, PSSM or set of regexes, returns: set of regions

"Browser" API extensions:

Browser.iterateFeaturesInTrack("gene", function(feature, elem, getAttr) {if (getAttr(feature, "id") == "foo") {elem.style.backgroundColor="red"}})

?Browser.filterTrackBy("gene", function(feature, elem, getAttr { return (getAttr(feature, "id") == "foo") });

e.g.,

  • all genes in a given pathway with expression > 2 s.d. above average
  • all genes tagged with a given GO term

sequence logos for summarizing overlapping alignments

common GBrowse glyphs not currently reproducible in JBrowse:

  • LD plot? (not common)
  • GBrowse uses gene->mRNA relationships to layout ("bump") transcripts for a given gene together.
  • GBrowse shows different representation of break between read pairs and gaps within individual reads
  • Glyph/image.pm (associates images with seqfeatures)


General JBrowse feature requests:

  • "no data" screen a la GBrowse
  • example data to browse included distribution
  • region selection