Skip to content. | Skip to navigation

Personal tools
    di Bernardo Lab - Systems and Synthetic Biology Lab
    You are here: Home Softwares Time Series Network Identification TSNI-integral

    Time Series Network Identification TSNI-integral

    The manuscript describing TSNI Integral can be downloaded here:

    • Inference of gene networks from temporal gene expression profiles. Mukesh Bansal, Diego di Bernardo. IET Systems Biology -- September 2007 -- Volume 1, Issue 5, p. 306-312 Abstract - PDF

    TSNI (Time Series Network Identification) assumes that the gene network can be modeled by the following system of ordinary differential equation to represent the rate of synthesis of a transcript as a function of the concentrations of every other transcript in a cell and the external perturbation.


    where <math>i = 1\dots N</math>; k = 1\dots M$; $x_i(t_k)$ </math>. is concentration of transcript $i$ measured at time $t_k$; $\dot{x}_i(t_k)$ is the rate of change of concentration of gene transcript $i$ at time $t_k$, i.e. the first derivative of the mRNA concentration of gene $i$ measured at time $t_k$; $a_{ij}$ represents the influence of gene $j$ on gene $i$ with a positive, zero or negative sign indicating activation, no interaction and repression respectively; $b_{il} $ represents the effect of $l^{th}$ perturbation on $x_i$ and $u_{l}(t_k)$ represents the $l^{th}$ external perturbation at time $t_k$.

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

    [network] = tsnif(data, time_points, perturbation, topd,restk, gene_perturbed)

    data: matrix that contains the experimental expression values; with dimension, number of genes X number of time points; in which first time points is scaled to zero (Not necessary).
    time_points: time points at which measurement are done; size is 1 X number of time_points; example: if measurement are taken every 20 minutes then use [0 20 40 ... last time point]/20, if measurement are taken every 10 minutes then use [0 10 20 ... last time point]/10, etc..
    Perturbation: is a row vector and it is an input to the system. Size is 1 X number of time_points. The vector contains a unit for each time point if the perturbation is not transient.
    topd: Keep it 5 for better performance.
    restk: sparsity of the network (number of incoming connection for gene). First element selected is always diagonal in the algorithm, so put it always greater than 1 and less than the number of time-points (e.g. if you have 15 time points, you should set restk to 3 or 4).
    gene_perturbed: 0 is you don't know which gene is perturbed, so the algorithm will also try to predict the perturbed gene, or if perturbation is known then numbers of the genes which are perturbed (e.g. if you perturbed gene 3 (where 3 refers to the third row of data) just write 3).

    TSNI matlab code can be dowloaded here

    This software is distributed only for non-commercial purposes and only for acedemic use - Commercial users please contact Diego di Bernardo (