SYNOPSIS: GP4GRN GRN inference method based on the use of ODE and Gaussian processes usage: vertices = gp4grn(timeseries, steady, n_timepoints, itermax, delay, zom, max_reg, B, b) where: vertices is the connectivity matrix (element [vertices]_{ij} is the probability that gene i regulates gene j) timeseries is a K by N matrix of combined timeseries data (N is the number of genes and K is the number of timepoints in M timeseries experiments), give [] in case of no timeseries data steady is a L by N matrix of combined steady-state data (N is the number of genes and L is the number of steady-state experiments), give [] in case of no steady-state data n_timepoints number of timepoints in each of the timeseries measurements (1 by M vector, default value is the number of rows in the timeseries matrix) itermax is the number of maximum iterations in the optimization (default is 50), it is good idea to increase this delay is the delay in the model for timeseries data (default is 0, which should be a safe choice) zom use zero-order model (no=0 and yes=1, default is 1)) max_reg maximum number of regulators per gene (default is 3) B covariance matrix of the linear regression coefficients, (basal and degradation, 2 by 2, default is [0.01 0;0 0.01], you should really play with this, especially with small datasets .. this depends on the variance of the data and it is good idea to try deviate the parameters and check how much the result is affected, because with good parameter values the result should not be too sensitive to the parameters) b mean vector of the linear regression coefficients, (basal and degradation, 2 by 1, default is [0; 0]) The GPML Matlab code is written by Carl Edward Rasmussen. Author: Tarmo Äijö EXAMPLES: >> gp4grn(rand(50,4),[],50) - 4 genes and one time-series data set (50 timepoints) >> gp4grn([rand(50,4); rand(20,4)],[],[50 20]) - 4 genes and two time-series data sets (50 and 20 timepoints) >> gp4grn([],rand(10,4),0,20) - 4 genes and one steady-state data set (10 experiments) and 20 optimization iterations >> gp4grn([rand(15,8); rand(10,8)],rand(4,8),[50 20]) - 8 genes and two time-series data sets (50 and 20 timepoints) and one steady-state data set (4 experiments) >> gp4grn([rand(10,5);rand(13,5);rand(5,5)],rand(6,5),[10 13 5],100,0,0,2,[1 0;0 1],[1; 1]) - 5 genes and three time-series data sets (10, 13 and 5 timepoints) and one steady-state data (5 experiments) - 100 optimization iterations, delay is 0, zero-order model is disabled and the models consists 1 and 2 regulators per gene - the covariance matrix is [1 0; 0 1] and the mean vector [1; 1] KNOWN ISSUES: Those datasets where a given gene X have been knockout should not be used to infer the interactions to gene X, and thus it is needed to modify, e.g., the gp4grn_caller function based on the format of the data. If you encounter following error: ??? Error using ==> chol Matrix must be positive definite. you should reduce the number of optimization iterations (itermax). This is due to numerical error. Updated: 27.9.2009