BloodBasedGenomicProfilingChecker

Blood Based Genomic Profiling

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

Описание утилиты: Blood Based Genomic Profiling

Blood Based Genomic Profiling Checker — Контроль качества жидкой биопсии

ℹ️  Утилита выполняет комплексную оценку качества NGS-данных жидкой биопсии согласно стандартам CAP/CLIA и рекомендациям AMP:
     • Выход cfDNA: Проверка достаточности материала для построения библиотеки.
     • Гемолиз: Оценка уровня разрушения эритроцитов, влияющего на качество экстракции и ПЦР.
     • Глубина покрытия: Контроль среднего и уникального молекулярного покрытия (UMI depth).
     • Предел обнаружения (LOD): Верификация фактической чувствительности теста по VAF.
     • Контаминация gDNA: Оценка доли лейкоцитарной ДНК, маскирующей сигнал ctDNA.

⚠️  ВАЖНО: 
     • Жидкая биопсия работает с предельно низкими концентрациями аналита.
     • Несоблюдение QC-метрик ведет к ложноотрицательным результатам и пропуску терапевтических мишеней.

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

Формат input.csv:
SampleID,PanelName,CfDNA_Yield_ng,Min_CfDNA_Yield_ng,Hemolysis_Index,Max_Hemolysis_Index,Mean_Target_Depth_X,Min_Mean_Depth_X,Unique_Molecular_Depth_X,Min_Unique_Depth_X,LOD_VAF_Percent,Validated_LOD_VAF_Percent,gDNA_Contamination_Percent,Max_gDNA_Contamination_Percent

Пример:
  LB-001,OncoPanel,25.0,5.0,15,50,15000,10000,2500,1000,0.3,0.5,2.5,10.0

📍 Область применения (Usage Where):
     • Клинические лаборатории: Входной контроль данных секвенирования перед биоинформатическим анализом.
     • Онкология: Подбор таргетной терапии и мониторинг ответа на лечение.
     • Разработка тестов: Валидация новых панелей жидкой биопсии.
     • Регуляторный комплаенс: Документирование качества каждого запуска NGS.

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

⚠️  КРИТИЧЕСКИ ВАЖНО:
• UMI Depth: Определяет реальную чувствительность. 1000x UMI ≈ 0.1% LOD.
• gDNA Contamination: >10% лейкоцитарной ДНК существенно снижает отношение сигнал/шум.
• Hemolysis: Высокий индекс гемолиза коррелирует с ингибированием ферментативных реакций.
• LOD: Фактический LOD должен быть не хуже валидированного для каждого образца.

Ключевые особенности утилиты:
• Шестипараметрическая оценка качества жидкой биопсии
• Градуированная система статусов (Pass/Review/Fail)
• Поддержка UMI-based и amplicon-based панелей
• Генерация структурированного QC-отчета
• Соответствие требованиям CAP Molecular Pathology Checklist

Критические параметры:
• cfDNA Yield: ≥ Min Limit
• Hemolysis Index: ≤ Max Limit
• Mean Depth: ≥ Min Limit
• Unique Molecular Depth: ≥ Min Limit
• LOD VAF: ≤ Validated LOD
• gDNA Contamination: ≤ Max Limit

💡 Советы по использованию:
1. Пробирки: Используйте стабилизационные пробирки (Streck/PAXgene) для сохранения целостности cfDNA.
2. Двойное центрифугирование: Обязательно для удаления клеточного дебриса и снижения gDNA.
3. UMI Design: Оптимизируйте дизайн UMI для максимальной сложности библиотеки.
4. Мониторинг трендов: Отслеживайте дрейф QC-метрик во времени для раннего выявления проблем.
5. Повторный запуск: При статусе FAIL рекомендуется повторная экстракция или подготовка библиотеки.

⚠️ Примечание: Данная утилита является инструментом технического контроля качества NGS-данных. Она не заменяет биоинформатический анализ и клиническую интерпретацию, но гарантирует надежность входных данных для этих этапов.

input.csv

SampleID,PanelName,CfDNA_Yield_ng,Min_CfDNA_Yield_ng,Hemolysis_Index,Max_Hemolysis_Index,Mean_Target_Depth_X,Min_Mean_Depth_X,Unique_Molecular_Depth_X,Min_Unique_Depth_X,LOD_VAF_Percent,Validated_LOD_VAF_Percent,gDNA_Contamination_Percent,Max_gDNA_Contamination_Percent
LB-2026-PT-001,OncoLiquid_500,25.0,5.0,15,50,15000,10000,2500,1000,0.3,0.5,2.5,10.0
LB-2026-PT-002,OncoLiquid_500,3.0,5.0,120,50,8000,10000,800,1000,1.2,0.5,25.0,10.0
LB-2026-PT-003,OncoLiquid_500,18.0,5.0,30,50,12000,10000,1800,1000,0.4,0.5,5.0,10.0

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

Документ описывает контролируемый интерфейс и поведение утилиты BloodBasedGenomicProfilingChecker для сценария Blood Based Genomic Profiling Checker.

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

Ниже приведены ключевые фрагменты исходного описания. Перед продуктивным применением пределы должны быть сверены с утверждённой спецификацией, регистрационным досье и локальными SOP.
  • • Предел обнаружения (LOD): Верификация фактической чувствительности теста по VAF.
  • ⚠️ ВАЖНО:
  • • Жидкая биопсия работает с предельно низкими концентрациями аналита.
  • ⚠️ КРИТИЧЕСКИ ВАЖНО:
  • • UMI Depth: Определяет реальную чувствительность. 1000x UMI ≈ 0.1% LOD.
  • • gDNA Contamination: >10% лейкоцитарной ДНК существенно снижает отношение сигнал/шум.
  • Критические параметры:
  • • cfDNA Yield: ≥ Min Limit
  • • Hemolysis Index: ≤ Max Limit
  • • Mean Depth: ≥ Min Limit
  • • Unique Molecular Depth: ≥ Min Limit
  • • LOD VAF: ≤ Validated LOD
  • • gDNA Contamination: ≤ Max Limit

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

IDТребованиеКритичностьКритерий приемки
URS-001Утилита должна принимать файл input.csv для Blood Based Genomic Profiling 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Идентификатор образца или лабораторной пробы.
2PanelNamestring / controlled vocabularyOncoLiquid_500Контролируемый входной параметр для детерминированных QC-правил.
3CfDNA_Yield_ngdecimal25.0Биологический/молекулярный компонент, контролируемый как CQA.
4Min_CfDNA_Yield_ngdecimal5.0Биологический/молекулярный компонент, контролируемый как CQA.
5Hemolysis_Indexdecimal15Контролируемый входной параметр для детерминированных QC-правил.
6Max_Hemolysis_Indexdecimal50Контролируемый входной параметр для детерминированных QC-правил.
7Mean_Target_Depth_Xstring / controlled vocabulary15000Контролируемый входной параметр для детерминированных QC-правил.
8Min_Mean_Depth_Xdecimal10000Контролируемый входной параметр для детерминированных QC-правил.
9Unique_Molecular_Depth_Xdecimal2500Контролируемый входной параметр для детерминированных QC-правил.
10Min_Unique_Depth_Xdecimal1000Контролируемый входной параметр для детерминированных QC-правил.
11LOD_VAF_Percentdecimal0.3Контролируемый входной параметр для детерминированных QC-правил.
12Validated_LOD_VAF_Percentdecimal0.5Контролируемый входной параметр для детерминированных QC-правил.
13gDNA_Contamination_Percentdecimal2.5Биологический/молекулярный компонент, контролируемый как CQA.
14Max_gDNA_Contamination_Percentdecimal10.0Биологический/молекулярный компонент, контролируемый как CQA.
SampleID,PanelName,CfDNA_Yield_ng,Min_CfDNA_Yield_ng,Hemolysis_Index,Max_Hemolysis_Index,Mean_Target_Depth_X,Min_Mean_Depth_X,Unique_Molecular_Depth_X,Min_Unique_Depth_X,LOD_VAF_Percent,Validated_LOD_VAF_Percent,gDNA_Contamination_Percent,Max_gDNA_Contamination_Percent
LB-2026-PT-001,OncoLiquid_500,25.0,5.0,15,50,15000,10000,2500,1000,0.3,0.5,2.5,10.0
LB-2026-PT-002,OncoLiquid_500,3.0,5.0,120,50,8000,10000,800,1000,1.2,0.5,25.0,10.0
LB-2026-PT-003,OncoLiquid_500,18.0,5.0,30,50,12000,10000,1800,1000,0.4,0.5,5.0,10.0

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

IDПолеПравилоКритичность
VR-001SampleIDПоле должно соответствовать утверждённому справочнику/словарю или допустимой строковой форме.High
VR-002PanelNameПоле должно соответствовать утверждённому справочнику/словарю или допустимой строковой форме.High
VR-003CfDNA_Yield_ngПоле должно соответствовать утверждённому справочнику/словарю или допустимой строковой форме.High
VR-004Min_CfDNA_Yield_ngПоле должно соответствовать утверждённому справочнику/словарю или допустимой строковой форме.Medium
VR-005Hemolysis_IndexПоле должно соответствовать утверждённому справочнику/словарю или допустимой строковой форме.Medium
VR-006Max_Hemolysis_IndexПоле должно соответствовать утверждённому справочнику/словарю или допустимой строковой форме.Medium
VR-007Mean_Target_Depth_XПоле должно соответствовать утверждённому справочнику/словарю или допустимой строковой форме.Medium
VR-008Min_Mean_Depth_XПоле должно соответствовать утверждённому справочнику/словарю или допустимой строковой форме.Medium
VR-009Unique_Molecular_Depth_XПоле должно соответствовать утверждённому справочнику/словарю или допустимой строковой форме.Medium
VR-010Min_Unique_Depth_XПоле должно соответствовать утверждённому справочнику/словарю или допустимой строковой форме.Medium
VR-011LOD_VAF_PercentПоле должно соответствовать утверждённому справочнику/словарю или допустимой строковой форме.Medium
VR-012Validated_LOD_VAF_PercentПоле должно соответствовать утверждённому справочнику/словарю или допустимой строковой форме.Medium
VR-013gDNA_Contamination_PercentПоле должно соответствовать утверждённому справочнику/словарю или допустимой строковой форме.Medium
VR-014Max_gDNA_Contamination_PercentПоле должно соответствовать утверждённому справочнику/словарю или допустимой строковой форме.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Применить правила для Blood Based Genomic Profiling 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": "bloodbasedgenomicprofilingchecker",
  "utilityFolder": "BloodBasedGenomicProfilingChecker",
  "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": "PanelName",
      "value": "OncoLiquid_500",
      "status": "PASS|WARNING|FAIL",
      "message": "Deterministic rule-based check result",
      "ruleReference": "FS-RULE-002"
    },
    {
      "parameter": "CfDNA_Yield_ng",
      "value": "25.0",
      "status": "PASS|WARNING|FAIL",
      "message": "Deterministic rule-based check result",
      "ruleReference": "FS-RULE-003"
    },
    {
      "parameter": "Min_CfDNA_Yield_ng",
      "value": "5.0",
      "status": "PASS|WARNING|FAIL",
      "message": "Deterministic rule-based check result",
      "ruleReference": "FS-RULE-004"
    },
    {
      "parameter": "Hemolysis_Index",
      "value": "15",
      "status": "PASS|WARNING|FAIL",
      "message": "Deterministic rule-based check result",
      "ruleReference": "FS-RULE-005"
    },
    {
      "parameter": "Max_Hemolysis_Index",
      "value": "50",
      "status": "PASS|WARNING|FAIL",
      "message": "Deterministic rule-based check result",
      "ruleReference": "FS-RULE-006"
    },
    {
      "parameter": "Mean_Target_Depth_X",
      "value": "15000",
      "status": "PASS|WARNING|FAIL",
      "message": "Deterministic rule-based check result",
      "ruleReference": "FS-RULE-007"
    },
    {
      "parameter": "Min_Mean_Depth_X",
      "value": "10000",
      "status": "PASS|WARNING|FAIL",
      "message": "Deterministic rule-based check result",
      "ruleReference": "FS-RULE-008"
    },
    {
      "parameter": "Unique_Molecular_Depth_X",
      "value": "2500",
      "status": "PASS|WARNING|FAIL",
      "message": "Deterministic rule-based check result",
      "ruleReference": "FS-RULE-009"
    },
    {
      "parameter": "Min_Unique_Depth_X",
      "value": "1000",
      "status": "PASS|WARNING|FAIL",
      "message": "Deterministic rule-based check result",
      "ruleReference": "FS-RULE-010"
    },
    {
      "parameter": "LOD_VAF_Percent",
      "value": "0.3",
      "status": "PASS|WARNING|FAIL",
      "message": "Deterministic rule-based check result",
      "ruleReference": "FS-RULE-011"
    },
    {
      "parameter": "Validated_LOD_VAF_Percent",
      "value": "0.5",
      "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": "BloodBasedGenomicProfilingChecker.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, контроль образцов, контаминации, чувствительности и отчётности.

Открыть