# Network Inference by Reverse-engineering NIR

As described in Gardner TS, di Bernardo D et al, Science 2003 and in di Bernardo D et al, Proceedings of the Pacific Symposium in BioComputing 2004, in the NIR approach the gene network dynamics, describing the time evolution of the mRNA concentration transcribed by each gene, is modeled by a set of Ordinary Differential Equations.

**In order to estimate the coefficient of the gene interactions NIR solves a linear regression problem for each gene considering a fixed number of k regressors. The regressor set is chosen according the residual sum of square error (RSS) minimization criterion. In this version, NIR exhaustively searches the best regressors in the space of all the possible k-tuples of genes. **

**Below the command-line to run NIR and a short description of its arguments:**

[A, sA, covA, DIAG] = nir(X, sX, P, sP, K,RIDGE,CONDMAX,W)

**X:** matrix that contains the experimental expression values; with dimension, number of genes x number of experiments;**sX:** matrix that contains the standard deviation of each observed value in X; it has the same dimension of X; **P:** matrix that contains the perturbations on the genes in each experiment; it has the same dimension of X; **sP:** matrix that contains the standard deviation of each value in P; **K:** number of regressors for each gene; **RIDGE:** user defined parameters for ridge regression (optional); **W:** optional weight parameter; **A:** the adjacency matrix of the inferred network **sA:** matrix containing the variance of each weight **covA:** matrix containing the covariance matrix of the network **DIAG:** struct containing statistics/diagnostics on the fit

**NIR is coded in MATAB. The NIR code can be dowloaded here. If you do not have MATLAB you can run the code also on the Open Source OCTAVE enviroment.**