Learn R Programming

NormalGamma (version 1.1)

NormalGamma-package:

Background correction using the normal+gamma model

Description

The NormalGamma package is devoted to the density convolution model Y = X + N where X and N are independent variables with respectively gamma and normal distributions. For this model called further normal-gamma convolution model, this package proposes the computation of the convoluted density, the parameter estimation by likelihood maximization and the background correction obtained by deconvolution.

This package has been used to implement the background correction method for Illumina microarray data presented in Plancade S., Rozenholc Y. and Lund E., BMC Bioinfo 2012.

Arguments

Details

Package:
NormalGamma
Type:
Package
Version:
001.0
Date:
2011-12-20
License:
GPL-3
The NormalGamma package includes three functions and a data set:

dnormgam computes the convolution product of a normal and a gamma densities.

normgam.fit computes the Maximum Likelihood Estimator of the parameters.

normgam.signal performs the normal-gamma background correction.

Intensities provides data from one Illumina microarray.

References

Plancade S., Rozenholc Y. and Lund E. "Generalization of the normal-exponential model : exploration of a more accurate parametrisation for the signal distribution on Illumina BeadArrays", BMC Bioinfo 2012, 13(329).

Examples

Run this code

# Load Illumina microarray data previously transformed into two sets of intensities
# corresponding to negative and regular probes.

## Not run: 
# 
# data(RegNegIntensities_Example)
# 
# X = Intensities$Regular
# N = Intensities$Negative
# 
# ## Compute the maximum likelihood estimator:
# parmle = normgam.fit(X, N)$par
# 
# par(mfrow=c(2,1)) # split windows for post comparison
# 
# ## plot the histogram and the estimated density:
# F = dnormgam(parmle, plot=FALSE) 
# 
# 
# H = histogram(X, type='irregular', verbose=FALSE, plot=FALSE) 
# plot(H, xlim=c(0,500))
# lines(F$xout, F$dout, col='red')
# 
# # Perform the normal-gamma background correction: 
# Shat = normgam.signal(X,parmle)
# H = histogram(Shat, type='irregular', verbose=FALSE, plot=FALSE) 
# plot(H, xlim=c(0,30))
# 
# ## End(Not run)




Run the code above in your browser using DataLab