NOTE: A beta replacement for this site is available at Editing remains disabled.

CMap Version 2 Design

Jump to: navigation, search

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

Up to CMap.

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)


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, slimmer 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


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
  • Investigate Google's O3D
  • Also can investigate using GraphViz, gnuplot and PDL for other presentations

Data Loading

Write loaders for:

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


  • 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