[BioC] transformations and expressionQCPipeline

Mark Dunning mark.dunning at gmail.com
Fri Feb 25 09:48:36 CET 2011


Hi,

Sorry for not replying sooner. The new version of beadarray was
written with flexibility in mind. Many of the previous functions were
completely re-written to allow users to specify their own means of
correcting, summarising and transforming data. For your particular
example, I'm afraid the normexp correction was removed. This was a
mistake on our part as we believed it to not be in use. However, the
normexp correction function from limma can operate on a vector of
intensities and indices of negative controls and It would not be
difficult to construct a transformaton function that did the
correction and put the results back in the bead-level object using
'insertBeadData'. I will reply with this function later today.

Regarding your expressionQCPipeline problem; it should be trying to
write plots to a directory called "QC.Dir[iChip]". If you run

>dir("QC.Dir[iChip]")

what does it return?

As you've already seen, the default transformation in beadarray is
log2. Any beads with negative intensity will be transformed to 'NA'
and not contribute to the summary information for their particular
bead-type. However, if you specify the transformation function
greenChannelTrransform as the 'transFun' argument in 'summarize';

 greenChannelTransform
function (BLData, array)
{
    x = getBeadData(BLData, array = array, what = "Grn")
}

then they will could still be included, although I would guess they
would be removed as outliers. By producing summary data on the
un-logged scale you would be able to experiment with other
transformation schemes that operate on the summary data such as vst
[lumi] or neqc [limma]. As far as I know, the benefits of using
normexp on the bead-level vs bead summary data have not been explored.

Hope this helps.

Mark

On Thu, Feb 24, 2011 at 9:26 PM, Ina Hoeschele <inah at vbi.vt.edu> wrote:
> Hi Mike et al.,
>  I still have not had any response to my question about transformations in beadarray that yield non-negative values - does the current version of beadarray still have this capability? Or are the neagtive values just ignored in the bead summary?
>
> To make things easier, I have been trying to use the expressionQCPipeline function of bead array, but it keeps giving me the message that plots already exist and are skipped! I've tried different chips and keep getting the same message! Please see below. Any suggestion why this is happening? I cannot find any plots that 'already exist'.
>
> Many thanks, Ina
>
>> expressionQCPipeline(BLData,transFun=logGreenChannelTransform,qcDir="QC.Dir[iChip]",plotType=".jpeg",horizontal=TRUE,controlProfile=NULL,
> + overWrite=FALSE,nSegments=9,outlierFun=illuminaOutlierMethod,tagsToDetect=list(housekeeping="housekeeping",Biotin="phage_lambda_genome",
> + Hybridisation="phage_lambda_genome:high"),zlim=c(5,7),positiveControlTags=c("housekeeping","phage_lambda_genome"),
> + hybridisationTags=c("phage_lambda_genome:low","phage_lambda_genome:med","phage_lambda_genome:high"),negativeTag="permuted_negative",
> + boxplotFun=logGreenChannelTransform,imageplotFun=logGreenChannelTransform)
> Making per-array plots for section 1
> Positive controls
> Positive control plot exists. Skipping to next plot
> Hyb controls
> Hybridisation control plot exists. Skipping to next plot
> Outliers
> Outlier plot exists. Skipping to next plot
> imageplot
> Positive control plot exists. Skipping to next plot
> Loading required package: hwriter
> Making per-array plots for section 2
> Positive controls
> Positive control plot exists. Skipping to next plot
> Hyb controls
> Hybridisation control plot exists. Skipping to next plot
> Outliers
> Outlier plot exists. Skipping to next plot
> imageplot
> Positive control plot exists. Skipping to next plot
> Making per-array plots for section 3
> Positive controls
> Positive control plot exists. Skipping to next plot
> Hyb controls
> Hybridisation control plot exists. Skipping to next plot
> Outliers
> Outlier plot exists. Skipping to next plot
> imageplot
> Positive control plot exists. Skipping to next plot
> Making per-array plots for section 4
> Positive controls
> Positive control plot exists. Skipping to next plot
> Hyb controls
> Hybridisation control plot exists. Skipping to next plot
> Outliers
> Outlier plot exists. Skipping to next plot
> imageplot
> Positive control plot exists. Skipping to next plot
> Making per-array plots for section 5
> Positive controls
> Positive control plot exists. Skipping to next plot
> Hyb controls
> Hybridisation control plot exists. Skipping to next plot
> Outliers
> Outlier plot exists. Skipping to next plot
> imageplot
> Positive control plot exists. Skipping to next plot
> Making per-array plots for section 6
> Positive controls
> Positive control plot exists. Skipping to next plot
> Hyb controls
> Hybridisation control plot exists. Skipping to next plot
> Outliers
> Outlier plot exists. Skipping to next plot
> imageplot
> Positive control plot exists. Skipping to next plot
> Making per-array plots for section 7
> Positive controls
> Positive control plot exists. Skipping to next plot
> Hyb controls
> Hybridisation control plot exists. Skipping to next plot
> Outliers
> Outlier plot exists. Skipping to next plot
> imageplot
> Positive control plot exists. Skipping to next plot
> Making per-array plots for section 8
> Positive controls
> Positive control plot exists. Skipping to next plot
> Hyb controls
> Hybridisation control plot exists. Skipping to next plot
> Outliers
> Outlier plot exists. Skipping to next plot
> imageplot
> Positive control plot exists. Skipping to next plot
> Making per-array plots for section 9
> Positive controls
> Positive control plot exists. Skipping to next plot
> Hyb controls
> Hybridisation control plot exists. Skipping to next plot
> Outliers
> Outlier plot exists. Skipping to next plot
> imageplot
> Positive control plot exists. Skipping to next plot
> Making per-array plots for section 10
> Positive controls
> Positive control plot exists. Skipping to next plot
> Hyb controls
> Hybridisation control plot exists. Skipping to next plot
> Outliers
> Outlier plot exists. Skipping to next plot
> imageplot
> Positive control plot exists. Skipping to next plot
> Making per-array plots for section 11
> Positive controls
> Positive control plot exists. Skipping to next plot
> Hyb controls
> Hybridisation control plot exists. Skipping to next plot
> Outliers
> Outlier plot exists. Skipping to next plot
> imageplot
> Positive control plot exists. Skipping to next plot
> Making per-array plots for section 12
> Positive controls
> Positive control plot exists. Skipping to next plot
> Hyb controls
> Hybridisation control plot exists. Skipping to next plot
> Outliers
> Outlier plot exists. Skipping to next plot
> imageplot
> Positive control plot exists. Skipping to next plot
> Creating probe metrics
> Calculating outlier Metrics
> 35901  outliers found on the section
> 33408  outliers found on the section
> 30521  outliers found on the section
> 32013  outliers found on the section
> 32032  outliers found on the section
> 30939  outliers found on the section
> 32048  outliers found on the section
> 30359  outliers found on the section
> 32026  outliers found on the section
> 28328  outliers found on the section
> 28367  outliers found on the section
> 27180  outliers found on the section
>> sessionInfo()
> R version 2.12.1 (2010-12-16)
> Platform: i386-pc-mingw32/i386 (32-bit)
>
> locale:
> [1] LC_COLLATE=English_United States.1252
> [2] LC_CTYPE=English_United States.1252
> [3] LC_MONETARY=English_United States.1252
> [4] LC_NUMERIC=C
> [5] LC_TIME=English_United States.1252
>
> attached base packages:
> [1] grid      stats     graphics  grDevices utils     datasets  methods
> [8] base
>
> other attached packages:
>  [1] hwriter_1.3          geneplotter_1.28.0   lattice_0.19-13
>  [4] annotate_1.28.0      AnnotationDbi_1.12.0 RColorBrewer_1.0-2
>  [7] gplots_2.8.0         caTools_1.11         bitops_1.0-4.1
> [10] gdata_2.8.1          gtools_2.6.2         beadarray_2.0.4
> [13] Biobase_2.10.0
>
> loaded via a namespace (and not attached):
> [1] DBI_0.2-5     limma_3.6.9   RSQLite_0.9-4 tools_2.12.1  xtable_1.5-6
>>
>
>
> ----- Original Message -----
> From: "Ina Hoeschele" <inah at vbi.vt.edu>
> To: "Mike Smith" <grimbough at gmail.com>
> Cc: bioconductor at stat.math.ethz.ch
> Sent: Sunday, February 20, 2011 9:20:07 PM
> Subject: Re: [BioC] problems with readIllumina() for many BeadChips
>
> Hi Mike et al.,
>   first thanks for the help, I can now read and process the bead-level data from multiple (HumanHT-12 v4) Expression BeadChips just fine. Unfortunately I've run into the next hurdle, where I have a hard time finding information in the beadarray vignette or manual. The background corrected intensities in the txt files (expectedly) contain some negative values, but I can only find the log2 transformation. When I worked with the old version of beadarray a couple of years ago I used the background correction method of rma (backgroundMethod="normexp" in readIllumina) to obtain positive intensities prior to transformation, but this option seems no longer available? So how does beadarray deal with the negative intensities? Also, is there any opinion on the order of steps - transform bead-level intensities, then summarize, or summarize and then log2 transform, (either followed by normalization)?
> Many thanks ... Ina
>
>
> ----- Original Message -----
> From: "Mike Smith" <grimbough at gmail.com>
> To: "Ina Hoeschele" <inah at vbi.vt.edu>
> Cc: bioconductor at stat.math.ethz.ch
> Sent: Thursday, February 17, 2011 1:59:11 PM
> Subject: Re: [BioC] problems with readIllumina() for many BeadChips
>
> Hi Ina,
>
> Sorry, I think my message has probably created some confusion.
>
> Version 2.0.4 is not the developmental version, its a patched version of the
> release.  You can install it using biocLite("beadarray").  I uploaded the
> patch yesterday, so it may take a day or so to filter through.
>
> If you want to install the developmental version (currently 2.1.11) you
> normally need to be running a developmental version of R, although there was
> some discussion about this a few weeks back on this list.  This version
> should be considered experimental and potentially buggy, but as you've seen
> that can probably be applied to parts of the release package too!
>
> Mike Smith
> PhD Student
> Computational Biology Group
> Department of Oncology
> Cambridge University
> On 17 Feb 2011 16:52, "Ina Hoeschele" <inah at vbi.vt.edu> wrote:
>
> _______________________________________________
> Bioconductor mailing list
> Bioconductor at r-project.org
> https://stat.ethz.ch/mailman/listinfo/bioconductor
> Search the archives: http://news.gmane.org/gmane.science.biology.informatics.conductor
>
> _______________________________________________
> Bioconductor mailing list
> Bioconductor at r-project.org
> 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