MicroMix

A visual programming web-app for filtering, merging, transforming, and visualizing large genomic datasets.

🧮

Features

🔬 General Purpose

  • Conditionally filter values (> Greater, < Smaller than,=Equal to, !=Not)
  • Chain conditions (Multiple filters)
  • Quickly visualize results with expandable list of external plugins (Plotly, Clustergrammer, High-Performance Heatmap)
  • Conditionally change values (Change cells with values=x to y)
  • Calculate Fold-Changes
  • Convert to Log (Custom bases)
  • Automatically merge datasets
  • Download results as Excel, CSV

🧬 Bioinformatics

  • Search for single locus tags or groups such a SPIs or CPS
  • Search for KEGG Pathways, GO Names, COG categories with autocomplete search
  • Filter for members of pathogenicity islands (Salmonella, B. Theta)
  • Conditionally change values (Change cells with values=x to y)
  • Calculate transcript lengths
  • Calculate TPM (Transcripts Per Million)

🔗 Sharing

  • Sessions can be locked and the URL shared to anyone, anywhere
  • Data in a locked session can be interactively explored by viewers

Visual Programming

MicroMix's core feature is its visual programming system. Programmable forms and logical and/or gates can be added, stacked, and customized. By combining filters and data transformations, researchers can easily perform complex data science without any coding experience.

A novel WebGL 3D heatmap

Interactive high-performance WebGL heat map for visualizing large datasets in 2D and 3D. Seamlessly integrated in MicroMix.

The 3D view improves the search for outliers, clusters, and makes fine nuances in the data obvious that are otherwise invisible.

2D

Much of the color-encoded information in 2D is lost due to extreme values.

3D

The same data in 3D shows that there are big differences even in lower value ranges.

The MicroMix Architecture

MicroMix consists of a Vue.js frontend, Python backend, and a MongoDB database. Python's powerful Pandas and NumPy libraries enable efficient computations even with large datasets. Sessions are stored in the highly efficient Apache Parquet format.