ADAM uses a combination of simulation and mathematical algorithms to analyze the dynamics of discrete biological systems. It can analyze bounded Petri-nets (generated with Snoopy), Logical Models (in GINSim format), Polynomial Dynamical Systems (PDS), open Polynomial Dynamical Systems (oPDS), Probabilistic Boolean (or multistate) Networks, Stochastic Discrete Dynamical Systems (SDDS), and open Stochastic Discrete Dynamical Systems (oSDDS). For small enough networks (deterministic or probabilistic), ADAM simulates the complete state space of the model and finds all attractors (steady states and limit cycles) together with statistics about the size of components. For larger networks, ADAM computes fixed points for both deterministic and probabilistic networks, and limit cycle of the length specified by the user for deterministic networks. You can follow our step-by-step tutorial or read the user guide. It is important that you follow the format specified in the guide. Make your selections and provide inputs (if any) in the form below and click Analyze to run the software. To generate a model from experimental time course data, you can use Polynome.

1)
I want to
build a new model from experimental data;
analyze an existing model;
find optimal control for an existing model.
Build new model: Build a new model based on your experimental data.
Analyze existing model: Enter an existing model here. You can then analyze it for its long term behavior, and for small enough models obtain a picture of the phase space.
Heuristic Control: Experimental feature: find the optimal knock out strategy for a given network. You might first need to build your network from experimental data or convert a Petri net or logical model to a polynomial dynamical system.
2)
Build your model from transition tables.
Continuous
Model Type
Polynomial Dynamical Systems (PDS)
Open Polynomial Dynamical System (oPDS)
Boolean Network
Probabilistic Polynomial Dynamical Systems (pPDS)
Petri Net (Snoopy file)
Logical Model (GINsim file)
Stochastic Discrete Dynamical Systems (SDDS)
Open Stochastic Discrete Dynamical Systems (oSDDS)
Optimal control
Please enter the desired steady state:

Please Enter Weights for Each Node:


Enter number of states per node:
Enter the k-bound:
Enter the transition table based on your experimental data for each variable to obtain a polynomial dynamical systems. A table, where the top row consists of the names of the variables, the other rows are the inputs states at time t, and the right most column is the output value at time (t+1). Missing rows are assumed to have output value 0. Entries should be separated by white space. When continuous is checked, there will not be any jumps in the generated model, i.e., every variable changes its value by at most 1 at every time step.
You can enter a polynomial dynamical systems (PDS), an open polynomial dynamical systems (oPDS), a probabilistic polynomial dynamical systems (or probabilistic Boolean network), a Petri net generated with Snoopy, a logical model generated with GINsim, a stochastic discrete dynamical systems (SDDS), or an open Stochastic Discrete Dynamical Systems (oSDDS).
Boolean network: Converts GINsim file to a polynomial system that ADAM will then proceed to analyze. Also outputs the variables and the converted system. Files must be ginml files, if you have an archive (zginml), please unzip it first.
GINsim File: Converts GINsim file to a polynomial system that ADAM will then proceed to analyze. Also outputs the variables and the converted system. Files must be ginml files, if you have an archive (zginml), please unzip it first.
PDS: Polynomial Dynamical Systems. Operations are interpreted as polynomial addition and multiplication.
pPDS: Probabilistic Polynomial Dynamical Systems. Each nodes has several update rules, at each iteration, one is picked at random.
Petri Net: A (standard) Petri net generated with Snoopy. The Petri net must be k-bounded, and k must be entered on the left. This is an experimental feature, if you want to analyze the dynamics of the network, please copy and paste the generated PDS into ADAM.

SDDS: Stochastic Discrete Dynamical Systems is a useful tool to generate and analyze mathematical models in systems biology, and it is suitable for cell population simulation. The inputs for SDDS: a file for the (complete) transition table or functions, propensity matrix, an initial state, nodes of interest, the number of states, the number of steps, and the number of simulations. See an example...

oPDS: Open Polynomial Dynamical Systems is used to analyze the (deterministic) open system, which interacts with its environment, under different environmental conditions. In addition to PDS, the user should specify the external parameters that the system interacts with. Update functions can have some external parameters.

oSDDS: Open Stochastic Discrete Dynamical Systems is a useful tool to analyze the (stochastic) open models, which interacts with its environment, under different environmental conditions. In addition to SDDS, the user should enter a file for functions, and specify the external parameters that the system interacts with. Update functions can have some external parameters.
Please enter the gene regulatory network as a polynomial dynamical system. ADAM will find the optimal combination of knockouts (that is those with the least cost where the cost is dependent on the inputted weights) using an adaptive genetic algorithm. Please enter the desired steady state and the weight for each respective gene (in numerical order e.g. the first entry would correspond to the first gene) separated by white space.

The number of states indicates the maximum number of different discrete values your variables can take on. This number must be a prime number. If it is not, please enter the next largest prime.
3)
Model Input:


File for the transition table/functions (.txt):
Upload a file (.txt) for the polynomials corresponding to
the system OR enter them directly into the text area:


File for the functions (.txt):


The propensity matrix:


Initial state :

Nodes of interest :

Number of states :

Number of steps :

Number of simulations :
The external parameters:


The propensity matrix:


Initial state :

Nodes of interest :

Number of states :

Number of steps :

Number of simulations :
Upload a file or enter it directly into the text area.

Either the transition table or functions must be uploaded. The transition table (e.g.) must contain all possible states. In each row, the states must be seperated by an arrow, -> , and each variable in a state must be seperated by a space. The format for each line is: 0 0 -> 1 0. On the other hand, the functions (e.g.) must be the updating function of each node. f1, f2, f3,... represent the functions, whereas x1,x2,... represent the nodes in the system.

In the propensity matrix, the number of rows must be equal to the number of nodes, the number of columns must be 2 (the first column is for activation and the second column is for degradation), and each propensity entries must be seperated by a space. For random simulations, each entry should be 0.5. The format for each row is: 0.3 0.7.

The initial state is the starting point for all trajectories, and it must be separated by a space. The format is: 0 1.

The nodes of interest are the ones of which you would like to see the behavior in the plot of cell population simulation. It must be seperated by a comma and the number of these nodes cannot be more than 5. The format is: 1, 2.

The number of states which indicates the maximum number of different discrete values your variables can take on. This number must be a prime number. If the function file is uploaded and the number of discrete values is not a prime number, please enter the next largest prime; this is not valid if the transition table is used.

The number of steps which indicates how many states a trajectory must have after the initial state. For instance, if the number of steps is 3, then the trajectory consists of 4 states and the first state in the trajectory is the initial state.

The number of simulations which determines how many simulations is needed for the system. If you would like to see only 1 cell population simulation, then the number of simulations should be 1.


The file for functions must be uploaded. The functions (e.g.) must be the update function of each node. f1, f2, f3,... represent the functions, whereas x1,x2,... represent the nodes in the system. Since it is an open system, external parameters may appear in the functions.

External parameters should be entered directly into the text area. There must be only one external parameter for each line.

In the propensity matrix, the number of rows must be equal to the number of nodes, the number of columns must be 2 (the first column is for activation and the second column is for degradation), and each propensity entries must be seperated by a space. For random simulations, each entry should be 0.5. The format for each row is: 0.3 0.7.

The initial state is the starting point for all trajectories, and it must be separated by a space. The format is: 0 1.

The nodes of interest are the ones of which you would like to see the behavior in the plot of cell population simulation. It must be seperated by a comma and the number of these nodes cannot be more than 5. The format is: 1, 2.

The number of states which indicates the maximum number of different discrete values your variables can take on. This number must be a prime number. If the function file is uploaded and the number of discrete values is not a prime number, please enter the next largest prime; this is not valid if the transition table is used.

The number of steps which indicates how many states a trajectory must have after the initial state. For instance, if the number of steps is 3, then the trajectory consists of 4 states and the first state in the trajectory is the initial state.

The number of simulations which determines how many simulations is needed for the system. If you would like to see only 1 cell population simulation, then the number of simulations should be 1.






Enter external parameters directly into
the text area; one for each line:


4)
What analysis would you like to run?
Simulation of all trajectories (< 20 nodes )
Algorithms (suggested for nodes > 20)
The network I entered is conjuntive (or disjunctive) and I would like to make use of an efficient algorithm for these kind of networks.
Plot of cell population simulation and Histogram for probability distribution
Would you like to see a
Dependency graph
State space graph
Feedback Circuit
Print probabilities
Print Steady States
Print Probability Transition Matrix