## ADAM Userguide Model Repository Step-by-step tutorial

# Detailed examples of how to use ADAM

Logical Model (GINsim) Polynomial Dynamical System Polynomial Dynamical System with External Parameters Probabilistic Boolean Network Large Network Conjunctive Network Stochastic Discrete Dynamical System

## How to use a Logical Model (GINsim file) as an input

Select **Logical Model** as the format of the input functions

Note that input for number of states per node is not allowed as it is not needed. Adam pulls this information from the GINsim file.

Upload the 4 node Lambda Phage model named regulatoryGraph.ginml (inside the zipped folder phage4.zginml available here)

Select Simulation (as the model is small enough with only four nodes)

Click *Analyze* to view the outputs

## How to enter a Polynomial Dynamical System

Select **PDS** as the format for input functions

Enter the number of states each node may have. For this example, enter 3. This indicates each node may be 0, 1 or 2

Enter the functions in the text box below. For this example we will have 2 functions. Enter

f1 = x1*x2

f2 = x1+x2

Under network options, select simulation, as there are only 2 nodes. Leave synchronous selected for the updating scheme to have the states updated synchronously, and leave all trajectories selected to view the entire state space.

Click *Analyze* to view the results.

## How to enter a Polynomial Dynamical System with External Parameters

Select **PDSep** as the format for input functions.

Enter the number of states each node may have. For this example, enter 3. This indicates each node may be 0, 1 or 2.

Enter the functions in the text box below. For this example we will have 4 functions. Enter

f1 = x1+x2+N

f2 = x1*x2*x3+N^2*Mg

f3 = Mg*x2+x3^2

f4 = x1+Mg^2+x1+1

Enter the external parameters in the text box below. For this example we will have 2 external parameters. Enter

N = 1

Mg = 0

Under network options, select simulation, as there are only 4 nodes.

Click *Analyze* to view the results.

## How to Enter a Probabilistic Boolean Network

Select **PBN** as the format for function input.

The number of states per node must now be set to 2 and the drop-box to the right must be changed from polynomial to boolean.

For this example, enter the following for the functions:

f1 = (x1*x2)

f2 = (x1+x3)

f3 = (~(x1+x2))

This is read as f1 equals x1 AND x2, f2 equals x1 OR x3, f3 equals NOT (x1 OR x2). Note that each operation must have a set of parenthesis that correspond to it. It is important not to place extra sets of parenthesis in any of the equations. Note that changing f3 to (~((x1)+x2)) gives a different, incorrect output as there is an unnecessary set of parenthesis around x1.

Under network options, select simulation, as there are only 3 nodes. Leave synchronous selected for the updating scheme to have the states updated synchronously, and leave all trajectories selected to view the entire state space.

Click Analyze to view the ouput, which should be as follows:

## How to Enter a Large Network (number of nodes > 11)

Select GINsim as the format of the input functions.

Note that input for number of states per node is not allowed as it is not needed. Adam pulls this information from the GINsim file.

Upload the TCR model named TCRsig40.ginml(inside the zipped folder phage4.zginml available here).

Select Algorithms (as the model has 40 nodes and its state space is too large to be simulated), and enter 7 for the limit cycle length to view all 7-cycles.

Click *Analyze* to view the results. There is one 7-cycle.

## How to Enter a Conjunctive Network

Select **PBN** the format of input functions for this example (either PDS or PBN may be used).

The number of states per node must be set to two. Select Boolean as we are entering a PBN, but for a PDS select Polynomial.

In the function box enter

f1 = (x1*x3)

f2 = (x2*x1)

f3 = (x2*x3)

The functions must only use either the AND operator or the OR operator. Additionally, the dependency graph formed from these functions must be strongly connected.

Select Conjunctive network.

Leave synchronous selected for the updating scheme to have the states updated synchronously, and leave all trajectories selected to view the entire state space.

Click *Analyze* to view the results

## How to enter a Stochastic Discrete Dynamical System (SDDS)

Select **Stochastic Discrete Dynamical Systems** as the format of the input functions.

Upload either the (complete) transition table file for 4 node Lambda phage model (available here) or the functions file for 4 node Lambda phage model (available here).

Enter

0.8 0.2

0.2 0.8

0.9 0.9

0.9 0.9

in the text area as the propensity matrix for 4 node Lambda phage model.Enter 0 0 0 0 as the initial state for 4 node Lambda phage model.

Enter 1, 2, 3, 4 as the nodes of interest.

Enter 5 as the number of states for 4 node Lambda phage model.

Enter 50 as the number of steps for 4 node Lambda phage model.

Enter 100 as the number of simulations for 4 node Lambda phage model.

Note that "Plot of cell population simulation and Histogram for probability distribution" is always selected.

Select "Print Steady States" if you would like to know what the steady states are.

Select "Print Probability Transition Matrix" if you would like to see the probability transition matrix.

Click *Analyze* to view the outputs.