Ajax Phyloinformatics

From Biowiki
Jump to: navigation, search

Ajax Phyloinformatics

...Ideas page for the Summer Of Code Ajax Phyloinformatics project...

The pilot I had in mind was to build a UI component to drive our "xrate" tool:


XRate takes two datatypes:

  1. multiple sequence alignments (Stockholm Format), which can include phylogenetic trees (Newick Format) as well as per-column markup, comments...
  2. "PhyloGrammar" (aka "grammar") files (Xrate Format), which include substitution rate matrices and HMM/SCFG state diagrams (including transition probabilities).

Strictly speaking, (1) should be "databases of multiple sequence alignments", since one of the modes of operation is "training a grammar on a database of example alignments". The input format can handle it: Stockholm defines a separator line for holding more than one alignment in a file (e.g. the PFAM and RFAM databases are distributed as single Stockholm files).

The formats are described here:

Different modes of operation for xrate can take different inputs and outputs. For example,

  Training Mode:  Input = (alignment + grammar)
					  Output = (grammar, re-parameterized)

Annotation Mode:  Input = (alignment + grammar)
					  Output = (alignment, with new column markup)

 Phylogeny Mode:  Input = (alignment + grammar)
					  Output = (alignment, with new tree)

We have Unix visualization tools for the phylo-grammars: Nick Goldman's Bubble Plots for substitution rate matrices, Graph Viz for the HMM/SCFG state diagrams, many many different phylogenetic Tree Viewers...

Many of these tools are in Perl. (xrate itself is C++)

We also have the beginnings of a javascript alignment viewer:

The essential idea is to take the alignment viewer, add asynchronous functionality to allow you to call xrate on the server, and spice up the user interface with a client-server rendering scheme including...

Some way to manage alignments and grammars might be nice (e.g. a browsable file store on the server).

I think it's do-able in three months with focus. It could be a nice little prototype for future Ajax phylo apps.

-- Ian Holmes - 24 Mar 2007