| get_nmfi | R Documentation |
Calculates normalised MFI (nMFI) values for each analyte in a Luminex plate. The nMFI values are computed as the ratio of each test sample's MFI to the MFI of a standard curve sample at a specified reference dilution.
get_nmfi(
plate,
reference_dilution = 1/400,
data_type = "Median",
sample_type_filter = "ALL",
verbose = TRUE
)
plate |
( |
reference_dilution |
( |
data_type |
( |
sample_type_filter |
( |
verbose |
( |
Normalised MFI (nMFI) is a simple, model-free metric used to compare test sample responses relative to a fixed concentration from the standard curve. It is particularly useful when model fitting (e.g., for RAU calculation) is unreliable or not possible, such as when test sample intensities fall outside the standard curve range.
The function locates standard samples with the specified dilution and divides each test sample’s MFI by the corresponding standard MFI value for each analyte.
nmfi (data.frame) a data frame with normalised MFI values for each analyte in the plate and all test samples.
While RAU values are generally preferred for antibody quantification, they require successful model fitting of the standard curve. This may not be feasible when:
The test samples produce MFI values outside the range of the standard curve.
The standard curve is poorly shaped or missing critical points.
In such cases, nMFI serves as a useful alternative, allowing for plate-to-plate comparison without the need for extrapolation.
L. Y. Chan, E. K. Yim, and A. B. Choo, Normalized median fluorescence: An alternative flow cytometry analysis method for tracking human embryonic stem cell states during differentiation, http://dx.doi.org/10.1089/ten.tec.2012.0150
# read the plate
plate_file <- system.file("extdata", "CovidOISExPONTENT.csv", package = "SerolyzeR")
layout_file <- system.file("extdata", "CovidOISExPONTENT_layout.csv", package = "SerolyzeR")
plate <- read_luminex_data(plate_file, layout_file)
# artificially bump up the MFI values of the test samples (the Median data type is default one)
plate$data[["Median"]][plate$sample_types == "TEST", ] <-
plate$data[["Median"]][plate$sample_types == "TEST", ] * 10
# calculate the nMFI values
nmfi <- get_nmfi(plate, reference_dilution = 1 / 400)
# we don't do any extrapolation and the values should be comparable across plates
head(nmfi)
# different params
nmfi <- get_nmfi(plate, reference_dilution = "1/50")
nmfi <- get_nmfi(plate, reference_dilution = "1/50", sample_type_filter = c("TEST", "BLANK"))
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.