Given a PBMExperiment containing Alexa488 probe intensity data and a second PBMExperiment containing Cy3 observed-to-expected ratios, this function performs probe filtering and/or scaling of the Alexa488 data according to the over/under abundance of dsDNA at each probe as quantified from the Cy3 data.
Both the Alexa488 and Cy3 PBMExperiment objects must have a common column in the
colData (specified by match_by=
) that can be used to match scans across the
two objects. While the values of the match_by
column may be repeated across
Alexa488 scans (e.g. if an array was reused or scanned multiple times), the
values must be unique across the Cy3 PBMExperiment object.
cy3Normalize( pe, cy3pe, assay = SummarizedExperiment::assayNames(pe)[1], match_by = "id_idx", filter = TRUE, scale = TRUE, verbose = FALSE )
pe | a PBMExperiment object containing Alexa488 intensity data. |
---|---|
cy3pe | a PBMExperiment object containing Cy3 deviation values from
using |
assay | a numeric index or string name specifying the assay to use.
(default = |
match_by | a string column name in colData of |
filter | a logical value whether to filter "low quality" flagged probes by setting to NA. (default = TRUE) |
scale | a logical value whether to perform scaling by ratio of observed vs. expected Cy3 intensity at each probe. (default = TRUE) |
verbose | a logical value whether to print verbose output during analysis. (default = FALSE) |
Original PBMExperiment object with assay containing Cy3 filtered and/or scaled intensities
("normalized"
). If an assay with the same name is already included in the object, it will
be overwritten.