PlasmaInputVolumeChecker

Plasma Input Volume

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

Описание утилиты: Plasma Input Volume

Plasma Input Volume Checker — Верификация адекватности объема плазмы для жидкой биопсии

ℹ️  Утилита выполняет расчетную оценку достаточности объема плазмы согласно CAP/CLIA, FDA NGS guidance для liquid biopsy, инструкциям IVD и стандартам Blood Profiling Atlas:

     ОБЪЕМНЫЕ ПАРАМЕТРЫ:
     • Available Volume ≥ Protocol Minimum: Фактический объем против требования протокола.
     • Effective Volume: Доступный объем минус мертвый объем экстракционного кита.
     • Optimal Volume: Рекомендуемый объем для наилучшей чувствительности.

     РАСЧЕТ ГЕНОМНЫХ ЭКВИВАЛЕНТОВ:
     • GE = cfDNA_conc (ng/mL) × effective_volume (mL) × GE_factor / 1000.
     • Типичная концентрация cfDNA: 5–30 нг/мл (выше при опухолевой нагрузке).
     • Коэффициент GE: ~660 GE/мл на 1 нг/мл cfDNA.

     ТЕОРЕТИЧЕСКИЙ ДОСТИЖИМЫЙ LOD:
     • LOD = 3 / (GE_input × extraction_eff × lib_prep_eff).
     • Основан на статистике Пуассона: 3 молекулы для 95% вероятности детекции.
     • Сравнивается с целевым LOD ассая (0.01% для MRD, 0.5% для скрининга).

     МОДИФИКАТОРЫ КАЧЕСТВА:
     • Hemolysis Index ≤ 50: Гемолиз увеличивает gDNA фон, снижая эффективную долю cfDNA.
     • Lipemia Index ≤ 100: Липемия может ингибировать экстракцию и подготовку библиотеки.
     • Time to Processing: Превышение лимита ведет к деградации cfDNA и лизису клеток.

     КЛИНИЧЕСКИЙ КОНТЕКСТ:
     • Recollection Possible: Возможность повторного забора определяет тактику.
     • Only Available Sample: Невозможность повтора требует обсуждения альтернатив.
     • Priority (STAT/Routine): Влияет на решение о тестировании с маргинальным объемом.

⚠️  ВАЖНО:
     • LOD ОБРАТНО ПРОПОРЦИОНАЛЕН ОБЪЕМУ. 1 мл вместо 4 мл = 4× худший LOD.
     • Для MRD (LOD 0.01%) обычно требуется ≥2–4 мл плазмы. Меньше = LOD недостижим.
     • Мертвый объем кита (0.2–0.5 мл) существенно влияет при малых объемах.
     • Гемолиз >50 снижает эффективный выход cfDNA на 20–40%.
     • При невозможности повторного забора обсудите с клиницистом: альтернативный ассай с более высоким LOD или скорректированный порог отчетности.
     • Концентрация cfDNA вариабельна; используйте измеренное значение, не предполагаемое.

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

📍 Область применения:
     • Входной QC жидкой биопсии: Проверка перед началом экстракции.
     • Планирование забора: Определение необходимого объема для целевого LOD.
     • Триaж образцов: Решение о пригодности для конкретного теста.
     • Клинические консультации: Обоснование запроса на повторный забор.
     • Валидация протоколов: Подтверждение объема для заявленной чувствительности.

💡 Советы:
1. Pre-Analytical SOP: Стандартизируйте объем забора (рекомендуется 2×10 мл Streck для MRD).
2. cfDNA Quantification: Измеряйте концентрацию cfDNA ДО принятия решения о тестировании.
3. Dead Volume Awareness: Учитывайте мертвый объем конкретного экстракционного кита.
4. Volume Buffer: Забирайте на 20–30% больше минимального объема для компенсации потерь.
5. Alternative Assays: Ведите матрицу «объем ↔ достижимый LOD» для каждого доступного ассая.

⚠️ Примечание: Утилита выполняет ТЕОРЕТИЧЕСКИЙ РАСЧЕТ достижимого LOD. Реальный LOD должен быть подтвержден эмпирически при валидации ассая. Расчет предполагает идеальные условия; фактическая чувствительность может быть ниже из-за биологической и технической вариабельности.

input.csv

SampleID,PatientID,OrderedTest,ClinicalContext,PlasmaVolumeAvailable_mL,ProtocolMinVolume_mL,OptimalVolume_mL,DeadVolume_mL,EffectiveVolume_mL,TargetLOD_VAF_Percent,CfDNA_Concentration_ng_mL,GenomeEquivalents_PerML,ExtractionEfficiency_Percent,LibraryPrepEfficiency_Percent,HemolysisIndex,MaxHemolysisIndex,LipemiaIndex,MaxLipemiaIndex,SampleRecollect_Possible,TubeType,TimeToProcessing_Hours,MaxTimeToProcessing_Hours,Priority,IsOnlyAvailableSample
PV-2026-001,PAT-LUNG-042,MRD_Signatera,MRD,4.0,2.0,4.0,0.2,3.8,0.01,18.0,660,75,55,5,50,8,100,true,Streck,2.0,72,Routine,false
PV-2026-002,PAT-CRC-055,MRD_Signatera,MRD,1.0,2.0,4.0,0.2,0.8,0.01,12.0,660,70,50,15,50,12,100,false,EDTA,3.0,4,STAT,true
PV-2026-003,PAT-BRCA-061,Guardant360,Resistance,2.5,2.0,4.0,0.3,2.2,0.5,22.0,660,65,45,48,50,25,100,true,Streck,18.0,72,Routine,false

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

Документ описывает контролируемый интерфейс и поведение утилиты PlasmaInputVolumeChecker для сценария Plasma Input Volume Checker.

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

Ниже приведены ключевые фрагменты исходного описания. Перед продуктивным применением пределы должны быть сверены с утверждённой спецификацией, регистрационным досье и локальными SOP.
  • • Available Volume ≥ Protocol Minimum: Фактический объем против требования протокола.
  • • Hemolysis Index ≤ 50: Гемолиз увеличивает gDNA фон, снижая эффективную долю cfDNA.
  • • Lipemia Index ≤ 100: Липемия может ингибировать экстракцию и подготовку библиотеки.
  • • Recollection Possible: Возможность повторного забора определяет тактику.
  • ⚠️ ВАЖНО:
  • • Для MRD (LOD 0.01%) обычно требуется ≥2–4 мл плазмы. Меньше = LOD недостижим.
  • • Гемолиз >50 снижает эффективный выход cfDNA на 20–40%.
  • • Планирование забора: Определение необходимого объема для целевого LOD.

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

IDТребованиеКритичностьКритерий приемки
URS-001Утилита должна принимать файл input.csv для Plasma Input Volume 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 vocabularyPV-2026-001Идентификатор образца или лабораторной пробы.
2PatientIDstring / controlled vocabularyPAT-LUNG-042Контролируемый входной параметр для детерминированных QC-правил.
3OrderedTeststring / controlled vocabularyMRD_SignateraКонтролируемый входной параметр для детерминированных QC-правил.
4ClinicalContextstring / controlled vocabularyMRDКонтролируемый входной параметр для детерминированных QC-правил.
5PlasmaVolumeAvailable_mLdecimal4.0Объём/доза; используется для расчёта нагрузки, предела или выпуска.
6ProtocolMinVolume_mLdecimal2.0Объём/доза; используется для расчёта нагрузки, предела или выпуска.
7OptimalVolume_mLdecimal4.0Объём/доза; используется для расчёта нагрузки, предела или выпуска.
8DeadVolume_mLdecimal0.2Объём/доза; используется для расчёта нагрузки, предела или выпуска.
9EffectiveVolume_mLdecimal3.8Объём/доза; используется для расчёта нагрузки, предела или выпуска.
10TargetLOD_VAF_Percentdecimal0.01Контролируемый входной параметр для детерминированных QC-правил.
11CfDNA_Concentration_ng_mLdecimal18.0Объём/доза; используется для расчёта нагрузки, предела или выпуска.
12GenomeEquivalents_PerMLdecimal660Контролируемый входной параметр для детерминированных QC-правил.
13ExtractionEfficiency_Percentdecimal75Контролируемый входной параметр для детерминированных QC-правил.
14LibraryPrepEfficiency_Percentdecimal55Контролируемый входной параметр для детерминированных QC-правил.
15HemolysisIndexdecimal5Контролируемый входной параметр для детерминированных QC-правил.
16MaxHemolysisIndexdecimal50Контролируемый входной параметр для детерминированных QC-правил.
17LipemiaIndexdecimal8Контролируемый входной параметр для детерминированных QC-правил.
18MaxLipemiaIndexdecimal100Контролируемый входной параметр для детерминированных QC-правил.
19SampleRecollect_Possiblestring / controlled vocabularytrueИдентификатор образца или лабораторной пробы.
20TubeTypestring / controlled vocabularyStreckКонтролируемый входной параметр для детерминированных QC-правил.
21TimeToProcessing_Hoursinteger / decimal2.0Временной параметр процесса, инкубации, хранения или анализа.
22MaxTimeToProcessing_Hoursinteger / decimal72Временной параметр процесса, инкубации, хранения или анализа.
23Prioritystring / controlled vocabularyRoutineКонтролируемый входной параметр для детерминированных QC-правил.
24IsOnlyAvailableSamplestring / controlled vocabularyfalseИдентификатор образца или лабораторной пробы.
SampleID,PatientID,OrderedTest,ClinicalContext,PlasmaVolumeAvailable_mL,ProtocolMinVolume_mL,OptimalVolume_mL,DeadVolume_mL,EffectiveVolume_mL,TargetLOD_VAF_Percent,CfDNA_Concentration_ng_mL,GenomeEquivalents_PerML,ExtractionEfficiency_Percent,LibraryPrepEfficiency_Percent,HemolysisIndex,MaxHemolysisIndex,LipemiaIndex,MaxLipemiaIndex,SampleRecollect_Possible,TubeType,TimeToProcessing_Hours,MaxTimeToProcessing_Hours,Priority,IsOnlyAvailableSample
PV-2026-001,PAT-LUNG-042,MRD_Signatera,MRD,4.0,2.0,4.0,0.2,3.8,0.01,18.0,660,75,55,5,50,8,100,true,Streck,2.0,72,Routine,false
PV-2026-002,PAT-CRC-055,MRD_Signatera,MRD,1.0,2.0,4.0,0.2,0.8,0.01,12.0,660,70,50,15,50,12,100,false,EDTA,3.0,4,STAT,true
PV-2026-003,PAT-BRCA-061,Guardant360,Resistance,2.5,2.0,4.0,0.3,2.2,0.5,22.0,660,65,45,48,50,25,100,true,Streck,18.0,72,Routine,false

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

IDПолеПравилоКритичность
VR-001SampleIDПоле должно соответствовать утверждённому справочнику/словарю или допустимой строковой форме.High
VR-002PatientIDПоле должно соответствовать утверждённому справочнику/словарю или допустимой строковой форме.High
VR-003OrderedTestПоле должно соответствовать утверждённому справочнику/словарю или допустимой строковой форме.High
VR-004ClinicalContextПоле должно соответствовать утверждённому справочнику/словарю или допустимой строковой форме.Medium
VR-005PlasmaVolumeAvailable_mLПоле должно соответствовать утверждённому справочнику/словарю или допустимой строковой форме.Medium
VR-006ProtocolMinVolume_mLПоле должно соответствовать утверждённому справочнику/словарю или допустимой строковой форме.Medium
VR-007OptimalVolume_mLПоле должно соответствовать утверждённому справочнику/словарю или допустимой строковой форме.Medium
VR-008DeadVolume_mLПоле должно соответствовать утверждённому справочнику/словарю или допустимой строковой форме.Medium
VR-009EffectiveVolume_mLПоле должно соответствовать утверждённому справочнику/словарю или допустимой строковой форме.Medium
VR-010TargetLOD_VAF_PercentПоле должно соответствовать утверждённому справочнику/словарю или допустимой строковой форме.Medium
VR-011CfDNA_Concentration_ng_mLПоле должно соответствовать утверждённому справочнику/словарю или допустимой строковой форме.Medium
VR-012GenomeEquivalents_PerMLПоле должно соответствовать утверждённому справочнику/словарю или допустимой строковой форме.Medium
VR-013ExtractionEfficiency_PercentПоле должно соответствовать утверждённому справочнику/словарю или допустимой строковой форме.Medium
VR-014LibraryPrepEfficiency_PercentПоле должно соответствовать утверждённому справочнику/словарю или допустимой строковой форме.Medium
VR-015HemolysisIndexПоле должно соответствовать утверждённому справочнику/словарю или допустимой строковой форме.Medium
VR-016MaxHemolysisIndexПоле должно соответствовать утверждённому справочнику/словарю или допустимой строковой форме.Medium
VR-017LipemiaIndexПоле должно соответствовать утверждённому справочнику/словарю или допустимой строковой форме.Medium
VR-018MaxLipemiaIndexПоле должно соответствовать утверждённому справочнику/словарю или допустимой строковой форме.Medium
VR-019SampleRecollect_PossibleПоле должно соответствовать утверждённому справочнику/словарю или допустимой строковой форме.Medium
VR-020TubeTypeПоле должно соответствовать утверждённому справочнику/словарю или допустимой строковой форме.Medium
VR-021TimeToProcessing_HoursПоле должно соответствовать утверждённому справочнику/словарю или допустимой строковой форме.Medium
VR-022MaxTimeToProcessing_HoursПоле должно соответствовать утверждённому справочнику/словарю или допустимой строковой форме.Medium
VR-023PriorityПоле должно соответствовать утверждённому справочнику/словарю или допустимой строковой форме.Medium
VR-024IsOnlyAvailableSampleПоле должно соответствовать утверждённому справочнику/словарю или допустимой строковой форме.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Применить правила для Plasma Input Volume 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": "plasmainputvolumechecker",
  "utilityFolder": "PlasmaInputVolumeChecker",
  "package": "LiquidBiopsy",
  "overallStatus": "PASS|WARNING|FAIL",
  "sourceFile": "input.csv",
  "processedAtUtc": "2026-06-10T00:00:00Z",
  "checks": [
    {
      "parameter": "SampleID",
      "value": "PV-2026-001",
      "status": "PASS|WARNING|FAIL",
      "message": "Deterministic rule-based check result",
      "ruleReference": "FS-RULE-001"
    },
    {
      "parameter": "PatientID",
      "value": "PAT-LUNG-042",
      "status": "PASS|WARNING|FAIL",
      "message": "Deterministic rule-based check result",
      "ruleReference": "FS-RULE-002"
    },
    {
      "parameter": "OrderedTest",
      "value": "MRD_Signatera",
      "status": "PASS|WARNING|FAIL",
      "message": "Deterministic rule-based check result",
      "ruleReference": "FS-RULE-003"
    },
    {
      "parameter": "ClinicalContext",
      "value": "MRD",
      "status": "PASS|WARNING|FAIL",
      "message": "Deterministic rule-based check result",
      "ruleReference": "FS-RULE-004"
    },
    {
      "parameter": "PlasmaVolumeAvailable_mL",
      "value": "4.0",
      "status": "PASS|WARNING|FAIL",
      "message": "Deterministic rule-based check result",
      "ruleReference": "FS-RULE-005"
    },
    {
      "parameter": "ProtocolMinVolume_mL",
      "value": "2.0",
      "status": "PASS|WARNING|FAIL",
      "message": "Deterministic rule-based check result",
      "ruleReference": "FS-RULE-006"
    },
    {
      "parameter": "OptimalVolume_mL",
      "value": "4.0",
      "status": "PASS|WARNING|FAIL",
      "message": "Deterministic rule-based check result",
      "ruleReference": "FS-RULE-007"
    },
    {
      "parameter": "DeadVolume_mL",
      "value": "0.2",
      "status": "PASS|WARNING|FAIL",
      "message": "Deterministic rule-based check result",
      "ruleReference": "FS-RULE-008"
    },
    {
      "parameter": "EffectiveVolume_mL",
      "value": "3.8",
      "status": "PASS|WARNING|FAIL",
      "message": "Deterministic rule-based check result",
      "ruleReference": "FS-RULE-009"
    },
    {
      "parameter": "TargetLOD_VAF_Percent",
      "value": "0.01",
      "status": "PASS|WARNING|FAIL",
      "message": "Deterministic rule-based check result",
      "ruleReference": "FS-RULE-010"
    },
    {
      "parameter": "CfDNA_Concentration_ng_mL",
      "value": "18.0",
      "status": "PASS|WARNING|FAIL",
      "message": "Deterministic rule-based check result",
      "ruleReference": "FS-RULE-011"
    },
    {
      "parameter": "GenomeEquivalents_PerML",
      "value": "660",
      "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": "PlasmaInputVolumeChecker.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, контроль образцов, контаминации, чувствительности и отчётности.

Открыть