Category Cross-Omics>Agent-Based Modeling/Simulation/Tools

Abstract CancerSim is a modeling/simulation system that allows the user to explore the phenomenon of cancer by simulating and visualizing cell growth and genetic mutation.

CancerSim is largely the result of an influential paper, "The Hallmarks of Cancer" written by Hanahan and Weinberg.

The paper identifies six (6) cellular alterations necessary for cancerous growth. CancerSim was built to explore these hallmarks.

CancerSim allows users to simulate and visualize cell growth and genetic mutation on a three-dimensional grid or through the command- line interface.

The simulation begins with a single cell. As the simulation proceeds cells may undergo mitosis, apoptosis, or signal for angiogenesis.

Normal cells may undergo mitosis only within the tissue region. The simulation will terminate when cancer occupies 90% of the area, when all cells die, or after an arbitrary number of steps.

CancerSim - Representation -- The basic data structures in CancerSim are three-dimensional arrays representing cells. There is an array for each piece of information maintained on a per-cell basis.

CancerSim - Visualization -- CancerSim models a tissue in three (3) dimensions, but must display it in two (2) dimensions (on a monitor).

In this situation, it is greatly helpful be be able to rotate the tissue smoothly and interactively. Rendering 1,000,000 cells efficiently requires a bit of technique. To save time, the cells are displayed as cubes.

A cell could be represented by a more organic shape such as a sphere, but drawing cubes is advantageous in several ways.

First, rendering hardware draws polygons and triangles in particular. Organic-looking curved surfaces can be approximated, but this requires piecing together a large number of triangles.

Second, cubes pack together tightly, completely occluding the tissue’s interior. This means that only the exterior surface of the tissue need be rendered. This is crucial, since most cells are in the interior of the tissue.

Finally, cubes can be rendered efficiently because their faces can often be coalesced into larger rectangles. For instance, while a single cube has 6 faces, any number of cubes of the same size lined up against each other forms a rectangular volume which still has only 6 faces.

How to Use CancerSim -- CancerSim offers three (3) user interfaces: graphical (GUI), command-line (CLI), and a post-processor called ‘CancerSim Review’.

CancerSim - Command Line Interface (CLI) -- The command-line interface is for non-interactive use. It is normally run with a set of parameters to influence the simulation, and its output is typically redirected to a file.

At intervals of 100 time-steps, information about the state of the simulation is output for later analysis.

CancerSim - Graphical User Interface (GUI) -- The graphical user interface is for interactive use. The GUI can be run from the command- line allowing starting parameters to be specified, just as with the CLI.

This is a convenient way to initialize the simulation when the parameters are known in advance.

CancerSim - Commands -- The left portion of the CancerSim GUI window is a column of command buttons.

1) The “Run” button is pressed to begin the simulation and again to pause it.

2) The “Single Step” button takes the simulation through one time-step. This does Not imply that only one event is processed; generally, many events occur on each time-step.

3) The “Duplicate” button creates a new CancerSim window. The simulation state of the new window is identical to the original, but proceeds forward independently. This functionality is used either to create a snapshot of a simulation at a certain time-step or to test the effect of a parameter by altering it in a duplicate window and then continuing the simulation.

4) The “Reset” button resets CancerSim to its starting configuration of a single cell.

5) The “Jump Time” button brings up a dialog for the specification of a new 'sim' time.

6) The “Dual View” button divides the 3-D view into two panes. Both panes show the tissue from the same angle. However, the two views may have different cell visibilities.

7) The “Screenshot” button allows the user to save an image of the 3-D view in Microsoft’s “Bitmap” (.bmp) format.

8) The “Settings” button summons a dialog for the editing of all simulation parameters. The initial values of these parameters can be specified from the command line.

CancerSim - 3-D View -- The 3-D view initially shows just a dot representing the first cell in the tissue. As the simulation is run, the 3-D view is updated every 100 time-steps, or whenever the simulation is paused.

In the 3-D view, each cell is rendered as a small cube. The cube is colored according to the phenotype of the cell it represents.

The phenotype of any cell can be displayed by left-clicking on the cell. This reports the cell’s phenotype in the upper-left-hand corner of the 3-D view, and outlines the cell in yellow.

The mutations listed for the cell are displayed in the same order as they were obtained by the cell’s ancestors.

CancerSim - History View -- The 2-D graph below the 3-D view shows information about the history of the simulation. It plots the number of cells of each phenotype against time.

In this view, cell populations are Not differentiated by the order in which their ancestors acquired mutations. As time passes (by running the simulation) the graph becomes more compressed.

When the user left-clicks within the History View the coordinate on the curve nearest the mouse cursor is displayed. When a point of interest is located on this curve, it can be visualized using the “Jump Time” button (see above).

CancerSim - CancerSim Review -- Running CancerSim to completion can take a significant amount of time, depending mainly on the 'grid size' and the speed of tumor progression.

This makes it difficult and time-consuming to compare the results of several runs, or to quickly locate a set of parameters that will generate interesting behavior.

To address this issue, a coarse parameter sweep of CancerSim has been performed (comprising 4,374 runs and over 1.3 trillion cell events in total).

Data from the output of these runs can be quickly visualized using the ‘CancerSim Review’ GUI.

CancerSim Review presents a graph of three (3) curves. Each curve corresponds to a run of CancerSim. The three runs vary only by random seed; all other parameters are identical.

Each curve shows how the number of cells varied over time during the course of a run. If the curve reaches the top of the graph, the run ended with cancer.

System Requirements

The source code has been released under GPL.

Binaries: [OS X ][Windows ]

Requirements for Graphical Interface:

wxWidgets (formerly wxWindows) installed with OpenGL support.

wxWiki is an excellent resource for troubleshooting wxWidgets installation.

reviewGUI requires gnuplot


Manufacturer Web Site CancerSim software download

Price Contact manufacturer.

G6G Abstract Number 20433

G6G Manufacturer Number 104061