Difference between revisions of "CMap Version 2 Design"

From GMOD
Jump to: navigation, search
(Visualizations)
(Schema)
Line 15: Line 15:
 
* In the past, there was a canonical "feature_correspondence" table and the "f1->f2" correspondence was duplicated into a "correspondence_lookup" table where "f1->f2" and "f2->f1" in order to write simple SQL.  The new version will remove the lookup table and simply have correspondences be repeated in the one table (making them essentially one-way).
 
* In the past, there was a canonical "feature_correspondence" table and the "f1->f2" correspondence was duplicated into a "correspondence_lookup" table where "f1->f2" and "f2->f1" in order to write simple SQL.  The new version will remove the lookup table and simply have correspondences be repeated in the one table (making them essentially one-way).
 
* Map and feature types originally existed in the database but were moved into configuration files in past versions.  They will be restored to there previous tables because any mismatch in configuration files and incoming data can easily cause data to be quietly ignored, creating many headaches for the author.  Back in the db, code will be able to instantiate the needed types, and SQL will make cleanup of types easy.
 
* Map and feature types originally existed in the database but were moved into configuration files in past versions.  They will be restored to there previous tables because any mismatch in configuration files and incoming data can easily cause data to be quietly ignored, creating many headaches for the author.  Back in the db, code will be able to instantiate the needed types, and SQL will make cleanup of types easy.
 +
* Steal the binning idea from [http://genome.cshlp.org/content/12/10/1599.full Gbrowse] to speed up feature retrieval, group features into chunks for display as [http://en.wikipedia.org/wiki/Sparkline sparklines]
  
 
= Visualizations =
 
= Visualizations =

Revision as of 21:39, 21 April 2009

The hopes and dreams for a new generation....

User Interface

  • The new interface will be all Web 2.0 goodness, using tons of JavaScript/AJAX/CSS (which I so studiously avoided in early versions)

Schema

Cmap 2.0 schema.png

  • No more "cmap_" table prefix
  • Move to support only MySQL InnoDB tables to get proper foreign keys, not worry about implementing common db functions in Perl
  • New, slimer schema
  • Eschew evidence table
  • In the past, there was a canonical "feature_correspondence" table and the "f1->f2" correspondence was duplicated into a "correspondence_lookup" table where "f1->f2" and "f2->f1" in order to write simple SQL. The new version will remove the lookup table and simply have correspondences be repeated in the one table (making them essentially one-way).
  • Map and feature types originally existed in the database but were moved into configuration files in past versions. They will be restored to there previous tables because any mismatch in configuration files and incoming data can easily cause data to be quietly ignored, creating many headaches for the author. Back in the db, code will be able to instantiate the needed types, and SQL will make cleanup of types easy.
  • Steal the binning idea from Gbrowse to speed up feature retrieval, group features into chunks for display as sparklines

Visualizations

CMap circos.png

  • All output to SVG, convert to other formats as needed
  • Each "slot" holding maps in a comparative view will be generated and cached individually on server side; they will be assembled into a larger SVG container with an additional SVG to show the correspondence lines; changes to one slot will necessitate only changes to that image
  • It will be possible to pregenerate all initial map views (e.g., whole chromosomes) for immediate viewing; other images can be labeled and cached as users create views, enabling re-use of images
  • Circos to be used to generate circular views
  • I've written to Dave Edwards and Chris Duran at the Univ. of Queensland (Australia) about including their 3-D Java desktop app as a server-side tool; no word back
  • Also can investigate using GraphViz, gnuplot and PDL for other presentations

Data Loading

Write loaders for:

  • Tab-delimited
  • GFF
  • Ensembl
  • Compara
  • Chado

DAS

  • Will write a module to plug into Proserver to create DAS server to share directly from CMap; docs to explain to users how to do this
  • As a DAS client to show additional features