hem {HEM} | R Documentation

## Heterogeneous Error Model (HEM) for Microarray Data

### Description

Fits an error model with heterogeneous experimental and biological variances.

### Usage

    hem(dat, tr=" ", n.layer, design, burn.ins=1000, n.samples=3000,
        method.var.e="gam", method.var.b="gam", method.var.t="gam",
        var.e=NULL, var.b=NULL, var.t=NULL, var.g=1, var.c=1, var.r=1,
        alpha.e=3, beta.e=.1, alpha.b=3, beta.b=.1, alpha.t=3, beta.t=.2,
        n.digits=10, print.message.on.screen=TRUE)

### Arguments

`dat` | data
`tr` | if "log2", "log10", or "loge", then log-transformation (with base 2, 10, or e respectively) is taken.
`n.layer` | number of layers; 1=one-layer EM, 2=two-layer EM
`design` | design matrix
`burn.ins` | number of burn-ins for MCMC
`n.samples` | number of samples for MCMC
`method.var.e` | prior specification method for experimental variance; "gam"=Gamma(alpha,beta), "peb"=parametric EB prior specification, "neb"=nonparametric EB prior specification
`method.var.b` | prior specification method for biological variance; "gam"=Gamma(alpha,beta), "peb"=parametric EB prior specification
`method.var.t` | prior specification method for total variance; "gam"=Gamma(alpha,beta), "peb"=parametric EB prior specification, "neb"=nonparametric EB prior specification
`var.e` | prior estimate matrix for experimental variance
`var.b` | prior estimate matrix for biological variance
`var.t` | prior estimate matrix for total variance
`var.g` | N(0, var.g); prior parameter for gene effect
`var.c` | N(0, var.c); prior parameter for condition effect
`var.r` | N(0, var.r); prior parameter for interaction effect of gene and condition
`alpha.e, beta.e` | Gamma(alpha.e,alpha.e); prior parameters for inverse of experimental variance
`alpha.b, beta.b` | Gamma(alpha.b,alpha.b); prior parameters for inverse of biological variance
`alpha.t, beta.t` | Gamma(alpha.b,alpha.b); prior parameters for inverse of total variance
`n.digits` | number of digits
`print.message.on.screen` | if TRUE, process status is shown on screen.

### Value

`n.gene` | numer of genes
`n.chip` | number of chips
`n.cond` | number of conditions
`design` | design matrix
`burn.ins` | number of burn-ins for MCMC
`n.samples` | number of samples for MCMC
`priors` | prior parameters
`m.mu` | estimated mean expression intensity for each gene under each condition
`m.x` | estimated unobserved expression intensity for each combination of genes, conditions, and individuals (n.layer=2)
`m.var.b` | estimated biological variances (n.layer=2)
`m.var.e` | estimated experiemental variances (n.layer=2)
`m.var.t` | estimated total variances (n.layer=1)
`H` | H-scores

### Author(s)

HyungJun Cho, PhD, and Jae K. Lee, PhD,
Division of Biostatistics and Epidemiology
Department of Health Evaluation Sciences
University of Virginia School of Medicine
(hcho@virginia.edu; jaeklee@virginia.edu)

### References

Cho, H. and Lee, J.K. (2004) Bayesian Hierarchical Error Model for Analysis of Gene Expression Data, Bioinformatics, 20: 2016-2025.

### See Also

`hem.eb.prior`, `hem.fdr`

### Examples

    #Example 1: Two-layer HEM

    data(pbrain)

    ##construct a design matrix
    cond <- c(1,1,1,1,1,1,2,2,2,2,2,2) #condition
    ind  <- c(1,1,2,2,3,3,1,1,2,2,3,3) #biological replicate
    rep  <- c(1,2,1,2,1,2,1,2,1,2,1,2) #experimental replicate
    design <- data.frame(cond,ind,rep)

    ##normalization
    pbrain.nor <- hem.preproc(pbrain[,2:13])

    ##fit HEM with two layers of error
    ##using the small numbers of burn-ins and MCMC samples for a testing purpose;
    ##but increase the numbers for a practical purpose
    pbrain.hem <- hem(pbrain.nor, n.layer=2, design=design,
                      burn.ins=10, n.samples=30)

    ##print H-scores
    pbrain.hem$H

    #Example 2: One-layer HEM

    data(mubcp)

    ##construct a design matrix
    cond <- c(rep(1,6),rep(2,5),rep(3,5),rep(4,5),rep(5,5))
    ind  <- c(1:6,rep((1:5),4))
    design <- data.frame(cond,ind)

    ##construct a design matrix
    mubcp.nor <- hem.preproc(mubcp)

    #fit HEM with one layers of error
    #using the small numbers of burn-ins and MCMC samples for a testing purpose;
    #but increase the numbers for a practical purpose
    mubcp.hem <- hem(mubcp.nor, n.layer=1,design=design,
                 burn.ins=10, n.samples=30)

    ##print H-scores
    mubcp.hem$H

    ###NOTE:
    ###see help(hem.eb.prior) for examples
    ###    with Empirical Bayes (EB) prior sepecification
    ###see help(hem.fdr)  for examples with FDR evaluation

[Package HEM version 1.0.4 Index]