Vector_Genome_Titer_qPCR_Analyzer
Vector Genome Titer q PCR Analyzer
ℹ️ Utility calculates absolute genome copy titer (GC/mL):
• Calculation based on standard curve (Ct, Slope, Intercept)
• PCR quality control (R², Slope)
• Accounting for dilution and extraction factors
• Comparison with target titer
⚠️ CRITICAL: Titer determines therapeutic dose!
Inaccuracy leads to under-treatment or toxicity.
Usage:
VectorGenomeTiterqPCRAnalyzer.exe → demo mode (console output)
VectorGenomeTiterqPCRAnalyzer.exe input.csv output.json → evaluate your data
Input format:
BatchNumber,ProductName,Average_Ct,Standard_Slope,Standard_R2,Standard_Intercept,Dilution_Factor,Reaction_Volume_uL,Extracted_DNA_Volume_uL,Input_Sample_Volume_uL,Target_Titer_GC_per_mL
Example:
CGT-TITER-2026-001,AAV9-CNS-Gene,22.5,-3.35,0.998,38.0,1000.0,20.0,50.0,10.0,1.0E+13
— WHY IS THIS NEEDED?
Titer control is critical for gene therapy (Novartis, BioNTech, Oxford Biomedica):
• Genome copies (GC) are the primary dosing unit for viral vectors
• qPCR allows precise quantification of particles containing transgene
• Important to distinguish full particles from empty (though qPCR sees only DNA, combination with ELISA gives full picture)
• Regulators require validated methods with high accuracy and precision
⚠️ CRITICAL:
• Standard curve R² ≥0.98 — guarantee of linearity and accuracy
• Slope from -3.1 to -3.6 — indicator of amplification efficiency (90-110%)
• Ct in range 10-35 — reliable detection zone
• Titer deviation from target ≤20% — acceptable limit for production batches
• Accounting for all dilution and extraction volumes is mandatory for GC/mL calculation
Key features:
• Automatic absolute titer calculation from raw PCR data
• Assay quality validation by standard curve parameters
• DNA extraction scheme accounting
• Comparison with planned process yield
Critical parameters:
• R²: ≥0.98
• Slope: -3.1...-3.6
• Titer deviation: ≤20%
• Ct: 10–35
💡 Usage tips:
1. Use digital PCR (ddPCR) for absolute titration without standard curve if possible
2. For qPCR, carefully prepare standards with known concentration
3. Account for DNA extraction efficiency (can add internal control)
4. Perform analysis in multiple replicates to reduce variability
5. Compare GC titer with physical particle titer (NTA/ELISA) to calculate Full/Empty ratio
⚠️ Note: Unlike traditional viruses where infectious units (PFU/IU) are titrated, in gene therapy total genome count is often more important, as not all particles are infectious but may deliver cargo. The utility helps standardize this complex calculation.
input.csv
BatchNumber,ProductName,Average_Ct,Standard_Slope,Standard_R2,Standard_Intercept,Dilution_Factor,Reaction_Volume_uL,Extracted_DNA_Volume_uL,Input_Sample_Volume_uL,Target_Titer_GC_per_mL CGT-TITER-2026-001,AAV9-CNS-Gene,22.5,-3.35,0.998,38.0,1000.0,20.0,50.0,10.0,1.0E+13 CGT-TITER-2026-002,Lenti-CAR-T,18.0,-3.40,0.995,39.0,500.0,20.0,100.0,50.0,5.0E+12 CGT-TITER-2026-003,Adeno-Onco,25.0,-3.20,0.990,37.5,2000.0,20.0,50.0,20.0,2.0E+11
Vector Genome Titer q PCR Analyzer — URS and FS
The English user requirements and functional specification are provided below.
Vector Genome Titer q PCR Analyzer — URS
Vector Genome Titer q PCR Analyzer
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,Average_Ct,Standard_Slope,Standard_R2,Standard_Intercept,Dilution_Factor,Reaction_Volume_uL,Extracted_DNA_Volume_uL,Input_Sample_Volume_uL,Target_Titer_GC_per_mL CGT-TITER-2026-001,AAV9-CNS-Gene,22.5,-3.35,0.998,38.0,1000.0,20.0,50.0,10.0,1.0E+13 CGT-TITER-2026-002,Lenti-CAR-T,18.0,-3.40,0.995,39.0,500.0,20.0,100.0,50.0,5.0E+12 CGT-TITER-2026-003,Adeno-Onco,25.0,-3.20,0.990,37.5,2000.0,20.0,50.0,20.0,2.0E+11
input.csv fields
| Field | Sample |
|---|---|
| BatchNumber | CGT-TITER-2026-001 |
| ProductName | AAV9-CNS-Gene |
| Average_Ct | 22.5 |
| Standard_Slope | -3.35 |
| Standard_R2 | 0.998 |
| Standard_Intercept | 38.0 |
| Dilution_Factor | 1000.0 |
| Reaction_Volume_uL | 20.0 |
| Extracted_DNA_Volume_uL | 50.0 |
| Input_Sample_Volume_uL | 10.0 |
| Target_Titer_GC_per_mL | 1.0E+13 |
Utility description
Vector Genome Titer qPCR Analyzer — Vector Genome Titer qPCR Analyzer
Vector Genome Titer qPCR Analyzer — Vector Genome Titer qPCR Analyzer
ℹ️ Utility calculates absolute genome copy titer (GC/mL):
• Calculation based on standard curve (Ct, Slope, Intercept)
• PCR quality control (R², Slope)
• Accounting for dilution and extraction factors
• Comparison with target titer
⚠️ CRITICAL: Titer determines therapeutic dose!
Inaccuracy leads to under-treatment or toxicity.
Usage:
VectorGenomeTiterqPCRAnalyzer.exe → demo mode (console output)
VectorGenomeTiterqPCRAnalyzer.exe input.csv output.json → evaluate your data
Input format:
BatchNumber,ProductName,Average_Ct,Standard_Slope,Standard_R2,Standard_Intercept,Dilution_Factor,Reaction_Volume_uL,Extracted_DNA_Volume_uL,Input_Sample_Volume_uL,Target_Titer_GC_per_mL
Example:
CGT-TITER-2026-001,AAV9-CNS-Gene,22.5,-3.35,0.998,38.0,1000.0,20.0,50.0,10.0,1.0E+13
— WHY IS THIS NEEDED?
Titer control is critical for gene therapy (Novartis, BioNTech, Oxford Biomedica):
• Genome copies (GC) are the primary dosing unit for viral vectors
• qPCR allows precise quantification of particles containing transgene
• Important to distinguish full particles from empty (though qPCR sees only DNA, combination with ELISA gives full picture)
• Regulators require validated methods with high accuracy and precision
⚠️ CRITICAL:
• Standard curve R² ≥0.98 — guarantee of linearity and accuracy
• Slope from -3.1 to -3.6 — indicator of amplification efficiency (90-110%)
• Ct in range 10-35 — reliable detection zone
• Titer deviation from target ≤20% — acceptable limit for production batches
• Accounting for all dilution and extraction volumes is mandatory for GC/mL calculation
Key features:
• Automatic absolute titer calculation from raw PCR data
• Assay quality validation by standard curve parameters
• DNA extraction scheme accounting
• Comparison with planned process yield
Critical parameters:
• R²: ≥0.98
• Slope: -3.1...-3.6
• Titer deviation: ≤20%
• Ct: 10–35
💡 Usage tips:
1. Use digital PCR (ddPCR) for absolute titration without standard curve if possible
2. For qPCR, carefully prepare standards with known concentration
3. Account for DNA extraction efficiency (can add internal control)
4. Perform analysis in multiple replicates to reduce variability
5. Compare GC titer with physical particle titer (NTA/ELISA) to calculate Full/Empty ratio
⚠️ Note: Unlike traditional viruses where infectious units (PFU/IU) are titrated, in gene therapy total genome count is often more important, as not all particles are infectious but may deliver cargo. The utility helps standardize this complex calculation.
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.
Vector Genome Titer q PCR Analyzer — FS
Vector Genome Titer q PCR Analyzer
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,Average_Ct,Standard_Slope,Standard_R2,Standard_Intercept,Dilution_Factor,Reaction_Volume_uL,Extracted_DNA_Volume_uL,Input_Sample_Volume_uL,Target_Titer_GC_per_mL CGT-TITER-2026-001,AAV9-CNS-Gene,22.5,-3.35,0.998,38.0,1000.0,20.0,50.0,10.0,1.0E+13 CGT-TITER-2026-002,Lenti-CAR-T,18.0,-3.40,0.995,39.0,500.0,20.0,100.0,50.0,5.0E+12 CGT-TITER-2026-003,Adeno-Onco,25.0,-3.20,0.990,37.5,2000.0,20.0,50.0,20.0,2.0E+11
| Field | Sample |
|---|---|
| BatchNumber | CGT-TITER-2026-001 |
| ProductName | AAV9-CNS-Gene |
| Average_Ct | 22.5 |
| Standard_Slope | -3.35 |
| Standard_R2 | 0.998 |
| Standard_Intercept | 38.0 |
| Dilution_Factor | 1000.0 |
| Reaction_Volume_uL | 20.0 |
| Extracted_DNA_Volume_uL | 50.0 |
| Input_Sample_Volume_uL | 10.0 |
| Target_Titer_GC_per_mL | 1.0E+13 |
Output JSON
{
"Header": {
"UtilityName": "Vector_Genome_Titer_qPCR_Analyzer",
"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
Cell & Gene Therapy / Viral Vector QC Suite
Cell & Gene Therapy / Viral Vector QC Suite: FUZKK utility package for CSV→JSON QC checks with EU-first limit priority.
Open