ProteinDnaPanelBatchChecker

Protein/DNA Panel Batch

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

Описание утилиты: Protein/DNA Panel Batch

Protein/DNA Panel Batch Checker — Комплексный QC батчей протеогеномных панелей

ℹ️  Утилита выполняет многоуровневую проверку мультиомиксных батчей согласно CAP/CLIA, FDA multi-omics guidance, HUPO-PSI и CPTAC:

     ПРОТЕОМНЫЙ СЛОЙ:
     • Detection Rate ≥ 80%: Доля целевых белков, детектированных выше LOD.
     • Intra-Batch CV ≤ 15%: Воспроизводимость количественных измерений внутри батча.
     • FDR ≤ 1%: Для MS-based методов — контроль ложных идентификаций.
     • Controls: Positive + Negative для протеомной платформы.
     • Sample QC Fail Rate ≤ 10%: Доля образцов, не прошедших протеомный QC.

     ГЕНОМНЫЙ СЛОЙ:
     • Mean Depth ≥ 500×: Достаточная глубина для таргетной панели.
     • Uniformity ≥ 80%: Равномерность покрытия.
     • On-Target Rate ≥ 60%: Эффективность обогащения.
     • Q30 ≥ 75%: Качество баз.
     • Controls: Positive + Negative для геномной платформы.

     CROSS-LAYER CONCORDANCE (КРИТИЧЕСКИЙ ПАРАМЕТР):
     • Mutation-Proteoform Concordance ≥ 85%: Согласованность мутаций в ДНК и соответствующих протеоформ.
     • Protein-mRNA Correlation ≥ 0.4: Корреляция экспрессии между слоями (Pearson r).
     • Sample Identity Verified: Подтверждение соответствия образцов между протеомным и геномным слоями.
     • ⚠ Низкая конкордантность = интегрированные результаты НЕНАДЕЖНЫ.

     BATCH EFFECTS:
     • PCA Batch Variance ≤ 15%: Доля дисперсии, объясняемая батчем в PCA.
     • Plate Position Effect: Детекция краевых эффектов и pipetting bias.
     • Reagent Lot Tracking: Корреляция проблем с конкретными лотами.

     INTEGRATION PIPELINE:
     • Normalization Completed: Оба слоя нормализованы.
     • Batch Correction Applied: Коррекция батч-эффектов выполнена при необходимости.
     • Pipeline Completed: Интеграционный пайплайн завершен успешно.

⚠️  ВАЖНО:
     • Протеогеномные панели требуют QC НА ТРЕХ УРОВНЯХ: протеомный, геномный, интеграционный.
     • Cross-layer concordance — уникальный и критический параметр. Без него мультиомикс бессмыслен.
     • Protein-mRNA корреляция ~0.4–0.7 является биологической нормой; r < 0.3 указывает на техническую проблему.
     • Batch effects в протеомике обычно сильнее, чем в геномике; требуют отдельной коррекции.
     • Sample identity verification ОБЯЗАТЕЛЬНА: ошибка маркировки между слоями катастрофична.
     • Статус CROSS_LAYER_FAIL означает, что индивидуальные слои могут быть использованы отдельно, но НЕ вместе.

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

📍 Область применения:
     • Протеогеномные исследования: QC интегрированных мультиомиксных батчей.
     • Клинические trials с multi-omics endpoints: Мониторинг качества данных.
     • CPTAC/TCGA-подобные проекты: Стандартизированный batch-level QC.
     • Фармацевтическая разработка: Биомаркерные исследования с протеогеномикой.
     • Регуляторные инспекции: Документирование multi-omics data quality.

💡 Советы:
1. Layer-Specific SOPs: Используйте отдельные SOP для протеомного и геномного QC.
2. Concordance Baseline: Установите ожидаемую конкордантность на основе валидационной когорты.
3. Batch Correction: Применяйте ComBat/limma для протеомики; геномика обычно стабильнее.
4. Identity Check: Используйте SNP-fingerprinting или barcode matching для верификации cross-layer identity.
5. Pipeline Versioning: Фиксируйте версию интеграционного пайплайна для воспроизводимости.

⚠️ Примечание: Утилита оценивает ТЕХНИЧЕСКОЕ КАЧЕСТВО батча на трех уровнях. Биологическая интерпретация протеогеномных данных требует специализированной биоинформатической экспертизы. Низкая protein-mRNA корреляция может быть биологической (post-translational regulation), но должна быть подтверждена как не-техническая.

input.csv

BatchID,PanelName,Platform_Protein,Platform_DNA,RunDate,TotalSamples,ProteinTargets_Total,ProteinTargets_Detected_Mean,ProteinDetection_Rate_Percent,MinProteinDetection_Rate_Percent,ProteinCV_IntraBatch_Percent,MaxProteinCV_IntraBatch_Percent,Protein_FDR_Percent,MaxProtein_FDR_Percent,Protein_LOD_Normalized_Mean,NPX_ScaleFactor_Mean,Protein_PositiveControl_Pass,Protein_NegativeControl_Pass,Protein_SamplesFailedQC,DNA_MeanDepth_X,MinDNA_MeanDepth_X,DNA_Uniformity_Percent,MinDNA_Uniformity_Percent,DNA_OnTargetRate_Percent,MinDNA_OnTargetRate_Percent,DNA_Q30_Percent,MinDNA_Q30_Percent,DNA_PositiveControl_Pass,DNA_NegativeControl_Pass,DNA_SamplesFailedQC,ProteinMRNA_Correlation_Mean,MinProteinMRNA_Correlation,MutationProteoform_Concordant_Count,MutationProteoform_Total_Checked,CrossLayer_Concordance_Rate_Percent,MinCrossLayer_Concordance_Percent,SampleIdentity_Verified_CrossLayer,Protein_BatchEffect_PCA_VarPercent,DNA_BatchEffect_PCA_VarPercent,MaxBatchEffect_VarPercent,PlatePosition_Effect_Protein,PlatePosition_Effect_DNA,ReagentLot_Protein,ReagentLot_DNA,Normalization_Completed_BothLayers,BatchCorrection_Applied,IntegrationPipeline_Completed,PipelineVersion
PG-BATCH-2026-001,OncoProteogenomic_300,Olink_Explore,NovaSeq_6000,2026-06-08,48,2940,2750,93.5,80,8.2,15,0.5,1.0,0.85,1.02,true,true,1,850,500,91.0,80,85.0,60,89.0,75,true,true,0,0.62,0.4,18,20,92.0,85,true,5.2,3.8,15,false,false,OLK-2026-089,LOT-2026-0451,true,true,true,v4.2.1
PG-BATCH-2026-002,ImmunoProteogenomic_200,SomaLogic,NextSeq_2000,2026-06-09,48,1800,1520,84.4,80,18.5,15,0.8,1.0,1.15,0.88,true,true,5,620,500,82.0,80,72.0,60,82.0,75,true,false,3,0.28,0.4,8,15,62.0,85,true,22.5,8.0,15,true,false,SL-2026-112,LOT-2026-0467,true,false,true,v4.2.1

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

Документ описывает контролируемый интерфейс и поведение утилиты ProteinDnaPanelBatchChecker для сценария Protein/DNA Panel Batch Checker.

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

Ниже приведены ключевые фрагменты исходного описания. Перед продуктивным применением пределы должны быть сверены с утверждённой спецификацией, регистрационным досье и локальными SOP.
  • • Detection Rate ≥ 80%: Доля целевых белков, детектированных выше LOD.
  • • Intra-Batch CV ≤ 15%: Воспроизводимость количественных измерений внутри батча.
  • • FDR ≤ 1%: Для MS-based методов — контроль ложных идентификаций.
  • • Sample QC Fail Rate ≤ 10%: Доля образцов, не прошедших протеомный QC.
  • • Mean Depth ≥ 500×: Достаточная глубина для таргетной панели.
  • • Uniformity ≥ 80%: Равномерность покрытия.
  • • On-Target Rate ≥ 60%: Эффективность обогащения.
  • • Q30 ≥ 75%: Качество баз.
  • CROSS-LAYER CONCORDANCE (КРИТИЧЕСКИЙ ПАРАМЕТР):
  • • Mutation-Proteoform Concordance ≥ 85%: Согласованность мутаций в ДНК и соответствующих протеоформ.
  • • Protein-mRNA Correlation ≥ 0.4: Корреляция экспрессии между слоями (Pearson r).
  • • PCA Batch Variance ≤ 15%: Доля дисперсии, объясняемая батчем в PCA.
  • • Normalization Completed: Оба слоя нормализованы.
  • ⚠️ ВАЖНО:
  • • Cross-layer concordance — уникальный и критический параметр. Без него мультиомикс бессмыслен.
  • • Protein-mRNA корреляция ~0.4–0.7 является биологической нормой; r < 0.3 указывает на техническую проблему.

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

IDТребованиеКритичностьКритерий приемки
URS-001Утилита должна принимать файл input.csv для Protein/DNA Panel 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 vocabularyPG-BATCH-2026-001Идентификатор серии/партии для трассируемости.
2PanelNamestring / controlled vocabularyOncoProteogenomic_300Контролируемый входной параметр для детерминированных QC-правил.
3Platform_Proteinstring / controlled vocabularyOlink_ExploreБиологический/молекулярный компонент, контролируемый как CQA.
4Platform_DNAstring / controlled vocabularyNovaSeq_6000Биологический/молекулярный компонент, контролируемый как CQA.
5RunDatestring / controlled vocabulary2026-06-08Контролируемый входной параметр для детерминированных QC-правил.
6TotalSamplesstring / controlled vocabulary48Идентификатор образца или лабораторной пробы.
7ProteinTargets_Totalstring / controlled vocabulary2940Биологический/молекулярный компонент, контролируемый как CQA.
8ProteinTargets_Detected_Meaninteger / decimal2750Биологический/молекулярный компонент, контролируемый как CQA.
9ProteinDetection_Rate_Percentdecimal93.5Биологический/молекулярный компонент, контролируемый как CQA.
10MinProteinDetection_Rate_Percentdecimal80Биологический/молекулярный компонент, контролируемый как CQA.
11ProteinCV_IntraBatch_Percentdecimal8.2Идентификатор серии/партии для трассируемости.
12MaxProteinCV_IntraBatch_Percentdecimal15Идентификатор серии/партии для трассируемости.
13Protein_FDR_Percentdecimal0.5Биологический/молекулярный компонент, контролируемый как CQA.
14MaxProtein_FDR_Percentdecimal1.0Биологический/молекулярный компонент, контролируемый как CQA.
15Protein_LOD_Normalized_Meaninteger / decimal0.85Биологический/молекулярный компонент, контролируемый как CQA.
16NPX_ScaleFactor_Meaninteger / decimal1.02Контролируемый входной параметр для детерминированных QC-правил.
17Protein_PositiveControl_Passstring / controlled vocabularytrueБиологический/молекулярный компонент, контролируемый как CQA.
18Protein_NegativeControl_Passstring / controlled vocabularytrueБиологический/молекулярный компонент, контролируемый как CQA.
19Protein_SamplesFailedQCstring / controlled vocabulary1Идентификатор образца или лабораторной пробы.
20DNA_MeanDepth_Xdecimal850Биологический/молекулярный компонент, контролируемый как CQA.
21MinDNA_MeanDepth_Xdecimal500Биологический/молекулярный компонент, контролируемый как CQA.
22DNA_Uniformity_Percentdecimal91.0Биологический/молекулярный компонент, контролируемый как CQA.
23MinDNA_Uniformity_Percentdecimal80Биологический/молекулярный компонент, контролируемый как CQA.
24DNA_OnTargetRate_Percentdecimal85.0Биологический/молекулярный компонент, контролируемый как CQA.
25MinDNA_OnTargetRate_Percentdecimal60Биологический/молекулярный компонент, контролируемый как CQA.
26DNA_Q30_Percentdecimal89.0Биологический/молекулярный компонент, контролируемый как CQA.
27MinDNA_Q30_Percentdecimal75Биологический/молекулярный компонент, контролируемый как CQA.
28DNA_PositiveControl_Passstring / controlled vocabularytrueБиологический/молекулярный компонент, контролируемый как CQA.
29DNA_NegativeControl_Passstring / controlled vocabularytrueБиологический/молекулярный компонент, контролируемый как CQA.
30DNA_SamplesFailedQCstring / controlled vocabulary0Идентификатор образца или лабораторной пробы.
31ProteinMRNA_Correlation_Meaninteger / decimal0.62Биологический/молекулярный компонент, контролируемый как CQA.
32MinProteinMRNA_Correlationinteger / decimal0.4Биологический/молекулярный компонент, контролируемый как CQA.
33MutationProteoform_Concordant_Countinteger / decimal18Счётный показатель; используется для микробиологического, частичного или клеточного контроля.
34MutationProteoform_Total_Checkeddecimal20Контролируемый входной параметр для детерминированных QC-правил.
35CrossLayer_Concordance_Rate_Percentdecimal92.0Контролируемый входной параметр для детерминированных QC-правил.
36MinCrossLayer_Concordance_Percentdecimal85Контролируемый входной параметр для детерминированных QC-правил.
37SampleIdentity_Verified_CrossLayerstring / controlled vocabularytrueИдентификатор образца или лабораторной пробы.
38Protein_BatchEffect_PCA_VarPercentdecimal5.2Идентификатор серии/партии для трассируемости.
39DNA_BatchEffect_PCA_VarPercentdecimal3.8Идентификатор серии/партии для трассируемости.
40MaxBatchEffect_VarPercentdecimal15Идентификатор серии/партии для трассируемости.
41PlatePosition_Effect_Proteinstring / controlled vocabularyfalseБиологический/молекулярный компонент, контролируемый как CQA.
42PlatePosition_Effect_DNAstring / controlled vocabularyfalseБиологический/молекулярный компонент, контролируемый как CQA.
43ReagentLot_Proteinstring / controlled vocabularyOLK-2026-089Идентификатор серии/партии для трассируемости.
44ReagentLot_DNAstring / controlled vocabularyLOT-2026-0451Идентификатор серии/партии для трассируемости.
45Normalization_Completed_BothLayersstring / controlled vocabularytrueКонтролируемый входной параметр для детерминированных QC-правил.
46BatchCorrection_Appliedstring / controlled vocabularytrueИдентификатор серии/партии для трассируемости.
47IntegrationPipeline_Completedstring / controlled vocabularytrueОтношение компонентов; структурный или рецептурный CQA.
48PipelineVersionstring / controlled vocabularyv4.2.1Контролируемый входной параметр для детерминированных QC-правил.
BatchID,PanelName,Platform_Protein,Platform_DNA,RunDate,TotalSamples,ProteinTargets_Total,ProteinTargets_Detected_Mean,ProteinDetection_Rate_Percent,MinProteinDetection_Rate_Percent,ProteinCV_IntraBatch_Percent,MaxProteinCV_IntraBatch_Percent,Protein_FDR_Percent,MaxProtein_FDR_Percent,Protein_LOD_Normalized_Mean,NPX_ScaleFactor_Mean,Protein_PositiveControl_Pass,Protein_NegativeControl_Pass,Protein_SamplesFailedQC,DNA_MeanDepth_X,MinDNA_MeanDepth_X,DNA_Uniformity_Percent,MinDNA_Uniformity_Percent,DNA_OnTargetRate_Percent,MinDNA_OnTargetRate_Percent,DNA_Q30_Percent,MinDNA_Q30_Percent,DNA_PositiveControl_Pass,DNA_NegativeControl_Pass,DNA_SamplesFailedQC,ProteinMRNA_Correlation_Mean,MinProteinMRNA_Correlation,MutationProteoform_Concordant_Count,MutationProteoform_Total_Checked,CrossLayer_Concordance_Rate_Percent,MinCrossLayer_Concordance_Percent,SampleIdentity_Verified_CrossLayer,Protein_BatchEffect_PCA_VarPercent,DNA_BatchEffect_PCA_VarPercent,MaxBatchEffect_VarPercent,PlatePosition_Effect_Protein,PlatePosition_Effect_DNA,ReagentLot_Protein,ReagentLot_DNA,Normalization_Completed_BothLayers,BatchCorrection_Applied,IntegrationPipeline_Completed,PipelineVersion
PG-BATCH-2026-001,OncoProteogenomic_300,Olink_Explore,NovaSeq_6000,2026-06-08,48,2940,2750,93.5,80,8.2,15,0.5,1.0,0.85,1.02,true,true,1,850,500,91.0,80,85.0,60,89.0,75,true,true,0,0.62,0.4,18,20,92.0,85,true,5.2,3.8,15,false,false,OLK-2026-089,LOT-2026-0451,true,true,true,v4.2.1
PG-BATCH-2026-002,ImmunoProteogenomic_200,SomaLogic,NextSeq_2000,2026-06-09,48,1800,1520,84.4,80,18.5,15,0.8,1.0,1.15,0.88,true,true,5,620,500,82.0,80,72.0,60,82.0,75,true,false,3,0.28,0.4,8,15,62.0,85,true,22.5,8.0,15,true,false,SL-2026-112,LOT-2026-0467,true,false,true,v4.2.1

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

IDПолеПравилоКритичность
VR-001BatchIDПоле должно соответствовать утверждённому справочнику/словарю или допустимой строковой форме.High
VR-002PanelNameПоле должно соответствовать утверждённому справочнику/словарю или допустимой строковой форме.High
VR-003Platform_ProteinПоле должно соответствовать утверждённому справочнику/словарю или допустимой строковой форме.High
VR-004Platform_DNAПоле должно соответствовать утверждённому справочнику/словарю или допустимой строковой форме.Medium
VR-005RunDateПоле должно соответствовать утверждённому справочнику/словарю или допустимой строковой форме.Medium
VR-006TotalSamplesПоле должно соответствовать утверждённому справочнику/словарю или допустимой строковой форме.Medium
VR-007ProteinTargets_TotalПоле должно соответствовать утверждённому справочнику/словарю или допустимой строковой форме.Medium
VR-008ProteinTargets_Detected_MeanПоле должно соответствовать утверждённому справочнику/словарю или допустимой строковой форме.Medium
VR-009ProteinDetection_Rate_PercentПоле должно соответствовать утверждённому справочнику/словарю или допустимой строковой форме.Medium
VR-010MinProteinDetection_Rate_PercentПоле должно соответствовать утверждённому справочнику/словарю или допустимой строковой форме.Medium
VR-011ProteinCV_IntraBatch_PercentПоле должно соответствовать утверждённому справочнику/словарю или допустимой строковой форме.Medium
VR-012MaxProteinCV_IntraBatch_PercentПоле должно соответствовать утверждённому справочнику/словарю или допустимой строковой форме.Medium
VR-013Protein_FDR_PercentПоле должно соответствовать утверждённому справочнику/словарю или допустимой строковой форме.Medium
VR-014MaxProtein_FDR_PercentПоле должно соответствовать утверждённому справочнику/словарю или допустимой строковой форме.Medium
VR-015Protein_LOD_Normalized_MeanПоле должно соответствовать утверждённому справочнику/словарю или допустимой строковой форме.Medium
VR-016NPX_ScaleFactor_MeanПоле должно соответствовать утверждённому справочнику/словарю или допустимой строковой форме.Medium
VR-017Protein_PositiveControl_PassПоле должно соответствовать утверждённому справочнику/словарю или допустимой строковой форме.Medium
VR-018Protein_NegativeControl_PassПоле должно соответствовать утверждённому справочнику/словарю или допустимой строковой форме.Medium
VR-019Protein_SamplesFailedQCПоле должно соответствовать утверждённому справочнику/словарю или допустимой строковой форме.Medium
VR-020DNA_MeanDepth_XПоле должно соответствовать утверждённому справочнику/словарю или допустимой строковой форме.Medium
VR-021MinDNA_MeanDepth_XПоле должно соответствовать утверждённому справочнику/словарю или допустимой строковой форме.Medium
VR-022DNA_Uniformity_PercentПоле должно соответствовать утверждённому справочнику/словарю или допустимой строковой форме.Medium
VR-023MinDNA_Uniformity_PercentПоле должно соответствовать утверждённому справочнику/словарю или допустимой строковой форме.Medium
VR-024DNA_OnTargetRate_PercentПоле должно соответствовать утверждённому справочнику/словарю или допустимой строковой форме.Medium
VR-025MinDNA_OnTargetRate_PercentПоле должно соответствовать утверждённому справочнику/словарю или допустимой строковой форме.Medium
VR-026DNA_Q30_PercentПоле должно соответствовать утверждённому справочнику/словарю или допустимой строковой форме.Medium
VR-027MinDNA_Q30_PercentПоле должно соответствовать утверждённому справочнику/словарю или допустимой строковой форме.Medium
VR-028DNA_PositiveControl_PassПоле должно соответствовать утверждённому справочнику/словарю или допустимой строковой форме.Medium
VR-029DNA_NegativeControl_PassПоле должно соответствовать утверждённому справочнику/словарю или допустимой строковой форме.Medium
VR-030DNA_SamplesFailedQCПоле должно соответствовать утверждённому справочнику/словарю или допустимой строковой форме.Medium
VR-031ProteinMRNA_Correlation_MeanПоле должно соответствовать утверждённому справочнику/словарю или допустимой строковой форме.Medium
VR-032MinProteinMRNA_CorrelationПоле должно соответствовать утверждённому справочнику/словарю или допустимой строковой форме.Medium
VR-033MutationProteoform_Concordant_CountПоле должно соответствовать утверждённому справочнику/словарю или допустимой строковой форме.Medium
VR-034MutationProteoform_Total_CheckedПоле должно соответствовать утверждённому справочнику/словарю или допустимой строковой форме.Medium
VR-035CrossLayer_Concordance_Rate_PercentПоле должно соответствовать утверждённому справочнику/словарю или допустимой строковой форме.Medium
VR-036MinCrossLayer_Concordance_PercentПоле должно соответствовать утверждённому справочнику/словарю или допустимой строковой форме.Medium
VR-037SampleIdentity_Verified_CrossLayerПоле должно соответствовать утверждённому справочнику/словарю или допустимой строковой форме.Medium
VR-038Protein_BatchEffect_PCA_VarPercentПоле должно соответствовать утверждённому справочнику/словарю или допустимой строковой форме.Medium
VR-039DNA_BatchEffect_PCA_VarPercentПоле должно соответствовать утверждённому справочнику/словарю или допустимой строковой форме.Medium
VR-040MaxBatchEffect_VarPercentПоле должно соответствовать утверждённому справочнику/словарю или допустимой строковой форме.Medium
VR-041PlatePosition_Effect_ProteinПоле должно соответствовать утверждённому справочнику/словарю или допустимой строковой форме.Medium
VR-042PlatePosition_Effect_DNAПоле должно соответствовать утверждённому справочнику/словарю или допустимой строковой форме.Medium
VR-043ReagentLot_ProteinПоле должно соответствовать утверждённому справочнику/словарю или допустимой строковой форме.Medium
VR-044ReagentLot_DNAПоле должно соответствовать утверждённому справочнику/словарю или допустимой строковой форме.Medium
VR-045Normalization_Completed_BothLayersПоле должно соответствовать утверждённому справочнику/словарю или допустимой строковой форме.Medium
VR-046BatchCorrection_AppliedПоле должно соответствовать утверждённому справочнику/словарю или допустимой строковой форме.Medium
VR-047IntegrationPipeline_CompletedПоле должно соответствовать утверждённому справочнику/словарю или допустимой строковой форме.Medium
VR-048PipelineVersionПоле должно соответствовать утверждённому справочнику/словарю или допустимой строковой форме.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Применить правила для Protein/DNA Panel 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": "proteindnapanelbatchchecker",
  "utilityFolder": "ProteinDnaPanelBatchChecker",
  "package": "LiquidBiopsy",
  "overallStatus": "PASS|WARNING|FAIL",
  "sourceFile": "input.csv",
  "processedAtUtc": "2026-06-10T00:00:00Z",
  "checks": [
    {
      "parameter": "BatchID",
      "value": "PG-BATCH-2026-001",
      "status": "PASS|WARNING|FAIL",
      "message": "Deterministic rule-based check result",
      "ruleReference": "FS-RULE-001"
    },
    {
      "parameter": "PanelName",
      "value": "OncoProteogenomic_300",
      "status": "PASS|WARNING|FAIL",
      "message": "Deterministic rule-based check result",
      "ruleReference": "FS-RULE-002"
    },
    {
      "parameter": "Platform_Protein",
      "value": "Olink_Explore",
      "status": "PASS|WARNING|FAIL",
      "message": "Deterministic rule-based check result",
      "ruleReference": "FS-RULE-003"
    },
    {
      "parameter": "Platform_DNA",
      "value": "NovaSeq_6000",
      "status": "PASS|WARNING|FAIL",
      "message": "Deterministic rule-based check result",
      "ruleReference": "FS-RULE-004"
    },
    {
      "parameter": "RunDate",
      "value": "2026-06-08",
      "status": "PASS|WARNING|FAIL",
      "message": "Deterministic rule-based check result",
      "ruleReference": "FS-RULE-005"
    },
    {
      "parameter": "TotalSamples",
      "value": "48",
      "status": "PASS|WARNING|FAIL",
      "message": "Deterministic rule-based check result",
      "ruleReference": "FS-RULE-006"
    },
    {
      "parameter": "ProteinTargets_Total",
      "value": "2940",
      "status": "PASS|WARNING|FAIL",
      "message": "Deterministic rule-based check result",
      "ruleReference": "FS-RULE-007"
    },
    {
      "parameter": "ProteinTargets_Detected_Mean",
      "value": "2750",
      "status": "PASS|WARNING|FAIL",
      "message": "Deterministic rule-based check result",
      "ruleReference": "FS-RULE-008"
    },
    {
      "parameter": "ProteinDetection_Rate_Percent",
      "value": "93.5",
      "status": "PASS|WARNING|FAIL",
      "message": "Deterministic rule-based check result",
      "ruleReference": "FS-RULE-009"
    },
    {
      "parameter": "MinProteinDetection_Rate_Percent",
      "value": "80",
      "status": "PASS|WARNING|FAIL",
      "message": "Deterministic rule-based check result",
      "ruleReference": "FS-RULE-010"
    },
    {
      "parameter": "ProteinCV_IntraBatch_Percent",
      "value": "8.2",
      "status": "PASS|WARNING|FAIL",
      "message": "Deterministic rule-based check result",
      "ruleReference": "FS-RULE-011"
    },
    {
      "parameter": "MaxProteinCV_IntraBatch_Percent",
      "value": "15",
      "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": "ProteinDnaPanelBatchChecker.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, контроль образцов, контаминации, чувствительности и отчётности.

Открыть