LNP_ParticleSize_PDI_Monitor
LNP Particle Size PDI Monitor
ℹ️ Utility analyzes Dynamic Light Scattering (DLS) data:
• Mean size (Z-Average) 80-120 nm
• Polydispersity Index (PDI ≤0.2)
• Zeta potential (stability)
• Size distribution (Main Peak %)
⚠️ CRITICAL: High PDI indicates formulation instability!
Particle size affects cellular uptake and organ distribution.
Usage:
LNPParticleSizePDIMonitor.exe → demo mode (console output)
LNPParticleSizePDIMonitor.exe input.csv output.json → evaluate your data
Input format:
BatchNumber,ProductName,Z_Average_nm,PDI,Peak1_Size_nm,Peak1_Percent,Zeta_Potential_mV,Intercept,Temperature_C,Measurements_Count
Example:
LNP-SIZE-2026-001,mRNA-LNP Vaccine,95.5,0.12,92.0,98.5,-15.0,0.95,25.0,3
— WHY IS THIS NEEDED?
Physical parameter control is critical for LNPs (Moderna, BioNTech, Novartis):
• Particle size (80-100 nm) is optimal for endocytosis and avoiding rapid clearance
• Low PDI (<0.2) ensures population homogeneity and predictable pharmacokinetics
• Zeta potential reflects colloidal stability and aggregation risk
• Size change during storage is an early marker of lipid degradation or particle fusion
⚠️ CRITICAL:
• Z-Average 80-120 nm — target range for most mRNA vaccines
• PDI ≤0.2 — indicator of high monodispersity
• Main peak ≥90% — absence of large aggregates
• Correlation intercept 0.8-1.0 — guarantee of DLS measurement quality
• Stable zeta potential prevents particle clumping
Key features:
• DLS and electrophoretic light scattering data analysis
• Aggregation risk assessment via PDI and distribution
• Measurement quality control (Intercept)
• Size stability monitoring over time
Critical parameters:
• Z-Average: 80–120 nm
• PDI: ≤0.2
• Main peak: ≥90%
• Intercept: 0.8–1.0
💡 Usage tips:
1. Dilute samples to optimal scattering intensity (kHz)
2. Use 0.22 μm filters for buffers to avoid background noise
3. Perform at least 3 replicates per sample
4. Compare size before and after freeze-thaw cycles
5. High PDI may indicate issues with microfluidic mixing during production
⚠️ Note: LNPs are soft particles, their size depends on temperature and medium viscosity. The utility accounts for these factors and helps distinguish real aggregation from measurement artifacts.
input.csv
BatchNumber,ProductName,Z_Average_nm,PDI,Peak1_Size_nm,Peak1_Percent,Zeta_Potential_mV,Intercept,Temperature_C,Measurements_Count LNP-SIZE-2026-001,mRNA-LNP Vaccine,95.5,0.12,92.0,98.5,-15.0,0.95,25.0,3 LNP-SIZE-2026-002,mRNA-LNP Booster,110.0,0.18,108.0,95.0,-12.0,0.92,25.0,3 LNP-SIZE-2026-003,mRNA-LNP Therapeutic,150.0,0.35,145.0,80.0,-5.0,0.85,25.0,3
LNP Particle Size PDI Monitor — URS and FS
The English user requirements and functional specification are provided below.
LNP Particle Size PDI Monitor — URS
LNP Particle Size PDI Monitor
This document is generated for the English localization. Non-Russian portal languages must use this English version, not a mixed Russian/English document.
Purpose
Define user requirements for a standalone FUZKK utility that accepts laboratory CSV data, evaluates the records using limits embedded in code, and produces LabWare-compatible JSON.
Scope
The utility is intended for preliminary QC/QA review, integration testing, LIMS/LabWare flow and evidence-trail preparation. Final release decisions remain under the laboratory's validated procedure and responsible personnel.
Users
QC analyst, QA reviewer, CSV/validation engineer, LIMS/LabWare integration engineer, responsible laboratory specialist.
User requirements
- The utility shall run without arguments and print its self-description, a built-in input.csv example from GetDemoData(), and demo evaluation for the embedded records.
- The utility shall run with two arguments: input.csv output.json.
- The utility shall not read input.csv and shall not write output.json when started without arguments.
- CSV numeric values shall be parsed using CultureInfo.InvariantCulture.
- Output shall be generated as LabWare-compatible JSON with Header, Samples, Results, Status, StatusCode, ErrorMessage, Description and DescriptionEN.
- For PASS records, ErrorMessage shall be an empty string.
- Embedded limits shall follow this priority: Ph. Eur. → British Pharmacopoeia / UK implementation → EAEU / regional requirements → EMA/ICH/EU guidance → USP fallback.
- If an exact monograph is not known, strict standard API limits are used where applicable: assay 98–102%, total impurities ≤1.0%, individual impurity ≤0.5%.
- For biologics and mAb-like products, aggregation, sterility and endotoxin checks shall be included where relevant to the utility purpose.
- If a parameter may arrive in different units, the unit shall be represented as a separate input field or explicitly reflected in the input.csv field name.
Input CSV
BatchNumber,ProductName,Z_Average_nm,PDI,Peak1_Size_nm,Peak1_Percent,Zeta_Potential_mV,Intercept,Temperature_C,Measurements_Count LNP-SIZE-2026-001,mRNA-LNP Vaccine,95.5,0.12,92.0,98.5,-15.0,0.95,25.0,3 LNP-SIZE-2026-002,mRNA-LNP Booster,110.0,0.18,108.0,95.0,-12.0,0.92,25.0,3 LNP-SIZE-2026-003,mRNA-LNP Therapeutic,150.0,0.35,145.0,80.0,-5.0,0.85,25.0,3
input.csv fields
| Field | Sample |
|---|---|
| BatchNumber | LNP-SIZE-2026-001 |
| ProductName | mRNA-LNP Vaccine |
| Z_Average_nm | 95.5 |
| PDI | 0.12 |
| Peak1_Size_nm | 92.0 |
| Peak1_Percent | 98.5 |
| Zeta_Potential_mV | -15.0 |
| Intercept | 0.95 |
| Temperature_C | 25.0 |
| Measurements_Count | 3 |
Utility description
LNP Particle Size & PDI Monitor — LNP Particle Size and Polydispersity Monitor
LNP Particle Size & PDI Monitor — LNP Particle Size and Polydispersity Monitor
ℹ️ Utility analyzes Dynamic Light Scattering (DLS) data:
• Mean size (Z-Average) 80-120 nm
• Polydispersity Index (PDI ≤0.2)
• Zeta potential (stability)
• Size distribution (Main Peak %)
⚠️ CRITICAL: High PDI indicates formulation instability!
Particle size affects cellular uptake and organ distribution.
Usage:
LNPParticleSizePDIMonitor.exe → demo mode (console output)
LNPParticleSizePDIMonitor.exe input.csv output.json → evaluate your data
Input format:
BatchNumber,ProductName,Z_Average_nm,PDI,Peak1_Size_nm,Peak1_Percent,Zeta_Potential_mV,Intercept,Temperature_C,Measurements_Count
Example:
LNP-SIZE-2026-001,mRNA-LNP Vaccine,95.5,0.12,92.0,98.5,-15.0,0.95,25.0,3
— WHY IS THIS NEEDED?
Physical parameter control is critical for LNPs (Moderna, BioNTech, Novartis):
• Particle size (80-100 nm) is optimal for endocytosis and avoiding rapid clearance
• Low PDI (<0.2) ensures population homogeneity and predictable pharmacokinetics
• Zeta potential reflects colloidal stability and aggregation risk
• Size change during storage is an early marker of lipid degradation or particle fusion
⚠️ CRITICAL:
• Z-Average 80-120 nm — target range for most mRNA vaccines
• PDI ≤0.2 — indicator of high monodispersity
• Main peak ≥90% — absence of large aggregates
• Correlation intercept 0.8-1.0 — guarantee of DLS measurement quality
• Stable zeta potential prevents particle clumping
Key features:
• DLS and electrophoretic light scattering data analysis
• Aggregation risk assessment via PDI and distribution
• Measurement quality control (Intercept)
• Size stability monitoring over time
Critical parameters:
• Z-Average: 80–120 nm
• PDI: ≤0.2
• Main peak: ≥90%
• Intercept: 0.8–1.0
💡 Usage tips:
1. Dilute samples to optimal scattering intensity (kHz)
2. Use 0.22 μm filters for buffers to avoid background noise
3. Perform at least 3 replicates per sample
4. Compare size before and after freeze-thaw cycles
5. High PDI may indicate issues with microfluidic mixing during production
⚠️ Note: LNPs are soft particles, their size depends on temperature and medium viscosity. The utility accounts for these factors and helps distinguish real aggregation from measurement artifacts.
Traceability and limitations
- The URS is used as the source document for functional specification, CSV review and later validation work.
- This document does not replace an approved pharmacopoeial monograph, validated analytical method or internal product specification.
- For product-specific limits, the approved customer specification takes priority.
LNP Particle Size PDI Monitor — FS
LNP Particle Size PDI Monitor
The functional specification describes the behaviour of the standalone FUZKK console utility, input-data format, evaluation algorithm and output JSON structure.
Functional flow
- Main() checks the number of arguments.
- If no arguments are provided: PrintHello() prints the description and built-in input.csv example, then RunDemoEvaluation() executes Evaluate() over GetDemoData() and prints demo JSON.
- If two arguments are provided: RunWithFiles(input.csv, output.json) reads CSV, evaluates each record and writes LabWare-compatible JSON.
- LoadData() uses CultureInfo.InvariantCulture and shall not be called in no-arguments mode.
- Evaluate() returns a named tuple with BatchNumber, ProductName, Parameters, CriticalFailCount, WarningCount, Recommendation and RecommendationEN.
- GetIssues() builds messages for ErrorMessage in WARNING/FAIL cases.
Evaluation rules
- PASS: CriticalFailCount = 0 and WarningCount = 0.
- WARNING: CriticalFailCount = 0 and WarningCount > 0.
- FAIL: CriticalFailCount > 0.
- ERROR: exception during reading or processing.
- ErrorMessage remains empty for PASS.
- Limits are embedded in Program.cs; no external limit configuration is required.
Input and fields
BatchNumber,ProductName,Z_Average_nm,PDI,Peak1_Size_nm,Peak1_Percent,Zeta_Potential_mV,Intercept,Temperature_C,Measurements_Count LNP-SIZE-2026-001,mRNA-LNP Vaccine,95.5,0.12,92.0,98.5,-15.0,0.95,25.0,3 LNP-SIZE-2026-002,mRNA-LNP Booster,110.0,0.18,108.0,95.0,-12.0,0.92,25.0,3 LNP-SIZE-2026-003,mRNA-LNP Therapeutic,150.0,0.35,145.0,80.0,-5.0,0.85,25.0,3
| Field | Sample |
|---|---|
| BatchNumber | LNP-SIZE-2026-001 |
| ProductName | mRNA-LNP Vaccine |
| Z_Average_nm | 95.5 |
| PDI | 0.12 |
| Peak1_Size_nm | 92.0 |
| Peak1_Percent | 98.5 |
| Zeta_Potential_mV | -15.0 |
| Intercept | 0.95 |
| Temperature_C | 25.0 |
| Measurements_Count | 3 |
Output JSON
{
"Header": {
"UtilityName": "LNP_ParticleSize_PDI_Monitor",
"Version": "1.0.0",
"Timestamp": "UTC",
"InstrumentID": "FUZKK-QC-WORKSTATION",
"OperatorID": "Admin"
},
"Samples": [
{
"SampleID": "from BatchNumber",
"BatchNumber": "from CSV",
"ProductName": "from CSV",
"TestName": "utility-specific test",
"AnalysisCode": "utility-specific code",
"Status": "PASS | WARNING | FAIL | ERROR",
"StatusCode": "1 | 2 | 0 | -1",
"ErrorMessage": "",
"Description": "Russian recommendation",
"DescriptionEN": "English recommendation",
"Results": [
{
"ParameterName": "parameter",
"ResultValue": 0.0,
"UnitOfMeasure": "unit",
"SpecificationLimit": "limit",
"IsWithinSpec": true
}
]
}
]
}Included in packages
mRNA/LNP Quality QC Suite
mRNA/LNP Quality QC Suite: FUZKK utility package for CSV→JSON QC checks with EU-first limit priority.
Open