Distribution of negative controls on Illumina HT12-v4 chips (double background?)
2
0
Entering edit mode
@arnar-flatberg-2944
Last seen 10.2 years ago
Norway

Hi list,

We have recently seen an odd distribution of signal intensities using the new version 4 HT-12 chips. Specifically, the distribution of negative controls looks like a mixture of two gaussians. This invalidates the common assumption of normal distributed background used in both the detection calls and some error-model based normalizations, e.g. norm-exp in limma. We did not have this type of distribution in version 3 of HT12, nor in any other chip type from Illumina. Has anyone else seen this particular issue, and specifically on the HT-12 v4 chip?

Below is a link to density plots of the negative control probes of 6 experiments I've compared. The top plots are from a lab in Oslo on the HT-12 v4, at hte bottom are two experiments from our lab using HT12 v4 and a comparison of a Rat v1 chip from our lab.

Figure: http://oi52.tinypic.com/tz05v.jpg

Thanks,

Arnar

----------------------
Arnar Flatberg
Data scientist
Trondheim Genome Resource Center
St. Olav's hospital, Norwegian University of Science and Technology
Trondheim
Norway

limma neqc • 2.1k views
ADD COMMENT
0
Entering edit mode

Dear Arnar:

Thanks for the detailed report for the intensity distributions of negative control probes in your data. But could you please provide more information about the numbers of different types of probes? If you used the limma function read.ilmn to read in your data, you can get this information by this command:

table(x$genes$Status)

Also, it will be a lot helpful if you could provide your code for creating the density plots.

Thanks,
Wei

ADD REPLY
0
Entering edit mode

Hi Wei,

But could you please provide more information about the numbers of different types of probes?

I'm not quite sue what you are referring to here. I'll try to explain in more detail, and I'll provide some code for reproduction at the bottom. I'm only considering the control-probes on the Illumina chip, that is the 770 negative (If I'm not mistaken, I believe these are non-human permuted sequences). I dont use the rest of the controls, that is, the hybridization- , labeliing-, biotin-, housekeeping-, stringency-, and the brand new spike-in-controls. I'm investigating these as representative of my background signal.

I'm using the `lumi` package for reading and plotting data, below is code for reproduction

> require(lumi)
> controlDataFileName <- "filename_of_beadstudio_control_data_export"
> C1 <- getControlData(controlDataFileName)
> n <- dim(C1)[1]
> neg.probes <-  as.matrix(C1[C1[,1]=="NEGATIVE",3:n])
> x11(); plotDensity(neg.probes, main="HT12-v4 Example", addLegend=FALSE)

> sessionInfo()
> R version 2.12.1 (2010-12-16)
> Platform: x86_64-pc-linux-gnu (64-bit)
>
> locale:
>  [1] LC_CTYPE=en_US.utf8       LC_NUMERIC=C
>  [3] LC_TIME=en_US.utf8        LC_COLLATE=en_US.utf8
>  [5] LC_MONETARY=C             LC_MESSAGES=en_US.utf8
>  [7] LC_PAPER=en_US.utf8       LC_NAME=C
>  [9] LC_ADDRESS=C              LC_TELEPHONE=C
> [11] LC_MEASUREMENT=en_US.utf8 LC_IDENTIFICATION=C
>
> attached base packages:
> [1] stats     graphics  grDevices utils     datasets  methods   base
>
> other attached packages:
> [1] lumi_2.2.0     Biobase_2.10.0
>
> loaded via a namespace (and not attached):
>  [1] affy_1.28.0           affyio_1.18.0         annotate_1.28.0
>  [4] AnnotationDbi_1.12.0  DBI_0.2-5             grid_2.12.1
>  [7] hdrcde_2.14           KernSmooth_2.23-4     lattice_0.19-13
> [10] MASS_7.3-7            Matrix_0.999375-46    methylumi_1.4.0
> [13] mgcv_1.7-2            nlme_3.1-97           preprocessCore_1.12.0
> [16] RSQLite_0.9-2         xtable_1.5-6

Thanks,

Arnar

ADD REPLY
0
Entering edit mode

I was too fast there, a small typing error is corrected below:

require(lumi)
controlDataFileName <- "filename_of_beadstudio_control_data_export"
C1 <- getControlData(controlDataFileName)
n <- dim(C1)[2] # this is corrected line
neg.probes <-  as.matrix(C1[C1[,1]=="NEGATIVE",3:n])
x11(); plotDensity(neg.probes, main="HT12-v4 Example",
addLegend=FALSE)

Arnar

ADD REPLY
1
Entering edit mode
Wei Shi ★ 3.6k
@wei-shi-2183
Last seen 2 hours ago
Australia/Melbourne

Hi Arnar:

The number of negative control probes does not seem to match that in HT12 v3. Maybe you can check the difference in negative control probe sequences between these two versions. You can find the sequence information from Illumina's manifest files. I had been looking at the intensity distribution of negative controls in hundreds of BeadChip arrays (but not including the new HT12 v4) and I have never seen the distributions as shown in your figures. One possibility is that Illumina changed their negative control probe sequences and the new controls are not as good as the old controls. But it is also possible that what you saw only occurred to your data.

Hope this helps.

Wei

ADD COMMENT
0
Entering edit mode
@gordon-smyth
Last seen 1 hour ago
WEHI, Melbourne, Australia

Hi Arnar,

Wei Shi and I have checked out our own HT-12 v4 data, and we do not see the bimodal distribution that you have observed.  So we think that this might be a property of your data rather than a property of HT-12 v4 BeadChips in general.

You might also try re-reading your data using read.ilmn() in case there has been a problem with the data input.

Note that we are now recommending the neqc() function of the limma package for background correcting and normalizing Illumina arrays.  This is a modication of the normexp algorithm to use negative control probe estimates.  See ?neqc and the Illumina case study in the limma User's Guide.  This function will not be very sensitive to the shape of the distribution of the negative controls.

You can run neqc() with robust=TRUE, which will make it even more robust to the distribution of the negative controls.

Best wishes
Gordon

ADD COMMENT
0
Entering edit mode

Dear Gordon and Wei Shi,

I am sorry to intrude into this conversation but I think that I also have a problem with my control probe distribution. It is normal but the peak is quite high in the raw data...much higher than the rest of the intensities. Then, after normalization, the densities of the rest data are normal but with a very extended tail...I am wondering whether this behavior is normal...

Thank you very much,

Eleni

ADD REPLY

Login before adding your answer.

Traffic: 924 users visited in the last hour
Help About
FAQ
Access RSS
API
Stats

Use of this site constitutes acceptance of our User Agreement and Privacy Policy.

Powered by the version 2.3.6