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 <tarmo.aijo@tut.fi>


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