LibraryPrepBatchChecker

Library Prep Batch

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

Описание утилиты: Library Prep Batch

Library Prep Batch Checker — Контроль качества подготовки NGS-библиотек по батчам

ℹ️  Утилита выполняет комплексную оценку качества подготовки библиотек на уровне партии согласно CAP/CLIA, GATK Best Practices и ISO 15189:

     ИНДИВИДУАЛЬНЫЕ СПЕЦИФИКАЦИИ:
     • Concentration: Концентрация библиотеки в допустимом диапазоне для пулинга.
     • Fragment Size: Средний размер фрагмента соответствует ожидаемому для типа библиотеки.
     • Molarity: Молярность достаточна для кластеризации на flow cell.
     • Adapter Dimers: Уровень димеров адаптеров ниже порога загрязнения.
     • PCR Cycles: Число циклов амплификации не превышает лимит (избегание over-amplification).
     • Input DNA: Количество входной ДНК соответствует минимуму протокола.

     БАТЧ-УРОВЕНЬ МЕТРИКИ:
     • Pass Rate: Доля образцов, прошедших все индивидуальные спецификации (≥90%).
     • Concentration CV: Коэффициент вариации концентрации внутри батча (≤30%).
     • Fragment Size CV: Коэффициент вариации размера фрагментов (≤15%).
     • Outlier Detection: Образцы за пределами 2 SD от среднего батча.
     • Historical Drift: Z-score среднего батча относительно исторической базовой линии.
     • Max Adapter Dimer: Максимальный уровень димеров в любом образце батча.

⚠️  ВАЖНО:
     • Подготовка библиотек — этап, где систематические ошибки затрагивают ВСЮ партию.
     • Высокий CV концентрации (>30%) приводит к неравномерному представительству в пуле.
     • Димеры адаптеров >5% конкурируют с библиотекой при кластеризации, снижая выход данных.
     • Исторический дрейф (|Z| > 2) указывает на деградацию реагентов или изменение протокола.
     • Over-amplification (>15 cycles) увеличивает дупликаты и bias покрытия.

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

📍 Область применения (Usage Where):
     • NGS-лаборатории: Обязательный QC перед пулингом и секвенированием.
     • Клиническая диагностика: Гарантия воспроизводимости между батчами.
     • Разработка методов: Оптимизация протоколов подготовки библиотек.
     • Аккредитация CAP/ISO: Документирование системы контроля качества пробоподготовки.

— ЗАЧЕМ ЭТО НУЖНО?
Некачественная библиотека не исправляется на этапе секвенирования.
Плохой батч расходует дорогостоящие ресурсы flow cell и задерживает выдачу результатов.
Систематические ошибки (старые реагенты, калибровка прибора) невидимы при проверке отдельных образцов.
Батч-уровневый анализ выявляет паттерны, недоступные при индивидуальном QC.

⚠️  КРИТИЧЕСКИ ВАЖНО:
• Pass Rate ≥ 90%: Ниже = системная проблема подготовки.
• Concentration CV ≤ 30%: Превышение = неравномерный пулинг = потеря данных.
• Fragment Size CV ≤ 15%: Высокий CV = проблема size selection или фрагментации.
• Adapter Dimers ≤ 5%: Выше = повторная очистка SPRI обязательна.
• Historical |Z| ≤ 2.0: Превышение = расследование причины дрейфа.
• Outliers ≤ 10%: Высокий % аутлайеров = нестабильный процесс.
• PCR Cycles ≤ Max: Over-amplification необратимо ухудшает качество.

Ключевые особенности утилиты:
• Двухуровневая проверка (индивидуальная + батч)
• Автоматический расчет CV, Z-score и аутлайеров
• Интеграция с историческими базовыми линиями
• Трёхуровневая классификация (Accepted / Review Required / Rejected)
• Детализация причин отказа для каждого образца

💡 Советы по использованию:
1. Baseline Establishment: Рассчитайте Historical Mean/SD из ≥20 валидированных батчей.
2. Trend Charts: Ведите контрольные карты Levey-Jennings для концентрации и размера.
3. Normalization: Используйте qPCR (не Qubit) для точной молярности перед пулингом.
4. SPRI Cleanup: При димерах >5% выполните двойную SPRI-очистку с соотношением 0.8×.
5. Root Cause: При REJECTED батче проводите расследование (реагенты, оператор, оборудование).

⚠️ Примечание: Данная утилита оценивает ФИЗИЧЕСКОЕ КАЧЕСТВО библиотек. Она не заменяет проверку содержания (on-target rate, coverage uniformity), которая выполняется после секвенирования (DepthUniformityChecker, LargePanelLiquidCgpRunChecker).

input.csv

BatchID,SampleID,LibraryType,PrepKit,Concentration_ng_uL,MinConcentration,MaxConcentration,MeanFragmentSize_bp,MinFragmentSize,MaxFragmentSize,Molarity_nM,MinMolarity,AdapterDimer_Percent,MaxAdapterDimer_Percent,PCRCycles,MaxPCRCycles,InputDNA_ng,MinInputDNA_ng,HistoricalMean_Concentration,HistoricalSD_Concentration
BATCH-2026-045,S001,WES,KAPA HyperPrep,28.5,2.0,100.0,380,200,700,12.5,2.0,0.8,5.0,8,15,50,10,27.0,7.0
BATCH-2026-045,S002,WES,KAPA HyperPrep,32.1,2.0,100.0,395,200,700,14.2,2.0,0.5,5.0,8,15,50,10,27.0,7.0
BATCH-2026-045,S003,WES,KAPA HyperPrep,25.8,2.0,100.0,370,200,700,11.8,2.0,1.2,5.0,8,15,50,10,27.0,7.0
BATCH-2026-045,S004,WES,KAPA HyperPrep,30.2,2.0,100.0,388,200,700,13.5,2.0,0.6,5.0,8,15,50,10,27.0,7.0
BATCH-2026-046,S005,Targeted,Agilent SureSelect,5.2,2.0,100.0,280,200,700,3.1,2.0,12.5,5.0,14,15,20,10,35.0,8.0
BATCH-2026-046,S006,Targeted,Agilent SureSelect,42.0,2.0,100.0,420,200,700,18.5,2.0,8.2,5.0,14,15,50,10,35.0,8.0
BATCH-2026-046,S007,Targeted,Agilent SureSelect,1.5,2.0,100.0,250,200,700,1.0,2.0,18.0,5.0,14,15,10,10,35.0,8.0

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

Документ описывает контролируемый интерфейс и поведение утилиты LibraryPrepBatchChecker для сценария Library Prep Batch Checker.

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

Ниже приведены ключевые фрагменты исходного описания. Перед продуктивным применением пределы должны быть сверены с утверждённой спецификацией, регистрационным досье и локальными SOP.
  • ℹ️ Утилита выполняет комплексную оценку качества подготовки библиотек на уровне партии согласно CAP/CLIA, GATK Best Practices и ISO 15189:
  • • Pass Rate: Доля образцов, прошедших все индивидуальные спецификации (≥90%).
  • • Concentration CV: Коэффициент вариации концентрации внутри батча (≤30%).
  • • Fragment Size CV: Коэффициент вариации размера фрагментов (≤15%).
  • • Outlier Detection: Образцы за пределами 2 SD от среднего батча.
  • ⚠️ ВАЖНО:
  • • Высокий CV концентрации (>30%) приводит к неравномерному представительству в пуле.
  • • Димеры адаптеров >5% конкурируют с библиотекой при кластеризации, снижая выход данных.
  • • Исторический дрейф (|Z| > 2) указывает на деградацию реагентов или изменение протокола.
  • • Over-amplification (>15 cycles) увеличивает дупликаты и bias покрытия.
  • • Аккредитация CAP/ISO: Документирование системы контроля качества пробоподготовки.
  • ⚠️ КРИТИЧЕСКИ ВАЖНО:
  • • Pass Rate ≥ 90%: Ниже = системная проблема подготовки.
  • • Concentration CV ≤ 30%: Превышение = неравномерный пулинг = потеря данных.
  • • Fragment Size CV ≤ 15%: Высокий CV = проблема size selection или фрагментации.
  • • Adapter Dimers ≤ 5%: Выше = повторная очистка SPRI обязательна.
  • • Historical |Z| ≤ 2.0: Превышение = расследование причины дрейфа.
  • • Outliers ≤ 10%: Высокий % аутлайеров = нестабильный процесс.

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

IDТребованиеКритичностьКритерий приемки
URS-001Утилита должна принимать файл input.csv для Library Prep Batch 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

#ПолеТипПримерНазначение
1BatchIDstring / controlled vocabularyBATCH-2026-045Идентификатор серии/партии для трассируемости.
2SampleIDstring / controlled vocabularyS001Идентификатор образца или лабораторной пробы.
3LibraryTypestring / controlled vocabularyWESКонтролируемый входной параметр для детерминированных QC-правил.
4PrepKitstring / controlled vocabularyKAPA HyperPrepКонтролируемый входной параметр для детерминированных QC-правил.
5Concentration_ng_uLdecimal28.5Отношение компонентов; структурный или рецептурный CQA.
6MinConcentrationinteger / decimal2.0Отношение компонентов; структурный или рецептурный CQA.
7MaxConcentrationinteger / decimal100.0Отношение компонентов; структурный или рецептурный CQA.
8MeanFragmentSize_bpdecimal380Контролируемый входной параметр для детерминированных QC-правил.
9MinFragmentSizedecimal200Контролируемый входной параметр для детерминированных QC-правил.
10MaxFragmentSizedecimal700Контролируемый входной параметр для детерминированных QC-правил.
11Molarity_nMdecimal12.5Контролируемый входной параметр для детерминированных QC-правил.
12MinMolaritydecimal2.0Контролируемый входной параметр для детерминированных QC-правил.
13AdapterDimer_Percentdecimal0.8Контролируемый входной параметр для детерминированных QC-правил.
14MaxAdapterDimer_Percentdecimal5.0Контролируемый входной параметр для детерминированных QC-правил.
15PCRCyclesinteger / decimal8Контролируемый входной параметр для детерминированных QC-правил.
16MaxPCRCyclesinteger / decimal15Контролируемый входной параметр для детерминированных QC-правил.
17InputDNA_ngdecimal50Биологический/молекулярный компонент, контролируемый как CQA.
18MinInputDNA_ngdecimal10Биологический/молекулярный компонент, контролируемый как CQA.
19HistoricalMean_Concentrationinteger / decimal27.0Отношение компонентов; структурный или рецептурный CQA.
20HistoricalSD_Concentrationinteger / decimal7.0Отношение компонентов; структурный или рецептурный CQA.
BatchID,SampleID,LibraryType,PrepKit,Concentration_ng_uL,MinConcentration,MaxConcentration,MeanFragmentSize_bp,MinFragmentSize,MaxFragmentSize,Molarity_nM,MinMolarity,AdapterDimer_Percent,MaxAdapterDimer_Percent,PCRCycles,MaxPCRCycles,InputDNA_ng,MinInputDNA_ng,HistoricalMean_Concentration,HistoricalSD_Concentration
BATCH-2026-045,S001,WES,KAPA HyperPrep,28.5,2.0,100.0,380,200,700,12.5,2.0,0.8,5.0,8,15,50,10,27.0,7.0
BATCH-2026-045,S002,WES,KAPA HyperPrep,32.1,2.0,100.0,395,200,700,14.2,2.0,0.5,5.0,8,15,50,10,27.0,7.0
BATCH-2026-045,S003,WES,KAPA HyperPrep,25.8,2.0,100.0,370,200,700,11.8,2.0,1.2,5.0,8,15,50,10,27.0,7.0

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

IDПолеПравилоКритичность
VR-001BatchIDПоле должно соответствовать утверждённому справочнику/словарю или допустимой строковой форме.High
VR-002SampleIDПоле должно соответствовать утверждённому справочнику/словарю или допустимой строковой форме.High
VR-003LibraryTypeПоле должно соответствовать утверждённому справочнику/словарю или допустимой строковой форме.High
VR-004PrepKitПоле должно соответствовать утверждённому справочнику/словарю или допустимой строковой форме.Medium
VR-005Concentration_ng_uLПоле должно соответствовать утверждённому справочнику/словарю или допустимой строковой форме.Medium
VR-006MinConcentrationПоле должно соответствовать утверждённому справочнику/словарю или допустимой строковой форме.Medium
VR-007MaxConcentrationПоле должно соответствовать утверждённому справочнику/словарю или допустимой строковой форме.Medium
VR-008MeanFragmentSize_bpПоле должно соответствовать утверждённому справочнику/словарю или допустимой строковой форме.Medium
VR-009MinFragmentSizeПоле должно соответствовать утверждённому справочнику/словарю или допустимой строковой форме.Medium
VR-010MaxFragmentSizeПоле должно соответствовать утверждённому справочнику/словарю или допустимой строковой форме.Medium
VR-011Molarity_nMПоле должно соответствовать утверждённому справочнику/словарю или допустимой строковой форме.Medium
VR-012MinMolarityПоле должно соответствовать утверждённому справочнику/словарю или допустимой строковой форме.Medium
VR-013AdapterDimer_PercentПоле должно соответствовать утверждённому справочнику/словарю или допустимой строковой форме.Medium
VR-014MaxAdapterDimer_PercentПоле должно соответствовать утверждённому справочнику/словарю или допустимой строковой форме.Medium
VR-015PCRCyclesПоле должно соответствовать утверждённому справочнику/словарю или допустимой строковой форме.Medium
VR-016MaxPCRCyclesПоле должно соответствовать утверждённому справочнику/словарю или допустимой строковой форме.Medium
VR-017InputDNA_ngПоле должно соответствовать утверждённому справочнику/словарю или допустимой строковой форме.Medium
VR-018MinInputDNA_ngПоле должно соответствовать утверждённому справочнику/словарю или допустимой строковой форме.Medium
VR-019HistoricalMean_ConcentrationПоле должно соответствовать утверждённому справочнику/словарю или допустимой строковой форме.Medium
VR-020HistoricalSD_ConcentrationПоле должно соответствовать утверждённому справочнику/словарю или допустимой строковой форме.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Применить правила для Library Prep Batch 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": "libraryprepbatchchecker",
  "utilityFolder": "LibraryPrepBatchChecker",
  "package": "LiquidBiopsy",
  "overallStatus": "PASS|WARNING|FAIL",
  "sourceFile": "input.csv",
  "processedAtUtc": "2026-06-10T00:00:00Z",
  "checks": [
    {
      "parameter": "BatchID",
      "value": "BATCH-2026-045",
      "status": "PASS|WARNING|FAIL",
      "message": "Deterministic rule-based check result",
      "ruleReference": "FS-RULE-001"
    },
    {
      "parameter": "SampleID",
      "value": "S001",
      "status": "PASS|WARNING|FAIL",
      "message": "Deterministic rule-based check result",
      "ruleReference": "FS-RULE-002"
    },
    {
      "parameter": "LibraryType",
      "value": "WES",
      "status": "PASS|WARNING|FAIL",
      "message": "Deterministic rule-based check result",
      "ruleReference": "FS-RULE-003"
    },
    {
      "parameter": "PrepKit",
      "value": "KAPA HyperPrep",
      "status": "PASS|WARNING|FAIL",
      "message": "Deterministic rule-based check result",
      "ruleReference": "FS-RULE-004"
    },
    {
      "parameter": "Concentration_ng_uL",
      "value": "28.5",
      "status": "PASS|WARNING|FAIL",
      "message": "Deterministic rule-based check result",
      "ruleReference": "FS-RULE-005"
    },
    {
      "parameter": "MinConcentration",
      "value": "2.0",
      "status": "PASS|WARNING|FAIL",
      "message": "Deterministic rule-based check result",
      "ruleReference": "FS-RULE-006"
    },
    {
      "parameter": "MaxConcentration",
      "value": "100.0",
      "status": "PASS|WARNING|FAIL",
      "message": "Deterministic rule-based check result",
      "ruleReference": "FS-RULE-007"
    },
    {
      "parameter": "MeanFragmentSize_bp",
      "value": "380",
      "status": "PASS|WARNING|FAIL",
      "message": "Deterministic rule-based check result",
      "ruleReference": "FS-RULE-008"
    },
    {
      "parameter": "MinFragmentSize",
      "value": "200",
      "status": "PASS|WARNING|FAIL",
      "message": "Deterministic rule-based check result",
      "ruleReference": "FS-RULE-009"
    },
    {
      "parameter": "MaxFragmentSize",
      "value": "700",
      "status": "PASS|WARNING|FAIL",
      "message": "Deterministic rule-based check result",
      "ruleReference": "FS-RULE-010"
    },
    {
      "parameter": "Molarity_nM",
      "value": "12.5",
      "status": "PASS|WARNING|FAIL",
      "message": "Deterministic rule-based check result",
      "ruleReference": "FS-RULE-011"
    },
    {
      "parameter": "MinMolarity",
      "value": "2.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": "LibraryPrepBatchChecker.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, контроль образцов, контаминации, чувствительности и отчётности.

Открыть