Description Usage Arguments Details Value References See Also Examples
Estimates gene expressions from multiple laser scans of microarrays using non-linear functional regression model with additive plus multiplicative errors.
1 |
data |
A numeric matrix or data frame containing the intensity data
of a single microarray scanned at multiple (two or more) scanner settings. For
dual channel arrays, |
initial |
A vector of length |
na.rm |
Logical. Should missing values be removed? Defaults to |
verbose |
Logical. If |
control |
A list of control parameters. See ‘Details’. |
The function implements the method of Khondoker et. al. (2006)
for combining multiple laser scans of microarrays. This function is
computationally slow and memory-intensive. That is due to the nested
iteration loops of the numerical optimization of the likelihood
function involving a large number (n+m+2) of parameters. The
optimization uses an alternating algorithm with the Nelder-Mead
simplex method (Nelder and Mead, 1965) in the inner loops. The function multiscan
directly uses the C function nmmin
, the internal code used in the
general-purpose optimization tool optim
, for
implementing the Nelder-Mead simplex method. For large data sets with many tens of thousands of probes, it
is recommended to consider first fitting the model using a random
subset (e.g. 10,000 rows) of the data matrix, and then using the
estimated scanning effects and scale parameters obtained as initial
values for fitting the model to the full data set.
The control
is a list of arguments. The users can change/supply any of the
following components:
trace
Indicator (0
or 1
) of tracing information of
Nelder-Mead algorithm. If 1
, tracing information on the progress of the
optimization is produced. Because Nelder-Mead may be callled thousands of times
during the estimation process, setting trace = 1
will print too much
information very rapidly, which may not be useful. Defaults to 0
.
gmaxit
The maximum number of global iterations. Defaults to 150
.
maxit
The maximum number of Nelder-Mead iterations.
Defaults to 5000
.
reltol
Relative convergence tolerance of Nelder-Mead.
The algorithm stops if it is unable to reduce the value by a factor of
reltol * (abs(val) + reltol)
at a step. Defaults to 1e-5
.
globaltol
Convergence tolerance of the outer (alternating) iteration.
The estimation process converges if the gain in loglikelihood from one complete cycle
of the outer iteration is less than globaltol
. Defaults to 1e-10
.
alpha
, beta
, gamma
Scaling parameters
for the Nelder-Mead method. alpha
is the reflection
factor (default 1.0), beta
the contraction factor (0.5) and
gamma
the expansion factor (2.0).
Returns an object of class multiscan
with components
call |
The call of the |
beta |
A vector of length |
scale |
A vector of length |
mu |
A vector of length |
data |
A matrix of the input data with columns rearranged in order of scanner's sensitivity. |
fitted |
A matrix of the fitted model on the |
sdres |
A matrix of the standardised residuals. |
outerit |
Number of global iterations completed. |
gconv, conv, convmu |
Integer convergence codes.
|
|
Number of global iterations completed. |
|
Value of the loglikelihood function at convergence ( |
Khondoker, M. R., Glasbey, C. A. and Worton, B. J. (2006). Statistical estimation of gene expression using multiple laser scans of microarrays. Bioinformatics 22, 215–219.
Nelder, J. A. and Mead, R. (1965). A simplex method for function minimization. The Computer Journal 7 308–313.
A web interface, created by David Nutter of Biomathematics & Statistics Scotland (BioSS), based on the original
Fortran code written by Khondoker et al. (2006) is available at
http://www.bioss.ac.uk/ktshowcase/create.cgi. Although it uses the same algorithm,
results from the web interface may not be exactly identical to that of
multiscan
as it uses a different (non-free IMSL routine) implementation of Nelder-Mead simplex.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 | ## load the multiscan library
library(multiscan)
## load the murine data set included in multiscan package
data(murine)
murine[1:10, ] ## see first few rows of data
## fit the model on murine data with default options
fit <- multiscan(murine)
fit
## plot the fitted model
plot(fit)
## get the estimated gene expressions
gene.exprs <- fit$mu
## see more details as iteration progresses
fit1 <- multiscan(murine, verbose = TRUE)
fit1
|
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.