Batch_Similarity_Clustering_Utility

Batch Similarity Clustering Utility

AdvancedPharma CSV→JSON EU-first LabWare URS & FS
Открыть подборку
Batch Similarity Clustering Utility — Утилита кластеризации и оценки сходства партий ТСМ

ℹ️ Утилита проводит многомерный статистический анализ (PCA/HCA):
• Расстояние Махаланобиса (≤3.0)
• Принадлежность к основному кластеру
• Z-Score ключевых маркеров (±2σ)

⚠️ КРИТИЧНО: Природное сырье вариабельно!
Статистические методы позволяют отличить норму от брака.

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

Формат input.csv:
BatchNumber,ProductName,Marker_1_Conc,Marker_2_Conc,Marker_3_Conc,Marker_4_Conc,Ref_Marker_1_Mean,Ref_Marker_1_StDev,Ref_Marker_2_Mean,Ref_Marker_2_StDev,Mahalanobis_Distance,Cluster_ID

Пример:
TCM-CLUS-2026-001,Panax Notoginseng,25.0,30.0,10.0,80.0,24.0,1.0,29.0,1.5,1.2,1.0

— ЗАЧЕМ ЭТО НУЖНО?
Статистическая оценка сходства критична для стандартизации ТСМ (Yunnan Baiyao, Tong Ren Tang):
• Химический состав трав зависит от почвы, климата и времени сбора
• Одиночные лимиты не всегда отражают общее качество профиля
• Методы PCA (Principal Component Analysis) и HCA (Hierarchical Cluster Analysis) позволяют визуализировать группировку партий
• Выявление "выбросов" (outliers) помогает предотвратить выпуск нетипичного сырья

⚠️ КРИТИЧЕСКИ ВАЖНО:
• Расстояние Махаланобиса ≤3.0 — партия находится внутри доверительного эллипса "хороших" партий
• Принадлежность к Кластеру 1 — соответствие основному историческому профилю
• Z-Score маркеров в пределах ±2σ — отсутствие аномалий по ключевым веществам
• Стабильность кластеризации при добавлении новых данных

Ключевые особенности утилиты:
• Многомерный анализ вместо одномерного контроля
• Расчет статистического расстояния до центра распределения
• Автоматическое определение принадлежности к кластеру
• Поддержка исторических данных для построения референсной модели

Критические параметры:
• Mahalanobis Distance: ≤3.0
• Cluster ID: 1 (Main)
• Z-Score: ±2.0 σ

💡 Советы по использованию:
1. Используйте минимум 20-30 исторических партий для построения надежной модели
2. Обновляйте референсные средние и стандартные отклонения при изменении поставщика
3. Сочетайте кластеризацию с хроматографическим фингерпринтингом
4. Исследуйте причины попадания партии в другой кластер (география, погода)
5. Визуализируйте данные на графике PCA Score Plot для наглядности

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

input.csv

BatchNumber,ProductName,Marker_1_Conc,Marker_2_Conc,Marker_3_Conc,Marker_4_Conc,Ref_Marker_1_Mean,Ref_Marker_1_StDev,Ref_Marker_2_Mean,Ref_Marker_2_StDev,Mahalanobis_Distance,Cluster_ID
TCM-CLUS-2026-001,Panax Notoginseng,25.0,30.0,10.0,80.0,24.0,1.0,29.0,1.5,1.2,1.0
TCM-CLUS-2026-002,Panax Notoginseng,24.5,29.5,10.2,79.0,24.0,1.0,29.0,1.5,0.8,1.0
TCM-CLUS-2026-003,Panax Notoginseng,20.0,25.0,8.0,70.0,24.0,1.0,29.0,1.5,5.5,2.0
Batch Similarity Clustering Utility — URS и FS

Batch Similarity Clustering Utility — URS и FS

Ниже приведены русские версии пользовательских требований и функциональной спецификации.


Batch Similarity Clustering Utility — URS

Batch Similarity Clustering Utility

Документ сформирован для русской локализации. Для английской и остальных языков используется отдельная английская версия без смешения языков.

Назначение

Определить пользовательские требования к автономной FUZKK-утилите, которая принимает CSV-файл лабораторных данных, выполняет проверку по зашитым в код правилам и формирует LabWare-compatible JSON.

Область применения

Утилита предназначена для предварительной QC/QA-оценки, интеграционного тестирования, LIMS/LabWare flow и подготовки evidence trail. Окончательное решение остаётся за валидированной процедурой лаборатории и ответственным персоналом.

Пользователи

QC analyst, QA reviewer, CSV/validation engineer, LIMS/LabWare integration engineer, responsible laboratory specialist.

Пользовательские требования

  1. Утилита должна запускаться без параметров и выводить самоописание, пример input.csv из GetDemoData() и demo evaluation для встроенного набора данных.
  2. Утилита должна запускаться с двумя параметрами: input.csv output.json.
  3. Утилита не должна читать input.csv и не должна писать output.json при запуске без параметров.
  4. CSV должен читаться с CultureInfo.InvariantCulture для числовых значений.
  5. Результат должен формироваться в LabWare-compatible JSON с Header, Samples, Results, Status, StatusCode, ErrorMessage, Description и DescriptionEN.
  6. При PASS поле ErrorMessage должно быть пустой строкой.
  7. Зашитые лимиты должны следовать приоритету: Ph. Eur. → British Pharmacopoeia / UK implementation → ЕАЭС / региональные требования → EMA/ICH/EU guidance → USP fallback.
  8. Если точная монография неизвестна, применяются строгие стандартные API-лимиты: Assay 98–102%, total impurities ≤1.0%, individual impurity ≤0.5%, если это применимо к типу утилиты.
  9. Для биопрепаратов и mAb-like продуктов должны учитываться агрегаты, стерильность и эндотоксины, если такие параметры релевантны назначению утилиты.
  10. Если параметр может приходить в разных единицах, единица должна быть отдельным входным полем или явно отражаться в имени поля input.csv.

Входной CSV

BatchNumber,ProductName,Marker_1_Conc,Marker_2_Conc,Marker_3_Conc,Marker_4_Conc,Ref_Marker_1_Mean,Ref_Marker_1_StDev,Ref_Marker_2_Mean,Ref_Marker_2_StDev,Mahalanobis_Distance,Cluster_ID
TCM-CLUS-2026-001,Panax Notoginseng,25.0,30.0,10.0,80.0,24.0,1.0,29.0,1.5,1.2,1.0
TCM-CLUS-2026-002,Panax Notoginseng,24.5,29.5,10.2,79.0,24.0,1.0,29.0,1.5,0.8,1.0
TCM-CLUS-2026-003,Panax Notoginseng,20.0,25.0,8.0,70.0,24.0,1.0,29.0,1.5,5.5,2.0

Поля input.csv

FieldSample
BatchNumberTCM-CLUS-2026-001
ProductNamePanax Notoginseng
Marker_1_Conc25.0
Marker_2_Conc30.0
Marker_3_Conc10.0
Marker_4_Conc80.0
Ref_Marker_1_Mean24.0
Ref_Marker_1_StDev1.0
Ref_Marker_2_Mean29.0
Ref_Marker_2_StDev1.5
Mahalanobis_Distance1.2
Cluster_ID1.0

Описание утилиты

Batch Similarity Clustering Utility — Утилита кластеризации и оценки сходства партий ТСМ

Batch Similarity Clustering Utility — Утилита кластеризации и оценки сходства партий ТСМ

ℹ️ Утилита проводит многомерный статистический анализ (PCA/HCA):
• Расстояние Махаланобиса (≤3.0)
• Принадлежность к основному кластеру
• Z-Score ключевых маркеров (±2σ)

⚠️ КРИТИЧНО: Природное сырье вариабельно!
Статистические методы позволяют отличить норму от брака.

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

Формат input.csv:
BatchNumber,ProductName,Marker_1_Conc,Marker_2_Conc,Marker_3_Conc,Marker_4_Conc,Ref_Marker_1_Mean,Ref_Marker_1_StDev,Ref_Marker_2_Mean,Ref_Marker_2_StDev,Mahalanobis_Distance,Cluster_ID

Пример:
TCM-CLUS-2026-001,Panax Notoginseng,25.0,30.0,10.0,80.0,24.0,1.0,29.0,1.5,1.2,1.0

— ЗАЧЕМ ЭТО НУЖНО?
Статистическая оценка сходства критична для стандартизации ТСМ (Yunnan Baiyao, Tong Ren Tang):
• Химический состав трав зависит от почвы, климата и времени сбора
• Одиночные лимиты не всегда отражают общее качество профиля
• Методы PCA (Principal Component Analysis) и HCA (Hierarchical Cluster Analysis) позволяют визуализировать группировку партий
• Выявление "выбросов" (outliers) помогает предотвратить выпуск нетипичного сырья

⚠️ КРИТИЧЕСКИ ВАЖНО:
• Расстояние Махаланобиса ≤3.0 — партия находится внутри доверительного эллипса "хороших" партий
• Принадлежность к Кластеру 1 — соответствие основному историческому профилю
• Z-Score маркеров в пределах ±2σ — отсутствие аномалий по ключевым веществам
• Стабильность кластеризации при добавлении новых данных

Ключевые особенности утилиты:
• Многомерный анализ вместо одномерного контроля
• Расчет статистического расстояния до центра распределения
• Автоматическое определение принадлежности к кластеру
• Поддержка исторических данных для построения референсной модели

Критические параметры:
• Mahalanobis Distance: ≤3.0
• Cluster ID: 1 (Main)
• Z-Score: ±2.0 σ

💡 Советы по использованию:
1. Используйте минимум 20-30 исторических партий для построения надежной модели
2. Обновляйте референсные средние и стандартные отклонения при изменении поставщика
3. Сочетайте кластеризацию с хроматографическим фингерпринтингом
4. Исследуйте причины попадания партии в другой кластер (география, погода)
5. Визуализируйте данные на графике PCA Score Plot для наглядности

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

Трассируемость и ограничения

  • URS используется как исходный документ для functional specification, CSV review и последующей CSV/validation работы.
  • Документ не является заменой утверждённой фармакопейной монографии, валидированного метода или внутренней спецификации продукта.
  • Для product-specific лимитов приоритет имеет утверждённая спецификация заказчика.

Batch Similarity Clustering Utility — FS

Batch Similarity Clustering Utility

Функциональная спецификация описывает поведение автономной консольной утилиты FUZKK, формат входных данных, алгоритм оценки и структуру выходного JSON.

Функциональный поток

  1. Main() проверяет количество аргументов.
  2. Если аргументов нет: PrintHello() выводит описание и встроенный пример input.csv, затем RunDemoEvaluation() выполняет Evaluate() по GetDemoData() и печатает demo JSON.
  3. Если передано два аргумента: RunWithFiles(input.csv, output.json) читает CSV, выполняет Evaluate() по каждой строке и записывает LabWare-compatible JSON.
  4. LoadData() использует CultureInfo.InvariantCulture и не должен вызываться в no-args режиме.
  5. Evaluate() возвращает именованный кортеж с BatchNumber, ProductName, Parameters, CriticalFailCount, WarningCount, Recommendation и RecommendationEN.
  6. GetIssues() формирует сообщения для ErrorMessage при WARNING/FAIL.

Правила оценки

  • PASS: CriticalFailCount = 0 и WarningCount = 0.
  • WARNING: CriticalFailCount = 0 и WarningCount > 0.
  • FAIL: CriticalFailCount > 0.
  • ERROR: исключение при чтении или обработке данных.
  • ErrorMessage остаётся пустым при PASS.
  • Лимиты зашиты в Program.cs; внешняя конфигурация лимитов не требуется.

Ввод и поля

BatchNumber,ProductName,Marker_1_Conc,Marker_2_Conc,Marker_3_Conc,Marker_4_Conc,Ref_Marker_1_Mean,Ref_Marker_1_StDev,Ref_Marker_2_Mean,Ref_Marker_2_StDev,Mahalanobis_Distance,Cluster_ID
TCM-CLUS-2026-001,Panax Notoginseng,25.0,30.0,10.0,80.0,24.0,1.0,29.0,1.5,1.2,1.0
TCM-CLUS-2026-002,Panax Notoginseng,24.5,29.5,10.2,79.0,24.0,1.0,29.0,1.5,0.8,1.0
TCM-CLUS-2026-003,Panax Notoginseng,20.0,25.0,8.0,70.0,24.0,1.0,29.0,1.5,5.5,2.0
FieldSample
BatchNumberTCM-CLUS-2026-001
ProductNamePanax Notoginseng
Marker_1_Conc25.0
Marker_2_Conc30.0
Marker_3_Conc10.0
Marker_4_Conc80.0
Ref_Marker_1_Mean24.0
Ref_Marker_1_StDev1.0
Ref_Marker_2_Mean29.0
Ref_Marker_2_StDev1.5
Mahalanobis_Distance1.2
Cluster_ID1.0

Выходной JSON

{
  "Header": {
    "UtilityName": "Batch_Similarity_Clustering_Utility",
    "Version": "1.0.0",
    "Timestamp": "UTC",
    "InstrumentID": "FUZKK-QC-WORKSTATION",
    "OperatorID": "Admin"
  },
  "Samples": [
    {
      "SampleID": "from BatchNumber",
      "BatchNumber": "from CSV",
      "ProductName": "from CSV",
      "TestName": "utility-specific test",
      "AnalysisCode": "utility-specific code",
      "Status": "PASS | WARNING | FAIL | ERROR",
      "StatusCode": "1 | 2 | 0 | -1",
      "ErrorMessage": "",
      "Description": "Russian recommendation",
      "DescriptionEN": "English recommendation",
      "Results": [
        {
          "ParameterName": "parameter",
          "ResultValue": 0.0,
          "UnitOfMeasure": "unit",
          "SpecificationLimit": "limit",
          "IsWithinSpec": true
        }
      ]
    }
  ]
}

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

Herbal / TCM / Ayurveda instrumental QC

Herbal / TCM / Ayurveda instrumental QC: пакет утилит FUZKK для CSV→JSON QC-проверок с EU-first приоритетом лимитов.

Открыть