source: plugins/base2/net.sf.basedb.illumina/trunk/README_PluginDetails @ 1122

Last change on this file since 1122 was 1122, checked in by Jari Häkkinen, 14 years ago

Fixes #227.

  • Property svn:eol-style set to native
  • Property svn:keywords set to Id
  • Property svn:mime-type set to text/x-trac-wiki; charset=utf-8
File size: 3.8 KB

$Id: README_PluginDetails 1122 2009-06-10 21:41:55Z jari $


There are many plug-ins in the Illumina plug-in package for BASE. This file gives detailed information on some of the contributed plug-ins.

Illumina detection P-value calculation

This plug-in implements BeadStudio like detection P-value calculations for Illumina expression data (see on detection P-values.

The plug-in will always base the detection P-value calculation on raw data values, i.e., the mean raw intensity for the different signals. However, only reporters included in the bioassay set will be included in the calculations. This means that if there are no negative control bead types are left in the bioassay set, there is no distribution of negative controls to base the P-value detection calculation on. Or, if there are too few negative controls the detection P-value calculation is unreliable. (There is a request,, for an user selectable option to use all available negative controls available in raw data irrespective the probe filtering state of the bio assayset.)

Hence, always use the detection P-value plug-in before removing negative controls.

The detection P-value plug-in does not filter the assays, it provides the detection P-values usable in a filter step after running this plug-in.


The plug-in requires input of array type since detection P-value are calculated differently depending on array type.

The user can also set a cut off parameter to exclude outliers within the negative controls. The cutoff defines the acceptable negative control signal range

median-MAD*cutoff < I < median+MAD*cutoff

where MAD is the median absolute deviation.

Implementation details

Each assay is treated separately, i.e., no samples are combined together. All calculations are made on the raw bead-type level data, i.e., on the average expression value for each bead type and raw data is always used irrespective when in analysis the detection P-value is calculated.

Pvalue calculation for whole genome arrays:

For all signals i calculate the detection P-value as Pvalue = 1-R/N where R is the rank of the signal i relative to the negative controls and N is the number of negative controls.

Pvalue calculation for others array types (DASL, miRNA, VeraCode? DASL, and Focused Arrays):

For all signals i calculate the detection P-value as Pvalue = 1/2 - erf( [i-AvgControl]/StdControl/sqrt(2) ) where AvgControl is the average intensity of the negative controls, StdControl is the standard deviation of the the negative controls, and erf is the error function ( The error function is used for arguments within the range (-4,4). To save CPU cycles, the function value for arguments outside this range is set to -1 and 1, respectively.

Copyright (C) 2009 Jari Häkkinen
This file is part of Illumina plug-in package for BASE.
Available at
BASE main site:
This is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License
as published by the Free Software Foundation; either version 3
of the License, or (at your option) any later version.
The software is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with BASE. If not, see <>.

Note: See TracBrowser for help on using the repository browser.