Learn R Programming

NTW (version 1.22.0)

AP.estimation.Srow: Estimation of a single row in gene interaction matrix A and perturbation targets matrix P

Description

Estimating a single row of gene interaction matrix A and identifying the perturbations which target the corresponding gene of the row. For perturbation identifications, multiple perturbations are considered for one target (gene). Combinations of perturbations are first assumed fixed. The single row in A are then regressed according to equation AX=P with one of the three regression methods, geo ,sse and ml. All these combinations will finally be optimized according to the difference between the predicted X with the estimated A and P and the experimental values.

Usage

AP.estimation.Srow(r, cMM.corrected, pred.net, X, IX, topD, restK, cFlag, sup.drop, numP, noiseLevel)

Arguments

r
A number indicating the row of A and P to be estimated.
cMM.corrected
A flag to indicate whether a prior network is applied.
pred.net
A matrix with the same dimensions of A for the prior network, which should be specified if cMM.corrected is 1, default is NULL.
X
Gene expression data, a matrix with genes as rows and perturbations as columns.
IX
The pre-estimated P matrix according to the gene expression data X, with the same dimensions of X or P.
topD
A parameter in NTW algorithm for keeping the top topD combinations of non-zero regressors of row r in A, see vignette for details.
restK
A vector (length equals to nrow(A)) with each element to indicate the number of non-zero regressors in the corresponding row of A.
cFlag
A flag to identify the regression methods, "geo" for geometric mean method, "sse" for sum of square method and "ml" for maximum likelihood method.
sup.drop
A flag to show the pattern for using the prior gene association information. 1 for "forward" pattern and -1 for "backward" pattern.
numP
A number set to limit the possibilities that one gene will be targeted by perturbations. That is at most numP perturbations can directly perturb one gene.
noiseLevel
Only used in "ml" method, to indicate the noise level in each perturbed experiment.

Value

A.row
Estimation of the row r in A.
P.index
A vector to show which perturbations target the gene corresponding to row r.

Examples

Run this code
##single row estimation without prior gene association information, regression is done by "sse"##
data(sos.data)
X<-sos.data
X<-as.matrix(X)
IX<-P.preestimation(X, topK= round(2*nrow(X)))
restK=rep(ncol(X)-1, nrow(X))
topD = round(0.6*nrow(X))
topK = round(0.5*nrow(X))
numP = round(0.25*nrow(X))
result<-AP.estimation.Srow(r=1,cMM.corrected = 0, pred.net= NULL,X, IX,topD, restK,
               cFlag="sse",sup.drop = -1, numP, noiseLevel=0.1)
result$A.row
result$P.index

###single row estimation with prior gene association information, regression is done by "geo"###
pred.net<-matrix(round(runif(nrow(X)*nrow(X), min=0, max=1)), nrow(X), ncol(X))
result<-AP.estimation.Srow(r=1,cMM.corrected = 1, pred.net,X, IX,topD, restK,
             cFlag="geo",sup.drop = -1, numP, noiseLevel=0.1)
result$A.row
result$P.index 

Run the code above in your browser using DataLab