Performs comprehensive system suitability testing for SEC analysis, evaluating resolution, plate count, asymmetry, and other quality metrics.
Usage
measure_sec_suitability(
data = NULL,
peaks,
reference_peaks = NULL,
injected_mass = NULL,
criteria = NULL,
column_length = NULL
)Arguments
- data
A data frame or tibble containing chromatogram data with at minimum retention times and peak parameters.
- peaks
A data frame with peak information. Must contain columns:
retention: Peak retention timewidth: Peak width (at half height unless specified)area: Peak area (for recovery calculation)height: Peak height (optional, for asymmetry from raw data
- reference_peaks
Character vector of peak names to use for resolution calculation (e.g., c("dimer", "monomer")).
- injected_mass
Injected mass for recovery calculation (optional).
- criteria
A list of acceptance criteria. Default uses common biopharmaceutical criteria.
- column_length
Column length in cm (for plates per meter calculation).
Value
A list of class sec_suitability containing:
- results
Data frame of calculated metrics and pass/fail status
- passed
Logical indicating if all criteria passed
- summary
Character summary of results
- criteria
Criteria used for evaluation
Details
System suitability testing (SST) verifies that the chromatographic system is performing adequately before, during, and after sample analysis.
Standard SEC SST Parameters:
Resolution: Rs >= 1.5 between critical pair
Plate count: N >= specified minimum
Tailing factor: 0.8 <= Tf <= 1.5
Mass recovery: 95-105%
Retention time RSD: <= 1.0%
Peak area RSD: <= 2.0%
Regulatory References:
USP <621> Chromatography
ICH Q2(R1) Validation
EP 2.2.46 Chromatographic Separation Techniques
Examples
if (FALSE) { # \dontrun{
# Define peaks from integration results
peaks <- data.frame(
name = c("aggregate", "dimer", "monomer", "fragment"),
retention = c(7.2, 8.5, 9.8, 11.5),
width = c(0.3, 0.25, 0.28, 0.35),
area = c(2.1, 5.3, 89.2, 3.4)
)
# Run system suitability
sst <- measure_sec_suitability(
peaks = peaks,
reference_peaks = c("dimer", "monomer"),
injected_mass = 0.200,
column_length = 30
)
print(sst)
} # }