[BioC] transformations and expressionQCPipeline

Mark Dunning mark.dunning at gmail.com
Fri Feb 25 12:39:09 CET 2011


Hi Ina,

You may have noticed the typo in greenChannelTransform. It should of course be:

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

Mark

On Fri, Feb 25, 2011 at 8:48 AM, Mark Dunning <mark.dunning at gmail.com> wrote:
> 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