Gene regulatory network
A gene regulatory network (also called a GRN or genetic regulatory network) is a collection of DNA segments in a cell which 
interact with each other (indirectly through their RNA and protein expression products) and with other substances in the cell, thereby governing the rates at which genes in the network are transcribed into mRNA.

# Overview
At one level, biological cells can be thought of as "partially-mixed bags" of biological chemicals -- for the purposes gene regulatory networks, these chemicals are mostly the mRNAs and proteins that arise from gene expression.  These mRNA and proteins interact with each other with various degrees of specificity. Some diffuse around the cell. Others are bound to cell membranes, interacting with molecules in the environment. Still others pass through cell membranes and mediate long range signals to other cells in a multi-cellular organism.  These molecules and their interactions comprise a gene regulatory network. A typical gene regulatory network looks something like this:
The nodes of this network are proteins, their corresponding mRNAs, and protein/protein complexes. Nodes that are depicted as lying along vertical lines are associated with the cell/environment interfaces, while the others are free-floating and diffusible. Implied are genes, the DNA sequences which are transcribed into the mRNAs that translate into proteins. Edges between nodes represent individual molecular reactions, the protein/protein and protein/mRNA interactions through which the products of one gene affect those of another. These interactions can be inductive (the arrowheads), with an increase in the concentration of one leading to an increase in the other, or inhibitory (the filled circles), with an increase in one leading to a decrease in the other. A series of edges indicates a chain of such dependences, with cycles corresponding to feedback loops. The network structure is an abstraction of the system's chemical dynamics, describing the manifold ways in which one substance affects all the others to which it is connected.  In practice, such GRNs are inferred from the biological literature on a given system and represent a distillation of thec ollective knowledge about a set of related biochemical reactions.
Genes can be viewed as nodes in the network, with input being proteins such as transcription factors, and outputs being the level of gene expression. The node itself can also be viewed as a function which can be obtained by combining basic functions upon the inputs (in the Boolean network described below these are Boolean functions or gates computed using the basic AND, OR and NOT gates in electronics). These functions have been interpreted as performing a kind of information processing within the cell, which determines cellular behaviour. The basic drivers within cells are levels of some proteins, which determine both spatial (tissue related) and temporal (developmental stage) co-ordinates of the cell, as a kind of "cellular memory". The gene networks are only beginning to be understood, and it is a next step for biology to attempt to deduce the functions for each gene "node", to assist in modeling behaviour of a cell (see systems biology).
Mathematical models of GRNs have been developed to allow predictions of the models to be tested. The most common modeling technique involves the use of coupled ordinary differential equations (ODEs).  Several other promising modeling techniques have been used, including Boolean networks, Petri nets, Bayesian networks, graphical Gaussian models, Stochastic, and Process 
Calculi.  Conversely, techniques have been proposed for generating models of GRNs that best explain a set of time series observations.

# Modelling

## Coupled ODEs
It is common to model such a network with a set of coupled ordinary differential equations (ODEs) or stochastic ODEs, describing the reaction kinetics of the constituent parts. Suppose that our regulatory network has N nodes, and let S_1(t),S_2(t), \ldots, S_N(t) represent the concentrations of the N corresponding substances at time t . Then the temporal evolution of the system can be described approximately by
where the functions  f_j  express the dependence of S_j on the concentrations of other substances present in the cell.  The functions f_j are ultimately derived from chemical first principles, e.g. the law of mass action, or simple "second principles," e.g. like Michaelis-Menten enzymatic kinetics.  Hence, the functional forms of the f_j are usually chosen as low-order polynomials or Hill functions that serve as an ansatz for the real molecular dynamics. Such models are then studied using the mathematics of nonlinear dynamics. System-specific information, like reaction rate constants and sensitivities, are encoded as constant parameters.
By solving for the fixed point of the system:
for all j, one obtains (possibly several) concentration profiles of proteins and mRNAs that are theoretically sustainable (though not necessarily stable). Steady states of kinetic equations thus correspond to potential cell types, and oscillatory solutions to the above equation to naturally cyclic cell types. Mathematical stability of these attractors can ussually be characterized by the sign of higher derivatives at critical points, and then correspond to biochemical stability of the concentration profile. Critical points and bifurcations in the equations correspond to critical cell states in which small state or parameter perturbations could switch the system between one of several stable differentiation fates. Trajectories correspond to the unfolding of biological pathways and transients of the equations to short-term biological events. For a more mathematical discussion, see the articles on nonlinearity, dynamical systems, bifurcation theory, and chaos theory.

## Boolean network
The following example illustrates how a Boolean network can model a GRN together with its gene products (the outputs) and the substances from the environment that affect it (the inputs).  Stuart Kauffman was amongst the first biologists to use the metaphor of Boolean networks to model genetic regulatory networks .
- Each gene, each input, and each output is represented by a node in a directed graph in which there is an arrow from one node to another if and only if there is a causal link between the two nodes.
- Each node in the graph can be in one of two states: on or off.
- For a gene, "on" corresponds to the gene being expressed; for inputs and outputs, "on" corresponds to the substance being present.
- Time is viewed as proceeding in discrete steps.  At each step, the new state of a node is a Boolean function of the prior states of the nodes with arrows pointing towards it.
The validity of the model can be tested by comparing simulation results with time series observations.

## Continuous networks
Continuous network models of GRNs are an extension of the above. Nodes still represent genes and connections between them regulatory influences on gene expression. Genes in biological systems display a continuous range of activity levels and it has been argued that using a continuous representation captures several properties of gene regulatory networks not present in the Boolean model . Formally most of these approaches are similar to an Artificial Neural Network, as inputs to a node are summed up and the result serves as input to a sigmoid function, e.g.. However Proteins do often control gene expression in a synergistic, i.e. non-linear, way . However there is now a continuous network model  that allows grouping of inputs to a node thus realizing another level of regulation. This model is formally closer to a higher order Recurrent neural network. A similar model has also been used to mimick the evolution of Cellular differentiation .

## Stochastic gene networks
Recent experimental results  have demonstrated that gene expression is a stochastic process. Thus, many authors are now using the stochastic formalism, after the first work by . Works on single gene expression  and small synthetic genetic networks  provided additional experimental data on the phenotypic variability and the stochastic nature of gene expression. The first versions of stochastic models of gene expression involved only instantaneous reactions and were driven by the Gillespie algorithm.
Since some processes, such as gene transcription, involve many reactions and could not be correctly modeled as an instantaneous reaction in a single step, it was proposed to model these reactions as single step multiple delayed reactions in order to account for the time it takes for the entire process to be complete .
From here, a set of reactions were proposed  that allow generating GRNs. These are then simulated using a modified version of the Gillespie Algorithm, that can simulate multiple time delayed reactions (chemical reactions where each of the products is provided a time delay that determines when will it be released in the system as a "finished product").
For example, basic transcription of a gene can be represented by the following single-step reaction (RNAP is the RNA polymerase, RBS is the RNA ribosome binding site, and Pro_i is the promoter region of gene i):
\longrightarrow Pro_i(\tau _{i}^{1}) + RBS_i(\tau_{i}^{1})+ RNAP(\tau _{i}^{2}) 
A recent work proposed a simulator (SGNSim, ``Stochastic Gene Networks Simulator)
, that can model GRNs where transcription and translation are modeled as multiple time delayed events and its dynamics is driven by a stochastic simulation algorithm (SSA) able to deal with multiple time delayed events. 
The time delays can be drawn from several distributions and the reaction rates from complex
functions or from physical parameters. SGNSim can generate ensembles of GRNs within a set of user-defined parameters, such as topology. It can also be used to model specific GRNs and systems of chemical reactions. Genetic perturbations such as gene deletions, gene over-expression, insertions, frame shift mutations can also be modeled as well.
The GRN is created from a graph with the desired topology, imposing in-degree and out-degree distributions. Gene promoter activities are affected by other genes expression products that act as inputs, in the form of monomers or combined into multimers and set as direct or indirect. Next, each direct input is assigned to an operator site and different transcription factors can be allowed, or not, to compete for the same operator site, while indirect inputs are given a target. Finally, a function is assigned to each gene, defining the gene's response to a combination of transcription factors (promoter state). The transfer functions (that is, how genes respond to a combination of inputs) can be assigned to each combination of promoter states as desired.