multiscan(data, initial = NULL, na.rm = TRUE, verbose = FALSE, control = list())multiscan should be run on each channel of data separately.
The number of rows (n) is equal to the number of spots/probes on the array,
and the number of columns (m) equals the number of scans. Columns will be
arranged in order of scanner's sensitivity before fitting the model. Replicated
probes on the array are treated as individual spots.m+2 to be used as initial values for
the scanning effects $(\beta_2, \cdots, \beta_m)$ and scale
$(\sigma_1, \sigma_2, \nu)$ parameters. If it is NULL (default), the
initial values are determined from the data.TRUE.TRUE, some intermediate results are printed
as the iteration proceeds.multiscan with components
multiscan function.m containing the maximum likelihood estimates of
the scanning effects, the first component fixed at 1.3 containing the maximum likelihood estimates of
the scale parameters $\sigma_1, \sigma_2, \mbox{and} \nu$.n containing the estimated gene expressions.data.gconv0 indicates successful convergence,
1 indicates premature termination.conv0 for successful convergence,
1 indicates that the iteration limit maxit had been reached, 10
indicates degeneracy of the Nelder-Mead simplex method.convmun where
each component takes the value 0, 1, or 10 depending on whether the
Nelder-Mead simplex method successfully converged, reached iteration limit maxit or produced
degeneracy respectively while updating the corresponding gene expression parameter.outeritloglfgconv=0). NA
if not converged (gconv=1).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:
trace0 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.
gmaxit150.maxit5000.reltolreltol * (abs(val) + reltol) at a step. Defaults to 1e-5.
globaltolglobaltol. Defaults to 1e-10.alpha, beta, gammaalpha is the reflection
factor (default 1.0), beta the contraction factor (0.5) and
gamma the expansion factor (2.0).
Nelder, J. A. and Mead, R. (1965). A simplex method for function minimization. The Computer Journal 7 308--313.
multiscan as it uses a different (non-free IMSL routine) implementation of Nelder-Mead simplex.
## 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
Run the code above in your browser using DataLab