puma logo
pplr: R package for detecting differential gene expression

pplr is an R package that detects differential gene expression by including probe-level measurement error and calculating the probability of positive log-ratio (PPLR). It is a part of PUMA project.  

Why is pplr different from other detecting differential gene expression methods? 

There are two main reasons that make the detection of differential gene expression difficult. One is that the noisy nature of microarray data requires a reasonable probabilistic model to characterise the variability in probe data (within-chip variance). Another is that the small number of replicates makes it difficult to obtain an accurate variance estimate for each gene across replicates (between-replicate variance). Many approaches have been devised to address the second difficulty and obtain accurate between-replicate variance. Most of these methods are based on single point estimates of gene expression values. Few methods include within-chip variance in finding differential gene expression. pplr is used to include probe-level measurement error into the variance estimate of gene expression levels and makes use of this improved variance to detecting down and up-regulated genes by the calculation of the PPLR. The probe-level measurement error are calculated from the R package mmgmos.

pplr uses a Bayesian hierarchical model to combine probe-level measurement error and between-replicate variance and adopts the variational method to estimate the parameters. Following a whole Bayesian approach, pplr calculates the probability of positive log-ratio (PPLR) to detect the up-regulated genes rather than calculates p-value. Down-regulated genes can also be found by calculating the probability of negative log-ratio.


pplr is free software; you can redistribute if and/or modify it under the terms of the GNU General Public License. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY. We do appreciate your citation of our publications or website.

A copy of user guide can be downloaded here. It is also included in the distribution.

Linux add-on package
Windows add-on package
R version requirement
Adding a seed to make sure the same results are obtained for each run. Allow some conditions to have only one chip.
Implementing MAP estimation 'map' for the Bayesian hierarchical model and replacing 'sha' with it. Replacing the name of method 'shaconj' with 'em'.
Fixing bugs for method 'sha'.
Combining probe-level variance with between-replicate variance and calculating PPLR to detect up-regulated genes.

FAQ and bug report

1. What is the requirement of the installation of pplr?

In order to install pplr, you need to have R 2.2.0 and BioConductor 1.7 installed. For the installation of R and BioConductor please refer to R project and BioConductor.org respectively.

2. How to install pplr?

Download the add-on package from the links above and save it to your local disk. For Linux users, at the directory where it is saved type
>R CMD INSTALL pplr_x.x.x.tar.gz
to install it. For Windows users, use 'Install package(s) from local zip files ...' item in 'packages' menu to install.

3. What if I spot a fault in pplr?

We are keen for feedback on pplr. If you experience a problem or bug, please report it via mailto:liux@cs.man.ac.uk. Any suggestion and comment are welcome.

Back to PUMA project