DdpcrMutationQuantificationChecker

Ddpcr Mutation Quantification

Liquid Biopsy жидкостная биопсия cfDNA ctDNA CTC exosomes NGS qPCR
Открыть подборку

Описание утилиты: Ddpcr Mutation Quantification

Ddpcr Mutation Quantification Checker — Валидация квантификации мутаций ddPCR

ℹ️  Утилита выполняет комплексную проверку результатов абсолютной квантификации соматических мутаций согласно MIQE-dPCR, CLSI MM26 и стандартам жидкой биопсии:
     • Статистическая достоверность: Оценка числа позитивных капель и ширины 95% доверительного интервала.
     • NTC Purity: Контроль отсутствия ложноположительных сигналов в негативных контролях.
     • Reproducibility: Проверка воспроизводимости технических реплик (CV%).
     • LOD/LOQ Classification: Четкое разделение на надежно квантифицируемые, обнаруженные ниже LOQ и необнаруженные результаты.
     • Poisson Compliance: Верификация применимости распределения Пуассона к данным.

⚠️  ВАЖНО: 
     • При <3 позитивных каплях результат находится в зоне стохастической неопределенности.
     • Любая контаминация NTC делает положительные результаты образца недостоверными.
     • Результаты ниже LOQ НЕЛЬЗЯ использовать для расчета fold-change или мониторинга ответа на терапию.

Использование:
  DdpcrMutationQuantificationChecker.exe                            → демо-режим (вывод в консоль)
  DdpcrMutationQuantificationChecker.exe input.csv output.json      → оценка ваших данных

Формат input.csv:
SampleID,MutationTarget,PositiveDroplets,NegativeDroplets,TotalAcceptedDroplets,MeasuredConcentration_copies_uL,DilutionFactor,FinalConcentration_copies_mL,VAF_Percent,LOD_copies_mL,LOQ_copies_mL,NTC_PositiveDroplets,MaxNTC_Positives,ReplicateCV_Percent,MaxReplicateCV_Percent,LowerCI_95,UpperCI_95

Пример:
  LB-001,EGFR_L858R,145,19855,20000,7.3,1.0,7300,2.8,50,200,0,2,8.5,25,6100,8600

📍 Область применения (Usage Where):
     • Жидкая биопсия: Мониторинг минимальной остаточной болезни (MRD) и ответа на терапию.
     • Клиническая онкология: Детекция резистентных мутаций (EGFR T790M, KRAS G12C).
     • Разработка companion diagnostics: Валидация аналитических характеристик теста.
     • Регуляторные подачи: Документирование аналитической валидности ddPCR-ассays.

— ЗАЧЕМ ЭТО НУЖНО?
ddPCR работает на пределе чувствительности, где каждый позитивный сигнал имеет значение.
Без строгой статистической проверки легко принять шум за мутацию или переоценить точность редкого события.
Автоматизированная валидация гарантирует, что клиническое решение основано на статистически обоснованных данных.

⚠️  КРИТИЧЕСКИ ВАЖНО:
• NTC Contamination: >Max positives = INVALID. Все результаты под вопросом.
• Below LOQ: Качественный результат только. Не использовать для трендов.
• Replicate CV: >25% при >10 позитивных каплях указывает на проблему пипетирования или гомогенизации.
• CI Width: Ширина >50% от значения = низкая уверенность, требуется больше капель или концентрация пробы.
• Zero Positives: «Not Detected» валиден только при достаточном общем числе капель (>10 000).

Ключевые особенности утилиты:
• Четырёхстатусная классификация результатов
• Автоматический расчет и проверка 95% CI
• Интегрированная проверка NTC и реплик
• Поддержка множественных мутационных мишеней
• Соответствие MIQE-dPCR и CLSI MM26

Критические параметры:
• Positive Droplets: ≥3 for reliable detection
• NTC Positives: ≤ Max allowed
• Replicate CV: ≤ 25%
• Concentration vs LOQ: Determines reporting category
• 95% CI Width: ≤ 50% of measured value

💡 Советы по использованию:
1. LOQ Establishment: Устанавливайте LOQ на основе серии разведений с CV≤25% и ≥95% детекции.
2. NTC Design: Используйте минимум 3 лунки NTC на пластину для надежного контроля фона.
3. Replicates: Минимум 2 технические реплики для каждого образца.
4. Reporting: Для результатов ниже LOQ указывайте «Detected, <LOQ» вместо конкретного числа.
5. Trend Monitoring: При мониторинге MRD используйте только результаты выше LOQ для количественных выводов.

⚠️ Примечание: Данная утилита является инструментом статистической валидации. Она не заменяет клиническую интерпретацию онколога, но гарантирует, что числовые данные ddPCR статистически достоверны и пригодны для принятия решений.

input.csv

SampleID,MutationTarget,PositiveDroplets,NegativeDroplets,TotalAcceptedDroplets,MeasuredConcentration_copies_uL,DilutionFactor,FinalConcentration_copies_mL,VAF_Percent,LOD_copies_mL,LOQ_copies_mL,NTC_PositiveDroplets,MaxNTC_Positives,ReplicateCV_Percent,MaxReplicateCV_Percent,LowerCI_95,UpperCI_95
LB-2026-PT-001,EGFR L858R,145,19855,20000,7.3,1.0,7300,2.8,50,200,0,2,8.5,25.0,6100,8600
LB-2026-PT-002,KRAS G12D,3,19997,20000,0.15,1.0,150,0.04,50,200,0,2,45.0,25.0,30,420
LB-2026-PT-003,BRAF V600E,28,19972,20000,1.4,1.0,1400,0.5,50,200,5,2,38.0,25.0,900,1950
LB-2026-PT-004,PIK3CA H1047R,0,20000,20000,0.0,1.0,0,0.0,50,200,0,2,0.0,25.0,0,0

URS & FS — спецификация пользователя и функциональная спецификация

Документ описывает контролируемый интерфейс и поведение утилиты DdpcrMutationQuantificationChecker для сценария Ddpcr Mutation Quantification Checker.

Предметные ограничения и критические параметры

Ниже приведены ключевые фрагменты исходного описания. Перед продуктивным применением пределы должны быть сверены с утверждённой спецификацией, регистрационным досье и локальными SOP.
  • • NTC Purity: Контроль отсутствия ложноположительных сигналов в негативных контролях.
  • • Poisson Compliance: Верификация применимости распределения Пуассона к данным.
  • ⚠️ ВАЖНО:
  • • При <3 позитивных каплях результат находится в зоне стохастической неопределенности.
  • ddPCR работает на пределе чувствительности, где каждый позитивный сигнал имеет значение.
  • ⚠️ КРИТИЧЕСКИ ВАЖНО:
  • • NTC Contamination: >Max positives = INVALID. Все результаты под вопросом.
  • • Replicate CV: >25% при >10 позитивных каплях указывает на проблему пипетирования или гомогенизации.
  • • CI Width: Ширина >50% от значения = низкая уверенность, требуется больше капель или концентрация пробы.
  • • Zero Positives: «Not Detected» валиден только при достаточном общем числе капель (>10 000).
  • Критические параметры:
  • • Positive Droplets: ≥3 for reliable detection
  • • NTC Positives: ≤ Max allowed
  • • Replicate CV: ≤ 25%
  • • 95% CI Width: ≤ 50% of measured value
  • 1. LOQ Establishment: Устанавливайте LOQ на основе серии разведений с CV≤25% и ≥95% детекции.
  • 4. Reporting: Для результатов ниже LOQ указывайте «Detected, <LOQ» вместо конкретного числа.

URS — пользовательские требования

IDТребованиеКритичностьКритерий приемки
URS-001Утилита должна принимать файл input.csv для Ddpcr Mutation Quantification Checker с заголовками, определёнными в контракте данных.HighФайл обрабатывается без ручного изменения заголовков.
URS-002Утилита должна выполнять детерминированную оценку QC/ОКК без машинного обучения и без вероятностного принятия решения о соответствии.HighПри одинаковых входных данных, версии правил и конфигурации результат полностью воспроизводим.
URS-003Утилита должна валидировать обязательные поля, типы данных, диапазоны, единицы измерения и предметную правдоподобность значений.HighОшибки схемы, преобразования и диапазона явно отражаются в результате.
URS-004Утилита должна применять предметные пределы и правила из описания, утверждённой спецификации, регистрационного досье и локальных SOP.HighКаждая проверка имеет результат PASS/WARNING/FAIL и понятное сообщение.
URS-005Утилита должна формировать output.json с машинно-читаемыми результатами, исходными значениями, предупреждениями, отказами и критическими находками.HighJSON пригоден для LIMS/ELN/MES-интеграции и QA/QC review.
URS-006Утилита должна сохранять трассируемость между серией/образцом, входным файлом, применёнными правилами и итоговым статусом.HighВыход содержит идентификаторы, список параметров и audit metadata.
URS-007Документация должна поддерживать подготовку IQ/OQ/PQ, CSV/CSA и обсуждение с инспекторами или внутренним QA.MediumURS, FS, контракт input/output и тестовые сценарии поставляются вместе с утилитой.
URS-008Утилита должна использоваться как decision-support инструмент QC, а не как замена утверждённым спецификациям и выпускному решению Qualified Person/QA.MediumВ документации указан контроль change control и необходимость сверки пределов.

Контракт input.csv

#ПолеТипПримерНазначение
1SampleIDstring / controlled vocabularyLB-2026-PT-001Идентификатор образца или лабораторной пробы.
2MutationTargetstring / controlled vocabularyEGFR L858RКонтролируемый входной параметр для детерминированных QC-правил.
3PositiveDropletsdecimal145Контролируемый входной параметр для детерминированных QC-правил.
4NegativeDropletsdecimal19855Контролируемый входной параметр для детерминированных QC-правил.
5TotalAcceptedDropletsdecimal20000Контролируемый входной параметр для детерминированных QC-правил.
6MeasuredConcentration_copies_uLdecimal7.3Отношение компонентов; структурный или рецептурный CQA.
7DilutionFactordecimal1.0Контролируемый входной параметр для детерминированных QC-правил.
8FinalConcentration_copies_mLdecimal7300Объём/доза; используется для расчёта нагрузки, предела или выпуска.
9VAF_Percentdecimal2.8Контролируемый входной параметр для детерминированных QC-правил.
10LOD_copies_mLdecimal50Объём/доза; используется для расчёта нагрузки, предела или выпуска.
11LOQ_copies_mLdecimal200Объём/доза; используется для расчёта нагрузки, предела или выпуска.
12NTC_PositiveDropletsdecimal0Контролируемый входной параметр для детерминированных QC-правил.
13MaxNTC_Positivesdecimal2Контролируемый входной параметр для детерминированных QC-правил.
14ReplicateCV_Percentdecimal8.5Контролируемый входной параметр для детерминированных QC-правил.
15MaxReplicateCV_Percentdecimal25.0Контролируемый входной параметр для детерминированных QC-правил.
16LowerCI_95decimal6100Контролируемый входной параметр для детерминированных QC-правил.
17UpperCI_95decimal8600Контролируемый входной параметр для детерминированных QC-правил.
SampleID,MutationTarget,PositiveDroplets,NegativeDroplets,TotalAcceptedDroplets,MeasuredConcentration_copies_uL,DilutionFactor,FinalConcentration_copies_mL,VAF_Percent,LOD_copies_mL,LOQ_copies_mL,NTC_PositiveDroplets,MaxNTC_Positives,ReplicateCV_Percent,MaxReplicateCV_Percent,LowerCI_95,UpperCI_95
LB-2026-PT-001,EGFR L858R,145,19855,20000,7.3,1.0,7300,2.8,50,200,0,2,8.5,25.0,6100,8600
LB-2026-PT-002,KRAS G12D,3,19997,20000,0.15,1.0,150,0.04,50,200,0,2,45.0,25.0,30,420
LB-2026-PT-003,BRAF V600E,28,19972,20000,1.4,1.0,1400,0.5,50,200,5,2,38.0,25.0,900,1950

Правила валидации входных данных

IDПолеПравилоКритичность
VR-001SampleIDПоле должно соответствовать утверждённому справочнику/словарю или допустимой строковой форме.High
VR-002MutationTargetПоле должно соответствовать утверждённому справочнику/словарю или допустимой строковой форме.High
VR-003PositiveDropletsПоле должно соответствовать утверждённому справочнику/словарю или допустимой строковой форме.High
VR-004NegativeDropletsПоле должно соответствовать утверждённому справочнику/словарю или допустимой строковой форме.Medium
VR-005TotalAcceptedDropletsПоле должно соответствовать утверждённому справочнику/словарю или допустимой строковой форме.Medium
VR-006MeasuredConcentration_copies_uLПоле должно соответствовать утверждённому справочнику/словарю или допустимой строковой форме.Medium
VR-007DilutionFactorПоле должно соответствовать утверждённому справочнику/словарю или допустимой строковой форме.Medium
VR-008FinalConcentration_copies_mLПоле должно соответствовать утверждённому справочнику/словарю или допустимой строковой форме.Medium
VR-009VAF_PercentПоле должно соответствовать утверждённому справочнику/словарю или допустимой строковой форме.Medium
VR-010LOD_copies_mLПоле должно соответствовать утверждённому справочнику/словарю или допустимой строковой форме.Medium
VR-011LOQ_copies_mLПоле должно соответствовать утверждённому справочнику/словарю или допустимой строковой форме.Medium
VR-012NTC_PositiveDropletsПоле должно соответствовать утверждённому справочнику/словарю или допустимой строковой форме.Medium
VR-013MaxNTC_PositivesПоле должно соответствовать утверждённому справочнику/словарю или допустимой строковой форме.Medium
VR-014ReplicateCV_PercentПоле должно соответствовать утверждённому справочнику/словарю или допустимой строковой форме.Medium
VR-015MaxReplicateCV_PercentПоле должно соответствовать утверждённому справочнику/словарю или допустимой строковой форме.Medium
VR-016LowerCI_95Поле должно соответствовать утверждённому справочнику/словарю или допустимой строковой форме.Medium
VR-017UpperCI_95Поле должно соответствовать утверждённому справочнику/словарю или допустимой строковой форме.Medium

FS — функциональная спецификация

IDФункцияРеализация
FS-001CLI executionПоддержать режимы запуска: demo mode без аргументов и production mode input.csv output.json.
FS-002CSV importПрочитать input.csv в UTF-8/CSV-совместимом формате, проверить наличие заголовка и ожидаемых колонок.
FS-003Schema validationПроверить обязательные поля, количество колонок, неизвестные ключевые поля и пустые обязательные значения.
FS-004Type conversionПреобразовать числовые, флаговые и текстовые значения; некорректный формат фиксировать как ошибку строки.
FS-005Domain rule engineПрименить правила для Ddpcr Mutation Quantification Checker, включая критические пределы из описания и утверждённой спецификации.
FS-006Status aggregationСформировать итоговый статус: FAIL при критическом отказе, WARNING при некритическом отклонении, PASS при соответствии.
FS-007JSON exportЗаписать output.json с детализацией проверок, исходными значениями, предупреждениями, отказами и critical findings.
FS-008Audit supportСохранять структуру результата пригодной для review, расследования отклонений и воспроизведения расчёта.
FS-009Integration contractПоддержать сценарий LIMS/ELN/MES → input.csv → utility → output.json → portal/admin review.
FS-010Error handlingВозвращать явные сообщения для отсутствующего файла, пустого CSV, неверной схемы, ошибки записи output.json и некорректного формата.

Пример output.json

{
  "utilityId": "ddpcrmutationquantificationchecker",
  "utilityFolder": "DdpcrMutationQuantificationChecker",
  "package": "LiquidBiopsy",
  "overallStatus": "PASS|WARNING|FAIL",
  "sourceFile": "input.csv",
  "processedAtUtc": "2026-06-10T00:00:00Z",
  "checks": [
    {
      "parameter": "SampleID",
      "value": "LB-2026-PT-001",
      "status": "PASS|WARNING|FAIL",
      "message": "Deterministic rule-based check result",
      "ruleReference": "FS-RULE-001"
    },
    {
      "parameter": "MutationTarget",
      "value": "EGFR L858R",
      "status": "PASS|WARNING|FAIL",
      "message": "Deterministic rule-based check result",
      "ruleReference": "FS-RULE-002"
    },
    {
      "parameter": "PositiveDroplets",
      "value": "145",
      "status": "PASS|WARNING|FAIL",
      "message": "Deterministic rule-based check result",
      "ruleReference": "FS-RULE-003"
    },
    {
      "parameter": "NegativeDroplets",
      "value": "19855",
      "status": "PASS|WARNING|FAIL",
      "message": "Deterministic rule-based check result",
      "ruleReference": "FS-RULE-004"
    },
    {
      "parameter": "TotalAcceptedDroplets",
      "value": "20000",
      "status": "PASS|WARNING|FAIL",
      "message": "Deterministic rule-based check result",
      "ruleReference": "FS-RULE-005"
    },
    {
      "parameter": "MeasuredConcentration_copies_uL",
      "value": "7.3",
      "status": "PASS|WARNING|FAIL",
      "message": "Deterministic rule-based check result",
      "ruleReference": "FS-RULE-006"
    },
    {
      "parameter": "DilutionFactor",
      "value": "1.0",
      "status": "PASS|WARNING|FAIL",
      "message": "Deterministic rule-based check result",
      "ruleReference": "FS-RULE-007"
    },
    {
      "parameter": "FinalConcentration_copies_mL",
      "value": "7300",
      "status": "PASS|WARNING|FAIL",
      "message": "Deterministic rule-based check result",
      "ruleReference": "FS-RULE-008"
    },
    {
      "parameter": "VAF_Percent",
      "value": "2.8",
      "status": "PASS|WARNING|FAIL",
      "message": "Deterministic rule-based check result",
      "ruleReference": "FS-RULE-009"
    },
    {
      "parameter": "LOD_copies_mL",
      "value": "50",
      "status": "PASS|WARNING|FAIL",
      "message": "Deterministic rule-based check result",
      "ruleReference": "FS-RULE-010"
    },
    {
      "parameter": "LOQ_copies_mL",
      "value": "200",
      "status": "PASS|WARNING|FAIL",
      "message": "Deterministic rule-based check result",
      "ruleReference": "FS-RULE-011"
    },
    {
      "parameter": "NTC_PositiveDroplets",
      "value": "0",
      "status": "PASS|WARNING|FAIL",
      "message": "Deterministic rule-based check result",
      "ruleReference": "FS-RULE-012"
    }
  ],
  "criticalFindings": [],
  "warnings": [],
  "audit": {
    "inputHash": "sha256:<calculated at runtime>",
    "rulesVersion": "<utility executable version>",
    "documentation": "DdpcrMutationQuantificationChecker.documentation.html"
  }
}

Матрица трассируемости

URSFSТестПодтверждение
URS-001FS-001, FS-002OQ-001Проверить запуск и импорт валидного input.csv.
URS-002FS-005, FS-006OQ-004Повторить один и тот же набор данных и сравнить output.json.
URS-003FS-003, FS-004, FS-010OQ-002, OQ-003Проверить отсутствующие колонки и неверные типы.
URS-004FS-005, FS-006OQ-004, PQ-001Проверить критические отклонения по реальным/граничным данным.
URS-005FS-007, FS-009OQ-005Проверить JSON schema и пригодность для downstream-систем.
URS-006FS-008OQ-006Проверить наличие идентификаторов и audit metadata.
URS-007FS-008, FS-010IQ-001, OQ-007Проверить комплектность документации и control evidence.
URS-008FS-005, FS-008PQ-002Проверить review workflow и запрет автоматической замены QA-решения.

IQ/OQ/PQ тестовые сценарии

IDСценарийОжидаемый результат
IQ-001Проверить наличие executable, input.csv, документации и контрольной суммы.Комплект поставки полон; версия зафиксирована.
OQ-001Валидная строка из примера input.csv.PASS или допустимый WARNING согласно правилам.
OQ-002Удалить обязательную колонку из CSV.Ошибка схемы или FAIL с указанием отсутствующей колонки.
OQ-003Внести нечисловое значение в числовое поле.Ошибка преобразования типа с указанием строки/поля.
OQ-004Значение критического параметра вывести за предел.FAIL и critical finding.
OQ-005Проверить структуру output.json.Все обязательные секции присутствуют, JSON валиден.
OQ-006Проверить трассируемость серии/образца.Идентификаторы входа и результатов совпадают.
PQ-001Проверить 3–5 реальных партий/образцов пользователя.Результат подтверждён QC/QA review.
PQ-002Проверить workflow отклонения и ручного QA-решения.Утилита поддерживает review, но не заменяет утверждённое решение.

QA/QC и change control

  • Не менять имена колонок без обновления валидатора, документации и тестового набора.
  • Хранить input.csv, output.json, версию исполняемого файла и контрольную сумму.
  • Перед продуктивным использованием провести IQ/OQ/PQ или эквивалентную CSV/CSA-проверку.
  • Критические пределы должны быть сверены с утверждённой спецификацией, регистрационным досье и локальными SOP.
  • Утилита предоставляет формализованный QC decision support, но окончательное решение выпуска остаётся за QA/QP и утверждёнными процедурами.

Входит в пакеты

Жидкостная биопсия

Пакет для QC и преданалитического контроля жидкостной биопсии: cfDNA/ctDNA, CTC, EV/exosomes, метилирование, NGS/qPCR/ddPCR, контроль образцов, контаминации, чувствительности и отчётности.

Открыть