Title: | R package for combining multiple scans |
---|---|
Description: | Estimates gene expressions from several laser scans of the same microarray |
Authors: | Mizanur Khondoker <[email protected]>, Chris Glasbey, Bruce Worton. |
Maintainer: | Mizanur Khondoker <[email protected]> |
License: | GPL (>= 2) |
Version: | 1.67.0 |
Built: | 2024-12-05 05:57:43 UTC |
Source: | https://github.com/bioc/multiscan |
Estimates gene expressions from multiple laser scans of microarrays using non-linear functional regression model with additive plus multiplicative errors.
multiscan(data, initial = NULL, na.rm = TRUE, verbose = FALSE, control = list())
multiscan(data, initial = NULL, na.rm = TRUE, verbose = FALSE, control = list())
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 () 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.
|
outerit |
Number of global iterations completed. |
loglf |
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.
## 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
## 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
This data set contains a subset of 1000 rows of murine macrophage array1
data (Khondoker et al., 2006). The data set has 4 columns corresponding to
4 laser scans of one channel of a microarray scanned at four different
scanner settings. This data set is used in an example to illustrate the
use of multiscan
package.
data(murine)
data(murine)
A 1000 by 4 data frame.
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.
This function provides plots for fitted model and standardised
residual for multiscan
fitted objects.
## S3 method for class 'multiscan' plot(x, residual=FALSE,...)
## S3 method for class 'multiscan' plot(x, residual=FALSE,...)
x |
a |
residual |
Logical. Should residuals be plotted instead of the
fitted model?. Defaults to |
... |
Further arguments passed to the |
Fitted model on the input data, after rescaling by the corresponding scanning effects, is plotted against the estimated gene expressions. Standardised residuals for each scan of data are plotted against the rank of estimated gene expressions.
Returns either one plot of the fitted model (residual=FALSE
) on the input data or
m
plots of the residuals (residual=TRUE
) corresponding to each scan of data.
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.
data(murine) fit<-multiscan(murine) ## plot the fitted model plot(fit) ## plot the residuals op<-par(mfrow=c(2,2)) plot(fit, residual=TRUE) par(op)
data(murine) fit<-multiscan(murine) ## plot the fitted model plot(fit) ## plot the residuals op<-par(mfrow=c(2,2)) plot(fit, residual=TRUE) par(op)