Description Usage Arguments Details Value References See Also Examples
Estimates gene expressions from multiple laser scans of microarrays using nonlinear 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 memoryintensive. 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 NelderMead
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
generalpurpose optimization tool optim
, for
implementing the NelderMead 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
NelderMead algorithm. If 1
, tracing information on the progress of the
optimization is produced. Because NelderMead 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 NelderMead iterations.
Defaults to 5000
.
reltol
Relative convergence tolerance of NelderMead.
The algorithm stops if it is unable to reduce the value by a factor of
reltol * (abs(val) + reltol)
at a step. Defaults to 1e5
.
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 1e10
.
alpha
, beta
, gamma
Scaling parameters
for the NelderMead 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 (nonfree IMSL routine) implementation of NelderMead 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.