AEGIS is an open-source software with an interactive information-retrieval framework that enables an investigator to navigate through the entire Gene Ontology (GO) graph (with tens of thousands of nodes) and focus on fine-grained details without losing the context. It features interpretable visualization of GO terms reported from studies, flexible exploratory analysis of the GO DAG, as well as principled power analysis that is biologically relevant. Please visit our documentation site for more details about installation instructions, tutorials and documentation.

AEGIS is developed and maintained by Junjie (Jason) Zhu in the Sabatti Lab at Stanford University. Qian Zhao and Eugene Katsevich have also contributed to the development.

Minerve remettant à Persée son bouclier avec lequel il doit combattre La Méduse
by Houasse René Antoine

The modern concept of doing something "under someone's aegis" means doing something under the protection of a powerful, knowledgeable, or benevolent source.

( Wikipedia, Greek Mythology, Image Source )

The Gene Ontology (GO) is one of the most popular biological databases. It consists of two continuously evolving elements: (1) a collection of controlled biological terms with semantic hierarchical relationships and (2) annotations that link genes and gene products to specific terms.

The GO can be represented as a graph where each node represents a GO term, and each directed link pointing from a parent to a child represents the semantic relationship with two terms. The child term can be related to the parent term via an “is a”, “part of” or “regulates” relation. There are three root nodes: “biological process”, “molecular function” and “cellular component”, and each of their descendants are connected with directed edges in an acyclic fashion. Genes can be simultaneously annotated to different terms, and their annotations propagate upwards in the hierarchy, resulting in the gene sets in the nodes.

For more detailed information about the GO, please visit: the GO Consortium and the GO Handbook.

Focus and Context Graphs and their Representations

We introduce the concept of a context graph and a focus graph. The context graph (highlighted with red nodes below) is sub-DAG of the full DAG, based on context anchors (with pink borders). The focus graph (highlighted with blue nodes below) is a sub-DAG of the context graph. It is similarly selected based on focus anchors (with aqua borders). The context and focus anchors can be of types: waypoint, root or leaf.

For our visualization, the context graph is represented via a silhouette view, only indicating the number of nodes in each level. The focus graph is represented as a bone fide graph with detailed links and nodes. One example of how to change the focus graph is to draw undisplayed nodes from the context (with the “add” symbols marked in purple) as new focus anchors to create a new induced focus graph. Additional interactions to update the focus graph are detailed in the visualization interface and in our video demos here.

Buoyant Layout vs. Root-bound Layout for the Focus Graph

The root-bound layout places each node at levels based on their longest distance to the root, preserving a topological constraint where each parent node is higher than its children. The buoyant layout preserves not only the topological constraint, but also factors in the gene annotations, such that a node with fewer annotated genes is placed no higher than that with more genes. The buoyant layout is powered by our bubble-float algorithm.