[BioC] Cel image

David Ruau David.Ruau at rwth-aachen.de
Fri Sep 21 10:53:17 CEST 2007


Hi Yogi,

As mention Henrik there is different way to look at the chip image.
Here is a script I wrote to do all the test I need to decide to  
reject or not a chip, in one step.
The script is based on what I learned in this book:
Gentleman R, Carey V, Huber W et al. Bioinformatics and Computational  
Biology Solution Using R and Bioconductor. Berlin, Heidelberg, New  
York: Springer, 2005.

---
# R script for automatic quality control
# argument: an affybatch

qa <- function(abatch) {
	
	require(affy)
	require(simpleaffy)
	require(RColorBrewer)
	require(affyPLM)
	
	if (class(abatch)!= 'AffyBatch') {
		stop("argument must be AffyBatch!")
		}
	
	# colors
	cols <- brewer.pal(12, "Set3")
	
     # Boxplot
     pdf(file='boxplot.pdf', height=8, width=8)
     boxplot(abatch, col=cols, main="Unprocessed log scale probe- 
level data", xlab="If discrepancy, they are not conclusive\n  
Difference can be reduce by normalization")
     dev.off()

     # Histogram
     pdf(file='histogram.pdf', height=8, width=8)
     hist(abatch, col=cols, xlab="Log(base2) intensities; Bimodal  
distribution indicate spatial artifact\n Second mode is the result of  
array(s) having abnormally high value")
     legend("topright", sampleNames(abatch), lty=1,col=cols)
     dev.off()

	#RNA degradation
	pdf(file="RNAdeg.pdf", height=8, width=8)
	RNAdeg <- AffyRNAdeg(abatch)
	plotAffyRNAdeg(RNAdeg, cols=cols)
     legend("topleft", sampleNames(abatch), lty=1,col=cols)
     box()
	dev.off()
	
	# simpleaffy graph
	abatch.qc <- qc(abatch)
	pdf(file="QC-simpleaffy.pdf", height=8, width=10)
	plot(abatch.qc)
	dev.off()
	
	# affyPLM
	pset <- fitPLM(abatch)
	
	# false color image control
	for (n in 1:length(abatch)) {
		filename <- paste("QC",as.vector(sampleNames(abatch))[n],".png")
		png(file=filename, height=900, width=800)
		img.Test(abatch,pset,n)
		dev.off()
	}
	
	# RLE plot
	pdf(file="RLE.pdf", height=8, width= 8)
	Mbox(pset, col = cols, main ="RLE (Relative Log Expression)",  
xlab="Assuming that the majority of the gene are not changing\n  
Ideally these boxes would have small spread and be centered at M=0")
	dev.off()
	
	# NUSE plot
	pdf(file="NUSE.pdf", height=8, width= 8)
	boxplot(pset, col=cols, main= "NUSE (Normalized Unscaled Standard  
Error", xlab="High values of median NUSE are indicative of a  
problematic array")
	dev.off()
}

img.Test <- function(batch,pset,x) {
par(mfrow = c(2,2))
affy::image(batch[,x])
affy::image(pset, type = "weights", which = x)
affy::image(pset, type = "resids", which = x)
affy::image(pset, type = "sign.resids", which = x)
}

---

Presently there is a package call Harshlight that can be use to  
remove the faulty zone of the array.
Suarez-Farinas M, Pellegrino M, Wittkowski K et al. Harshlight: a  
"corrective make-up" program for microarray chips, BMC Bioinformatics  
2005;6:294.

By the way if other people have additional test or improvement to  
suggest I am open to suggestion.

Best,
David

---
David Ruau
Institute for Biomedical Engineering
RWTH Aachen

On Sep 21, 2007, at 5:04 AM, Henrik Bengtsson wrote:

> Hi,
>
> it all depends.  There are at least two ways to generate spatial plots
> of an microarray.  The first one is to plot the probe intensities,
> which you get directly from the CEL file(s).  Here you want to pick
> some color transform (e.g. sqrt or log) and color map.  This might
> give some clues/hints on extreme spatial artifacts.  If you fit
> probe-level models to the units ("probesets"), you can plot the PLM
> residuals as well, because that will better show you the spatial
> artifacts compare with looking at the probe intensities.
>
> ( BTW, be careful when you look at spatial intensity plots on the
> screen, especially when you zoom in and out, because you will most
> likely get rastering effects that are due to the display and that are
> not in the array. Some illustrations I found by a quick search:
> http://pixelmapping.wikispaces.com/Pixel+mapping+explained )
>
> Depending on what chip type and type of analysis you are looking
> at/using, a spatial artifact has more or less severe impact on the end
> result.  For instance, if you run standard gene expression arrays
> where each unit has multiple probes, a spatial artifact is less severe
> than if you run, say tiling arrays or single-probe copy-number arrays.
>  In the former case, two things typically save/help you: i) the fact
> that Affymetrix randomized the position of the probes such that
> spatial artifacts are likely only to affect one or two probes in a
> unit, and ii) robust fitting of probe-level models (PLM, e.g.
> log-additive modelling via via affyPLM).
> However, in the latter case with single-probe units, neither will help
> you.  Maybe some downstream algorithm has some robustification to it,
> that you have to check out.
>
> So, if you are trying to identify poor hybridizations from spatial
> images and decide which ones to filter out, your filtering criteria
> really depend on the chip type and what it is going to be used for.
>
> Cheers
>
> Henrik
>
>
> On 9/20/07, Yogi Sundaravadanam <yogi.sundaravadanam at agrf.org.au>  
> wrote:
>> Thanks for the reply... let me rephrase that a bit.  I would like  
>> to know as to how I should interpret the image.
>>
>> Cheers
>> Yogi
>>
>>  -----Original Message-----
>> From: smohapat at vbi.vt.edu [mailto:smohapat at vbi.vt.edu]
>> Sent: Friday, 21 September 2007 10:46 AM
>> To: Yogi Sundaravadanam
>> Cc: bioconductor
>> Subject: Re: [BioC] Cel image
>>
>> Hi Yogi:
>>
>>> How informative can these images be? In other words, just be  
>>> looking at
>>> the images, would I be able to pick out chips that aren't OK?
>>>
>>
>> I usually run some other checks with simpleaffy and affyPLM before
>> considering a chip of poor quality.
>>
>> -- Saroj
>>
>> _______________________________________________
>> Bioconductor mailing list
>> Bioconductor at stat.math.ethz.ch
>> https://stat.ethz.ch/mailman/listinfo/bioconductor
>> Search the archives: http://news.gmane.org/ 
>> gmane.science.biology.informatics.conductor
>>
>
> _______________________________________________
> Bioconductor mailing list
> Bioconductor at stat.math.ethz.ch
> https://stat.ethz.ch/mailman/listinfo/bioconductor
> Search the archives: http://news.gmane.org/ 
> gmane.science.biology.informatics.conductor



More information about the Bioconductor mailing list