a space-time expression tool


The tool is comprised of three main views: the Summary View in the upper left; the Embryo Map View in the lower left; and the Curvemap View on the right. The curvemap in the lower portion of this view renders the gene expression data for cells as rows of filled line charts, where each chart is the time course data for a specific gene.

The window can be resized. Pressing shift+P will give you a screen shot in .pdf format in the same directory as the app -- multiple screen shots can be taken during a single session.


Use this view to select from the set of summaries loaded into the program from config.txt (see Data Files below).


This view displays the 2D embryo map from the the selected summary, where each cell location is colored according to its summary value. To the right of the embryo map is a slider -- moving either of the arrows will threshold the cells based on the computation value. The slider is overlayed with a histogram that shows the distribution of the cells across the summary value range. By selecting a cell with the left mouse button, the selected cell is rendered in red and shown in the top row of the curvemap on the right. Selecting cells with the right mouse button -- either by clicking or clicking+dragging -- will add those cells to the created group list. Cells in the created group list are rendered as squares.


This view shows the expression data of the selected cell plus one of two types of groups: the aggregation group or the created and existing groups. The aggregation group is the group of cells from which the summary value of the selected cell was aggregated from (see Data Files for more information). The created group is a list of cells generated dynamically in MulteeSum, while the existing groups are loaded in from a file.

At the top of the aggregated group pane is an embryo map for the aggregation group and a barchart of the individual metric values for each of the aggregation group cells. By default, the first ten aggregation cells are shown in the curvemap, but more cells can be added by selecting them in the embryo map, or by clicking+dragging in the barchart to create a bounding box for selecting a range of values. Aggregation group cells can be added to the created group by right clicking on them in the embryo map, or right clicking on the cell labels in the curvemap.

At the top of the created group pane are controls for saving the current created group to a file (ie. the cells shown below the selected cell row in the curvemap), or loading an existing group specified in config.txt (see Data Files below). The saved group files are stored in the application directory. Each loaded group is assigned a color from a repeating nine-element colormap.

The first row in the curvemap is the selected cell, followed by a row for each cell in the aggregation/created group. Each column is a gene, the list of which is specified in config.txt (see Data Files below). Each individual chart plots the time series expression data for the specific cell and gene, and has a range from 0.0 to 1.0 -- expression values in the embryo atlases that are >1.0 are capped to 1.0. The x-axis is time and the y-axis is expression value. Below each gene column is an overlay chart of all the curves in the column. Rolling over the cell labels will highlight the individual curves for that cell in the overlays. Also, the group names composing the created group can be rolled over to highlight the curves of the entire curve. Clicking on the selected cell label will keep the cell's curves highlighted in the overlays until the label is clicked again. Cells can be removed from the aggregation/created group by using the radio buttons and remove button.

The viewing area of the curvemap detail view can be increased/decreased by clicking+dragging on the left border of the view frame, or on the line separating the top and bottom parts of the frame.


Other than the config.txt file, all data files are stored in the .csv format.


The config.txt must reside in the same directory as the application. This file is read in at the start of the program and dictates which data files MulteeSum uses. [example_file]

The first two lines (GENE_NAMES: and TIMESTEP_NAMES:) specify which genes and time points from the embryo files to include -- these must match the headers in the embryo files exactly.

The next set of lines (EMBRYO:) indicate which embryo files to read in. You can include as many as you want.

The next set of lines (COMPUTATION:) indicate which computation files to read in. You can include as many as you want. If there is no computation associated with one of the embryos, then a default computation is created.

The next set of lines (GROUP:) indicate which group files to read in. You can include as many as you want.


The embryo files store, for a virtual embryo, the list of cells. Each cell is a row in the table, and includes the cell id (which for now is assumed to be an interger value starting at 1), the 3D position, the 2D position in an embryo map, and the expression profile. Note that the expression profile does not have to be in any spefic order, but the header names for each gene/timepoint must match the names in the config file to be read into MulteeSum. [example_file]

Comments in the header start with ##. The header next includes three lines that start with #, indicating the embryo name (species), number of cells in the embryo, and the header for the remainder of the table. Missing data can be indicated in any table cell with nan or none.


Summaries are made up of two components: a metric and an optional aggregation. The metric is some sort of function that produces a single value for a cell or cell-pair (ie. comparison of two cells). The aggregation takes the results of a metric run over numerous cell-pairs and returns a single value. The summary file stores the results of a computation for each cell in a virtual embryo, along with the list of cells in the (optional) aggregation group and their individual metric values. [example_with_aggregation] [example_without_aggregation]

For summary files without an aggregation group, the metric could just be the taking of the expression values for a specific gene and timepoint, or even the results of a binary operation. When viewing the curvemap for an aggregation group in MulteeSum, the ordering of the aggregation cells is based on the ordering in this file.

Comments in the header start with ##. The header next includes four lines that start with #, indicating the embryo name (species) that the computation was run on, a name for the metric, a name for the (optional) aggregation, and the header for the remainder of the table. For computations without an aggregation, the group size column should contain zeros.


The group file stores a list of cells for the group. The cells do not have to come from the same embryo. [example_file]

Comments in the header start with ##. The header next includes two lines that start with #, indicating the name of the group, and the header for the remainder of the table.