Archive: Instructions for Java Cell Phone Simulation

These instructions apply to the Java-based Cytoscape simulator which has since been updated. Please view the instructions for the web-based simulator here. Please contact us if you have questions and/or feedback. We appreciate your feedback and will use teacher and student comments to better the application and learning experience for all. Thank you!

Standard Cell Phone Simulation using Java (which may not work for you and is being phased out)
To run the cell phone simulation, please click here.  If the file will not load, try these troubleshooting techniques:

1. Use an alternate browser.

2. Ensure you have Java installed.  Please note that this file is meant to run as a Java Applet through an internet browser.  The program Cytoscape is not needed to run this file.

3. Update your permissions to allow to download to your machine.  Your security settings could be preventing the file from opening.

If you previously ran the cell phone simulation successfully and attempted all of the above, but now the simulation menu did not load, try to run this alternate program. If you are having difficulties – please email us (  We can quickly send you a file that will work if there are any issues with the links above. To ensure the file will work, please email us with the following information: 1) the type of device you are using (PC, Mac, tablet, phone, etc.), 2) what browser you are using, and 3) the error message you received.


This simulation uses everyday technology (cell phones) to illustrate ideas about networks in biology. The picture of the interconnected phones is called a graph or network. Each circle represents (in this case) a cell phone, but it could represent any entity, including components of a food web or genes and proteins. The generic name for these circles (which are not always circles), no matter what they are representing, is nodes. For the purposes of this simulation, the terms node and cell phone can be used interchangeably. The lines that go into and out of each node are called edges. The edges in this graph have arrows which means they are directed edges, and that signals can only move in the direction indicated by the arrow.

To knock out a node means to remove its edges, so that no signals can originate from or move through the knocked out node. To reactivate a node means to restore its edges.

This Terminology is pertinent to both the Java-based and browser-based and cell phone simulations.  The pictures below are taken from the Java-based simulation.  However, the commands and actions can be used in both the Java-based simulation and the browser-based simulation.  The browser-based simulation is more intuitive and we encourage you to use the same ideas to achieve the same end result.  Photos for the browser-based simulation will soon be available within the browser-based app.

The Simulation Menu

The Simulation menu is the right-most menu in the menu bar. It contains virtually all the commands you will use. The first five menu items are concerned with knocking out and reactivating nodes or groups of nodes. If your window does not contain a Simulation menu, close the program and reload it. If the menu continues to not load, please try running the program with a different web browser (i.e. If you were using Firefox, please try Explorer.).

For the browser-based cell phone simulation, all needed commands are located directly on the header of the web application.

Each phone has several properties and capabilities. It has a name/phone number, such as “3E.” It also has a carrier (service provider). Different carriers are indicated by the node border colors. Also, each phone may have one or more of the following capabilities: email, picture, and roaming.

Below is a description of how to knock out all selected nodes. Then you can select and deselect nodes and experiment with the “Knockout Selected” and “Reactivate Selected” menu commands.

Knocking out phones by carrier or by capabilities is even easier. Say that you want to send a picture to everyone in the network–everyone, that is, whose phones can receive pictures. First you must knock out all phones that do not support picture capability. The menu command for that is: Simulation/Knockout By Property/Phones Without/picture.

Whenever you knock out a phone or group of phones, there is a corresponding reactivate command. But if you forget what you knocked out, you can always reactivate the entire network by choosing the “Reset Graph” menu command. The “Help” command pops up a web browser with this page. The “Shortest Path(s)…” and “Phone Tree…” commands are discussed below.

Finding the Shortest Path(s) Between Two Nodes

The “Shortest Path(s)…” menu command pops up the following dialog:

As you might imagine, this dialog allows you to determine the shortest path(s) between two nodes. Remember, each phone can only call the other phones in its phone book (the ones its outgoing edges point to), so you can’t just draw the shortest line across the network.

Say the shortest path between A and B is 3 edges long. It is still possible that there is more than one 3-edge path between A and B (this is in fact the case with 1A and 7E, though the path is longer). This dialog will display all the shortest paths, but will only animate the first one.

To use the dialog, choose the beginning and the end of the path in the appropriate dropdown lists. Then click “Find Shortest Path(s).” The nodes and edges will turn red as the path is followed, and the text box in the middle of this dialog will display the number of edges traversed in this path. You can select an optional delay (in milleseconds) that will occur before drawing each edge.

The “Clear” button will remove the red coloring from edges and nodes so that you can try another path. For example, you might be experimenting to see if there is a path between 2E and 4E. You try it and see that yes, there is a path of 5 edges between them. Now press “Clear” to reset the nodes and edges along the path to their normal color. Then you go to the graph (while leaving this dialog open) and knock out 2A (click on 2A, then choose Simulation/Knockout Selected). Go back to the dialog and click “Find Shortest Path(s)” again. This time it takes a different path, avoiding 2A–this path is one edge longer. You can repeat this process indefinitely, knocking out and restoring nodes in order to change the path taken, or to see if there still is a valid path. Click “Close” when done with this dialog (note that any path animation that may be occurring will continue despite closing the dialog).

Phone Tree

The “Phone Tree…” menu command pops up the following dialog:

The Phone Tree is a way to propagate messages across the network. You choose a starting phone, then that phone calls every phone in its phonebook, those phones call every phone in their phone book, and so on, until everyone who can be called is called. The behavior of the phone tree can be changed and constrained by knocking out and reactivating nodes in the network.

The simplest use of the dialog is just to pick a starting node and press “Start.” You will see the phone tree in action. The text box in the center of the dialog fills with information about who is calling who. When all possible calls have been made, another dialog pops up telling you who made the most (and least) calls and who received the most (and least) calls. It also tells you the total calls made and received.

You can also specify a delay in milliseconds to occur between each step of the phone tree. That will make it clearer who is calling who.

You can also step through the phone tree one step at a time if you check the “Single-step mode?” checkbox. Then press “Start”. That will execute the first step. To execute subsequent steps, click the “Step” button. (The delay is ignored in single-step mode). If you don’t want to keep stepping through manually, you can click “Finish” and the phone tree will be completed automatically using the delay you have set.

The “Clear” button behaves like it does in the “Find Shortest Path(s)” dialog. It allows you to reset the state of the graph so you can try another phone tree without having to close and reopen the dialog.

A couple things that you may find slightly confusing:

  • The “Step” and “Finish” buttons are not used except in single-step mode.
  • When running the phone tree with a delay, it may appear that text box messages keep popping up well after the phone tree is completed. This is not the case. Oftentimes, the tree must traverse edges that have already turned red, so the progress of the tree can be invisible during those moments. For a better idea of when the tree will end, keep an eye on all edges that have not yet turned red. When they all turn red, the tree has ended and the text box messages will stop.

Experimentation with the phone tree is encouraged, particularly in conjunction with knocking out various sets of nodes.

Selecting Nodes in Cytoscape

To select a node, simply click on it. Its background color should change to gray. Nodes and edges are often close together or overlapping, and edges can be selected too, so be sure you are clicking on a node, not an edge.

To select additional nodes, hold down the Shift key while you click on them.

To quickly clear your node selections, just click on any empty area of the graph.

To select all nodes, clear your selection as described above, then type Control-V. (Technically this “inverts” your selection, meaning nodes that were not selected before are now selected, and vice versa.)

Another way to select a group of adjacent nodes is to use your mouse to drag a box around the adjacent nodes. You can then type Control-N to display the selected nodes in a new window as a network of their own. You can run all the simulator tools on this sub-network. Sometimes, however, if a lot of dialog boxes and network windows are open at the same time, it can be confusing to keep track of which dialogs go with which networks.

For more information about selecting nodes and other Cytoscape capabilities, please see the links in the next section.

In-Class Instructions

  1. Hook up teacher computer to a projector in order to demonstrate how to use the Cytoscape Simulator.

       a. Pass out Cytoscape Instructions.doc and demonstrate the steps involved in opening the program.

    Advice for teachers: you will need to test out these instructions beforehand. The program might open in a slightly different way depending on whether you are using a mobile laptop lab, your own personal computer, or the library computer lab. You should be able to follow the Cytoscape instructions step-by-step with the students following along.

       b. Demonstrate some of the features of the cytoscape program. The most important features for today’s lesson are under the “simulation” menu.

    • It is up to the comfort level of the teacher to decide how much time to spend on the “how-to”.
    • Selecting nodes: if you click on a node (remember: each node represents a cell phone), it will turn grey. This indicates that you have “selected” that node.
    • Knockout and reactivate selected nodes: selecting nodes is useful if you would like to “knock out” that node from your system. In order to do this, select a node (see above) and then under simulation click on knockout selected nodes. The node will still appear on the screen, but all the arrows connecting it to the network will disappear. You have removed the node from the network: it can no longer make or receive phone calls. You can reinstate the node into the network by selecting reactivate selected nodes.
    • Knockout & Reactivate nodes based on carrier: Remember from day 1 that the cell phone information cards had a bunch of extra information on them about what cell phone carrier you were using, whether or not the phone had email capability, etc… These properties are programmed into the Cytoscape version of the cell phone network. Therefore, we can use this information to knockout groups of cell phones based on their properties.
      • Knockout by carrier: each phone has been assigned to one of seven carriers (note: these correspond to the numbered groups they originally met in while making the network). You can select to knockout a carrier, such as Verizon, and then all of the phones serviced by Verizon will be knocked out of your network.
    • Knockout & Reactivate nodes based on property:
      • Knockout by property: each phone can be put into a category of either phones with or phones without for each of the three properties email, roaming, picture.

    • Phone Tree. You can use this function to answer questions about how information will be passed through the entire system.
      • A separate window will show up for the phone tree function (see screenshot), and in this window you can select a start node from a list of all of the phones in the network. This represents the origin of the information flow. After selecting a start node, hit the start button and watch as the info flows through your cell phone network!
      • When a person receives a phone call, their node turns red. When 1A is selected as a start node, all everyone except 5C gets a call, so 34 nodes turn red. (see screenshot)
      • After all the calls have been made, a statistics window will pop up. This window gives some great information that they might be able to use to answer their questions. (see screenshot).

    • Shortest Path. This feature is useful if you would like to determine the shortest path of information flow (ie least number of phone calls) between person A and person B.
    • Reset Graph. This is a very important button because it will reset anything you have done; the knockouts, the phone tree, etc… If students think that they messed up, tell them to hit the reset button and try it again. It is also important to reset in between questions.
    • Help page. This will link you to the ISB cell phone simulator help page (see screenshot), which has helpful links with instructions similar to those given above. May be helpful for students looking for help while on their computers.
    1. Pass out assignment for today: Cytoscape Cell Phone Questions.doc (also see Cytoscape Questions Teach KEY.doc). We will be answering more complex network questions using the large 35-node cell phone network.

      Important: students should be using the computer tools to answer these questions, rather than just using the screen as a neater paper version of their network. Encourage the students to fool around with the various options in the software. If it seems to get messed up, they can always close the program and re-open it by following the instructions again.

  1. Walk to computer lab or pass out computers from mobile laptop lab. Students should work independently or in groups of two on this activity, if possible. Students need to bring with them: Cytoscape instructions, Cytoscape cell phone questions, and a pen or pencil.
  2. LOGGING IN: it is very important that you STAGGER THE LOGIN process for all of the students in your class. There are many ways to accomplish this. One suggestion is to split the partners into 4 groups (have them number off 1-4), then tell them “Ones can log in now, Twos can log in now, etc…” Leave a few minutes lag time between each group.

    Whenever you have many students logging on at once, it will slow down the system. In order to avoid this, stagger the timing of students log on… This is VERY IMPORTANT. If the computers freeze or slow down, students will get frustrated with the activity before they even begin!

  3. Wander the room and monitor student progress.

Things to look for:

   a. look for the cell phone network screen to be open on their computer. They should NOT have a blank Cytoscape screen- the network should automatically appear if students follow the directions correctly.

   b. If students are using the information flow feature, the nodes in the network should be turning red as information passes from cell phone to cell phone. Looking for the red color is an easy way to determine whether students are actually using the software.

   c. If a student seems to have “screwed up” their network, and if you can’t figure out what they’ve done, DON’T PANIC! Simply close the program and then follow the instructions to restart.

Encourage students to play around with the software. Trying different things is the easiest way to learn how to use a program, and they should not be able to “ruin” the network, because they can always close down the program and re-open it from the website!

If students get done early: encourage them to try to create their own network and try to run the simulation on it. (see extension activities)

Further Resources