The "BlockHyperParameters" Class

Description

Provides tools to create a CancerEngine with block correlation structure. Also makes it possible to simulate paired clinical and gene expression data with this block structure.

Usage

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
BlockHyperParameters(nExtraBlocks=100,
                     meanBlockSize=100,
                     sigmaBlockSize=30,
                     minBlockSize=5,
                     mu0=6,
                     sigma0=1.5,
                     rate=28.11,
                     shape=44.25,
                     p.cor=0.6,
                     wt.cor=5)
makeBlockStructure(cm, hyperp, xform=normalOffset, ...)

Arguments

cm

object of class CancerModel

hyperp

object of class BlockHypeParameters

nExtraBlocks

integer scalar specifying number of blocks not involved in the "hit" structure defined by the CancerModel

meanBlockSize

numeric scalar specifying mean number of genes in a correlated block

sigmaBlockSize

numeric scalar specifying standard deviation of the number of genes in a correlated block

minBlockSize

integer scalar specifying minimal number of genes in a correlated block

mu0

numeric scalar specifying expected mean expression level of a gene on the log scale

sigma0

numeric scalar specifying standard deviation of the mean expression level of a gene on the log scale

rate

numeric scalar specifying one of the gamma parameters

shape

numeric scalar specifying one of the gamma parameters

p.cor

numeric scalar specifying expected correlation within each block

wt.cor

numeric scalar specifying weight given to the expected block correlation

xform

A function that will be passed to the alterMean method

...

extra arguments that wil be passed back to the xform function

Details

Our standard model for gene expression in a homogeneous sample assumes that the overall correlation matrix is block diagonal. Correlation between genes in different blocks is assumed to be zero. Correlation for genes in the same block is assumed to be a constant, but different correlation constants can be used in different blocks. The actual correlations are assumed to arise from a beta distribution of the form Beta(pw, (1-p)w), where p=p.cor and w=wt.cor are two of the hyperparameters.

The number of blocks is determined jointly by the CancerModel, cm, and the hyperparameter nExtraBlocks. The size of a block is assumed to arise from a normal distribution with mean given by meanBlockSize and standard deviaion given by sigmaBlockSize. To avoid accidentally assigning non-postive block sizes, this distribution is truncated below by minBlockSize.

The expression of each gene is assumed to come from a log-nor,mal distribution with parameters describing the per-gene mean (μ_g) and standard deviation (σ_g) n the log scale. These parameters, in turn, are assumed to come from hyperdistributions. Specifically, we assume that μ_g comes from a normal distribution with mean mu0 and standard deviation sigma0. We also assume that σ_g comes from an inverse gamma distribution with parameters rate and shape.

The BlockHyperParameters class simpy bundles the parameters for this model into a single structure. The default values are consistent with data we have seen from several Affymetrix microarray studies.

The makeBlockStructure function takes a CancerModel and a BlockHyperParameters object as arguments and produces a CancerEngine object. The rand method for this class can be used to generate matched clinical data (with the structure defined by the CancerModel object) and gene expression data with the specified block correlation structure.

Value

The BlockHyperParameters generator returns an object of class BlockHyperParameters.

The function makeBlockStructure returns an object of the CancerEngine class.

Objects from the Class

Although objects of the class can be created by a direct call to new, the preferred method is to use the BlockHyperParameters generator function.

Slots

nExtraBlocks:

An integer; the number of blocks not involved in the "hit" structure defined by the CancerModel.

meanBlockSize:

A real number; the mean number of genes in a correlated block.

sigmaBlockSize:

A real number; standard deviation of the number of genes in a correlated block.

minBlockSize:

An integer; the minimal number of genes in a correlated block.

mu0:

A real number; the expected mean expression level of a gene on the log scale.

sigma0:

A real number; the standard deviation of the mean expression level of a gene on the log scale.

rate:

Gamma parameter; see details.

shape:

Gamma parameter; see details.

p.cor:

A real number; the expected correlation within each block.

wt.cor:

A real number; the weight given to the expected block correlation.

Methods

There are no special methods defind for this class.

Author(s)

Kevin R. Coombes krc@silicovore.com, P. Roebuck proebuck@mdanderson.org

References

OOMPA

See Also

CancerModel, CancerEngine

Examples

1
2
3
4
5
6
7
8
9
showClass("BlockHyperParameters")
sm <- SurvivalModel(baseHazard=1/3, units=52, unitName="weeks")
cm <- CancerModel("myModel", nPossible=10, nPattern=5,
                  survivalModel=sm)
hyper <- BlockHyperParameters()
engine <- makeBlockStructure(cm, hyper)
outcome <- rand(engine, 100)
summary(outcome$clinical)
dim(outcome$data)