Standard Curve Validation Rule
Version: v3.0.0 Status: Normative (text), Illustrative (diagrams only) Scope: STDQT rule for validating PCR amplification data against standard curve parameters Domain: RULES-STDCURVE Precedence: After CT extraction, before quantity reporting
Statement
The system shall validate CT (cycle threshold) values against configured limits and verify PCR amplification curve correlation with the standard curve before calculating quantity values.
When a mix/target has standard curve configuration, the rule verifies CT falls within lower and upper bounds, calculates R-squared correlation, and only proceeds to quantity calculation when both validations pass. Wells without standard curve configuration are skipped. Failed validations trigger the rule with specific failure reasons.
Quick Reference
| ID | Core Behavior | Priority | Status |
|---|---|---|---|
| REQ-RULES-STDCURVE-001 | Validates CT values and R-squared correlation against standard curve parameters | HIGH | Draft |
Key Integration Points: PCR analysis pipeline, Kit Configuration (mix/target standard curves), BBC - Curve Control Settings (CT limits)
Rule Summary
| Property | Value |
|---|---|
| Name | STDQT |
| Triggers | When mix/target has standard curve configuration |
| Validation Sequence | CT range check, then R-squared calculation, then quantity calculation |
| Output | Rule trigger with failure reason, or quantity value |
Rule Flowchart (Illustrative)
This diagram illustrates the sequential validation flow. Boundary values (CT at limit, R2 at threshold) pass validation.
Definitions
| Term | Definition |
|---|---|
| CT (Cycle Threshold) | The number of PCR cycles required for the fluorescent signal to exceed background level |
| R-squared (R2) | Statistical correlation coefficient measuring how well data points fit the regression line (0.0 to 1.0) |
| Standard Curve | A curve relating CT values to known concentrations, defined by slope and intercept parameters |
| Mix | A reagent mixture containing primers and probes for specific targets in PCR analysis |
| Target | The specific nucleic acid sequence being amplified and detected |
| Rule Trigger | The rule activation state indicating validation failure |
| SS_res | Sum of squared residuals in regression calculation |
| SS_tot | Total sum of squares in regression calculation |
Assumptions
- Mix/target combinations with standard curve configuration are defined in the system prior to rule execution
- CT values are extracted from well data by upstream processing before this rule executes
- Standard curve slope and intercept parameters are configured for applicable mixes/targets
- CT limit configuration (lower and upper bounds) is available in BBC - Curve Control Settings
- Standard curve data points are available for R2 regression calculation
- Slope and intercept parameters are valid non-zero values
Requirements
Standard Curve Validation (REQ-RULES-STDCURVE-001)
FR-STDCURVE-001: Validate CT Values Against Standard Curve Parameters
The system shall validate CT values against configured limits and verify PCR amplification curve correlation with the standard curve before calculating quantity values.
Inputs/Outputs
| Direction | Data | Source/Target |
|---|---|---|
| Input | Well CT value | PCR analysis (upstream CT extraction) |
| Input | CT limits (lower, upper) | BBC - Curve Control Settings |
| Input | Standard curve (slope, intercept) | Kit Configuration |
| Input | R2 threshold | Configuration |
| Output | Rule trigger with failure reason | Rule engine |
| Output | Calculated quantity | Well record |
Acceptance Criteria
CT Range Validation:
- Verify CT is between the configured lower and upper limits for the mix/target
- Trigger the rule when CT is outside the configured limits
- Apply configurable CT lower and upper limits per mix/target
- Perform CT range validation before R2 regression calculation
- Pass CT range validation when CT equals the lower or upper limit (boundary values)
R-squared Validation:
- Calculate R-squared (R2) value from regression of observations on the standard curve when CT is within limits
- Trigger the rule when R2 value is less than the configured threshold
- Pass R2 validation when R2 equals the configured threshold (boundary value)
- Calculate R2 using the formula: R2 = 1 - (SS_res / SS_tot) where SS_res is sum of squared residuals and SS_tot is total sum of squares
Quantity Calculation:
- Calculate quantity from CT using slope and intercept when R2 value meets or exceeds the configured threshold
- Calculate quantity using the formula: Quantity = 10^((CT - intercept) / slope)
Applicability:
- Skip rule execution for mixes/targets without standard curve configuration
Error Handling
- CT below lower limit: Trigger the rule with failure reason CT_BELOW_LOWER_LIMIT
- CT above upper limit: Trigger the rule with failure reason CT_ABOVE_UPPER_LIMIT
- R2 below threshold: Trigger the rule with failure reason POOR_CURVE_FIT
- Mix/target without standard curve config: Skip the rule and return NOT_APPLICABLE status
- Missing CT limits configuration: Log error and skip rule execution
- Invalid CT value (null or NaN): Log error and skip validation
Trace: Source: 3.0.0-Standard Curve Validation (Row 1, Objective) | Tests: tests-REQ-RULES-STDCURVE-001 | Related: BBC - Curve Control Settings
Configuration Options
| Option | Default | Description | Affects |
|---|---|---|---|
ct_lower_limit | (per mix/target) | Minimum acceptable CT value | REQ-RULES-STDCURVE-001 |
ct_upper_limit | (per mix/target) | Maximum acceptable CT value | REQ-RULES-STDCURVE-001 |
r2_threshold | 0.99 | Minimum R-squared correlation coefficient for curve fit | REQ-RULES-STDCURVE-001 |
slope | (per standard curve) | Regression slope for quantity calculation | REQ-RULES-STDCURVE-001 |
intercept | (per standard curve) | Regression intercept for quantity calculation | REQ-RULES-STDCURVE-001 |
Configuration Sources:
| Parameter | Source Location |
|---|---|
| CT Lower Limit | BBC - Curve Control Settings |
| CT Upper Limit | BBC - Curve Control Settings |
| Slope | Standard Curve configuration |
| Intercept | Standard Curve configuration |
Open Questions
| ID | Question | Source | Owner | Date Raised |
|---|---|---|---|---|
| OQ-001 | No specific UI specifications identified in source material. Confirm if any UI representation of validation results is required. | UI Detail | @tbd | 2026-01-23 |
Notes
- The R2 threshold of 0.99 indicates a very strong correlation requirement, ensuring high data quality
- This rule ensures data quality by rejecting wells where PCR amplification does not closely match expected standard curve behavior
- Quantity calculation only occurs after both CT range and R2 validation pass
- The validation follows a sequential flow: applicability check, then CT range validation, then R2 calculation and validation, then quantity calculation
Implementation (Illustrative)
| Component | Location |
|---|---|
| Rule Class | Analyzer/Rules/StdqtRule |
Traceability Matrix
| Requirement | Title | Verification | Implementation | Test Cases | Status |
|---|---|---|---|---|---|
| REQ-RULES-STDCURVE-001 | Validate CT Values Against Standard Curve Parameters | Test | StdqtRule | tests-REQ-RULES-STDCURVE-001 | Draft |
Acceptance Tests
Test: REQ-RULES-STDCURVE-001
Test: CT below lower limit fails validation
Given: A mix/target with configured CT limits [lower=15, upper=35]
When: Well has CT value = 12
Then: The system shall trigger the rule
And: Validation shall fail with reason CT_BELOW_LOWER_LIMIT
Test: CT above upper limit fails validation
Given: A mix/target with configured CT limits [lower=15, upper=35]
When: Well has CT value = 38
Then: The system shall trigger the rule
And: Validation shall fail with reason CT_ABOVE_UPPER_LIMIT
Test: CT within limits but R2 below threshold fails validation
Given: A mix/target with configured CT limits [lower=15, upper=35]
When: Well has CT value = 25
And: R2 from regression on standard curve = 0.95
Then: The system shall trigger the rule
And: Validation shall fail with reason POOR_CURVE_FIT
Test: CT within limits and R2 meets threshold passes validation
Given: A mix/target with configured CT limits [lower=15, upper=35]
When: Well has CT value = 25
And: R2 from regression on standard curve = 0.995
Then: Rule validation shall pass
And: Quantity shall be calculated from CT using slope and intercept
Test: Rule skipped for non-applicable mix/target
Given: A mix/target without standard curve configuration
When: Well is processed through rules engine
Then: Standard Curve Validation rule shall be skipped
And: No validation shall be performed by this rule
Test: CT at lower boundary passes validation
Given: A mix/target with configured CT limits [lower=15, upper=35]
When: Well has CT value = 15 (at lower limit)
And: R2 from regression on standard curve = 0.995
Then: Rule validation shall pass
Test: CT at upper boundary passes validation
Given: A mix/target with configured CT limits [lower=15, upper=35]
When: Well has CT value = 35 (at upper limit)
And: R2 from regression on standard curve = 0.995
Then: Rule validation shall pass
Test: R2 at threshold boundary passes validation
Given: A mix/target with configured CT limits [lower=15, upper=35]
When: Well has CT value = 25
And: R2 from regression on standard curve = 0.99 (at threshold)
Then: Rule validation shall pass
And: Quantity shall be calculated from CT using slope and intercept
Test: Quantity calculation verification
Given: A mix/target with standard curve slope = -3.32 and intercept = 40
When: Well has CT value = 25
And: CT range and R2 validations pass
Then: Quantity shall be calculated using formula: 10^((25 - 40) / -3.32)
And: Calculated quantity shall be approximately 1584.89
Related Design Documents
| Design Document | Relevant Sections |
|---|---|
| SDD Algorithms | Standard Curve Validation Algorithm |
Appendix: Process Artifacts
Completion Checklist
- All requirements are capability-level (describe behavior, not UI)
- Requirement variants consolidated (no requirement explosion)
- UI details are fully demoted to illustrative section
- Configuration options are not encoded as requirements
- Acceptance criteria describe behavior, not UI mechanics
- Every requirement has acceptance criteria and source traceability
- Error handling addressed for I/O, validation, and external system requirements
- Open questions documented with owners assigned
- Consolidations documented in Reviewer Notes with reversibility info
- Module can survive a full UI redesign unchanged
- Refinements do not introduce new capabilities
- Traceability matrix is complete
Reviewer Notes
No Consolidation Required
This domain contains a single requirement (REQ-RULES-STDCURVE-001) which represents a cohesive validation capability. No consolidation was performed.
| Original Item | Source Reference | Disposition |
|---|---|---|
| REQ-RULES-STDCURVE-001 | rule-standard-curve-validation-restructured.md | Preserved as REQ-RULES-STDCURVE-001 |
Rationale: The source requirement already represents a single, well-defined capability (standard curve validation with CT range check, R2 validation, and quantity calculation). The acceptance criteria appropriately describe the testable conditions without requiring consolidation.
Reversibility: Full source available at:
- Source:
output/pilot/rules/rule-standard-curve-validation/rule-standard-curve-validation-restructured.md - SDD:
output/pilot/rules/rule-standard-curve-validation/sdd/rule-standard-curve-validation-design.md - Confluence: 3.0.0-Standard Curve Validation (Row 1, Objective)