PBM arrays are scanned twice, once for Cy3-tagged dUTPs to quantify dsDNA abundance at each probe, and again for the Alexa488-tagged protein. The Cy3 scans can be used to first filter out probes which appear to have poor dsDNA enrichment, and second, to scale Alexa488 intensities to account for differences in dsDNA abundance between probes.
Since probe intensities in the Cy3 scans are independent of the
assayed Alexa488-tagged protein, Cy3 scans should be comparable across
experiments. Based on this observation, a global Cy3 reference can be
constructed by taking the empirical average over a large number of Cy3
scans. Filtering and scaling can then be performed based on deviations
from this reference. Given a PBMExperiment of Cy3 scans and an
empirical reference generated by cy3GenerateRef
, this function
returns the residuals from the reference, and the corresponding
observed-to-expected ratios for each probe as new assays added to the
original Cy3 PBMExperiment object.
The returned PBMExperiment object can be passed to cy3Normalize
with a PBMExperiment of Alexa488 scan intensities
to filter low quality probes and/or normalize the Alexa488 intensities by the
computed ratios.
cy3FitEmpirical( pe, refpe, assay = SummarizedExperiment::assayNames(pe)[1], useMean = TRUE, standardize = TRUE, threshold = 1/2, verbose = FALSE )
pe | a PBMExperiment object containing Cy3 intensity data. |
---|---|
refpe | a PBMExperiment object containing Cy3 reference
intensities as a single assay named |
assay | a numeric index or string specifying the Cy3 intensity assay.
(default = |
useMean | a logical value whether to use the probe-level mean, rather than the probe-level median, from the Cy3 reference (default = TRUE) |
standardize | a logical value whether to standardize residuals using MAD (median absolute deviation about the median) intensity computed for PBM Cy3 reference data for probe filtering. (default = TRUE) |
threshold | a numeric threshold on the absolute value of the log2 ratio between
observed and expected Cy3 intensities. If |
verbose | a logical value whether to print verbose output during analysis. (default = FALSE) |
Original Cy3 PBMExperiment object with additional assays corresponding
to ratio of observed to expected probe intensities, and whether probes were
flagged as low-quality based on abs(log2(ratio)) > threshold
.