ISB Logo BioTapestry Caltech Logo

FAQ Answers: The Model Hierarchy and Submodels

Version A: released 11/05/07

Go to Main FAQ Question Page

Note: This version of FAQ Answers: The Model Hierarchy and Submodels shows reduced-size screen shots. You can click on any image and see the full-size image in a separate window. To get the version with full-size images, go here.

What's the relationship between all these different views of the network?   Back to Questions

BioTapestry organizes a network model into a layered, multi-level hierarchy consisting of a single root model at the top, zero or more top-level instance models in the next layer, and then zero or more additional layers consisting of any number of subset models (see the figure below).

The hierarchy framework is very flexible, and although the following example describes how the sea urchin endomesoderm model uses the framework, it can be used in a variety of different ways.

Hierarchy Tree
Click on Image to see Full Size

The Top-Level Root Model: At the top of the hierarchy sits the root model; all submodels are derived from this model. The root model contains a single copy of each gene, node or link that appears in any of the submodels. Thus, this level depicts all of the interactions between the network elements regardless of when and where those interactions occur:

Root Model
Click on Image to see Full Size

Top-Level Instance Models: The next level in the hierarchy is where different regions are introduced. Each region can have a separate copy of any gene or node present in the root model, and there can be a unique instance of each link for each (source, destination) tuple of regions. In the endomesoderm model example, this level is showing the interactions present in all the different regions from 6 to 30 hours. Focusing on individual regions and shorter time periods is the role of submodels further down in the hierarchy:

Top-Level Instance Model
Click on Image to see Full Size

Subset Models: This level of the hierarchy shows a subset of the regions and interactions present in the parent model. In this example, this submodel includes the PMC region over the full time span from 6 to 30 hours. For this model, BioTapestry is automatically using the underlying temporal/spatial expression data and temporal input data tables to display those elements in the PMC region that are active sometime during the 6 to 30 hour period:

Subset Model
Click on Image to see Full Size

The lowest level of the hierarchy is again a subset of the model above it. This example shows hourly views of the PMC region. As with the parent model, these hourly views are automatically generated from underlying expression and input data tables. Each hourly view is selected using the time slider in the lower left of the BioTapestry window. This feature allows the user to quickly visualize how the network interactions evolve over time:

Lowest Level Subset Model
Click on Image to see Full Size

Static Subset Models

There are two types of subset models: static and dynamic. Static models are constructed by:

1) Choosing the regions in the parent model that you wish to include in the subset.

2) Clicking on the nodes and links that you want to include in the subset.

Dynamic Subset Models

Dynamic models use the time expression data tables and temporal input data tables to automatically populate the nodes and links in the subset model. The only action the user needs to take (other than populating the underlying data tables, and possibly specifying how network elements and regions correspond to those table entries) is to choose the regions from the parent model to include in the subset.

There are two types of dynamic subset models: summation models and hourly.

Summations: With a summation subset, you specify the time range that the model spans, and then BioTapestry produces a single view that shows all of the active nodes and links present in the subset within the time period. A summation subset can still serve as a parent model to further subset models that are either summations or hourly.

Hourly: The other type of dynamic subset is hourly. As with the summation subset, you specify the times you want to display (where that range of hours is a subset of the time points in the parent model). BioTapestry then makes a set of views, one per time point, that cover this time range. Hourly subset models cannot themselves be parent models; they are required to be at the bottom of the model hierarchy.

Can I use BioTapestry without having to build a model hierarchy?   Back to Questions

Yes, you can just draw a root model; the online BioTapestry Quick Start Tutorial has sections on drawing the root level nodes and links. But if you want to introduce regions and/or have pieces of the network duplicated, you will need to build a top-level instance model from the root model. And if you want to show how the network evolves over time, you will need to build submodels. These topics are also covered in the Quick Start Tutorial starting at the section on creating submodels.

How do I create submodels?   Back to Questions

This section of the online Quick Start Tutorial begins the discussion about how to move beyond drawing a single top-level network model and start creating a model hierarchy.

How do I get colored background squares to appear in my model?   Back to Questions

Colored squares bound different regions, which are only part of submodels, not the top-level root network that you draw. You can't currently draw a submodel from scratch. So if you want to create a model that uses colored squares to delineate regions, you will need to create a model hierarchy with at least one submodel. This section of the online Quick Start Tutorial gets you started on building submodels.

How do I build the network in a submodel?   Back to Questions

You only draw nodes and links to create the top-level root model. For a submodel, you build it up by selecting network elements from the parent model above it in the model hierarchy. The way you do this depends on which level in the hierarchy you are working on. If you are building a top-level instance submodel, refer to this section of the online Quick Start Tutorial. If you building a subset submodel lower down in the hierarchy, consult this section instead.

Is there a way to build submodels without having to set up tables of experimental data?   Back to Questions

The sea urchin endomesoderm model uses dynamic submodels, which allow you to use an interactive time slider to visualize changes. These dynamic submodels require you to set up tables with expression and input data. It is usually much simpler to build static submodels, where you just click on elements you want to show as active. The online Quick Start Tutorial describes step-by-step how to build such a static submodel hierarchy. When used in conjunction with paths, which are covered in this tutorial, static submodels can provide much of the interactivity of the dynamic submodels

Can I copy and paste networks?   Back to Questions

Since there are many constraints required to maintain consistency between the models in the model hierarchy, copying features in BioTapestry are currently somewhat limited. It is also true that you cannot copy elements between two different instances of BioTapestry running on your desktop. However, there are two significant copy features that help you to construct large networks:

Duplicate model as sibling: A submodel, and optionally all its child models, can be duplicated as a new sibling submodel in the model hierarchy. (i.e. the copy will still have the same model as a parent). So if you have created a complex hierarchy, you can copy it as a sibling and then tweak it to show the changes occurring over time. To access this feature, right-click on a submodel in the left-hand navigation panel, and choose Duplicate Model as Sibling:

Duplicate Model as Sibling
Click on Image to see Full Size

Duplicate region: All the nodes and links in a region of a submodel can be duplicated into a new region of the submodel. In a submodel, right-click on a an unoccupied part of the region rectangle, and select Duplicate Region:

Duplicate Region
Click on Image to see Full Size

Can I move models around in the model hierarchy?   Back to Questions

Since the contents of a submodel is constrained by its parent model, you cannot move models up or down in the hierarchy. But if two models have the same parent model, you can swap the position of a submodel with the model next to it. Since new models are always added at the bottom of the set of sibling models, successive swaps can move the new model up in the set to where you want it. To swap model positions, right-click on a model name in the left-hand navigation view and select either Swap Position with Previous Model or Swap Position with Next Model:

Swap Model Position
Click on Image to see Full Size

Can I create a subset submodel with all components included at the start?   Back to Questions

Not at the moment, though this is high on the list of requested enhancements. The system was originally designed with the idea that most of the network would be inactive, with a smaller set of active components, so it is easy to start with an inactive network and add active elements one by one. The reverse case is much more time consuming.

As a workaround, if you have a lot of sibling submodels that need to be mostly active, start by creating a single submodel where you put in the effort to include everything. Then copy the network as needed to create sibling submodels, described here, and delete the elements that are inactive.

Go to Main FAQ Question Page