Модели машинного обучения: OnSiteSeq HIV
Глубокое обучение для субтипирования ВИЧ-1 и предсказания лекарственной устойчивости — для данных ONT и Sanger
🧠 Подход
Стандартные зарубежные алгоритмы часто обучаются на базах данных, не отражающих специфику Российской Федерации: в России доминирует субтип A6, редкий на Западе, а эпидемия носит выраженный монофилетический характер.
Наши нейросетевые модели ориентированы на субтипы, циркулирующие в РФ, и проверяются на независимой российской когорте EpidRuSeq (ФБУН ЦНИИ Эпидемиологии Роспотребнадзора). Код и веса моделей открыты на GitVerse. Статус — исследовательский (RUO).
📋 Сводка моделей
| Модель | Версия | Задача | Вход | Пайплайн |
|---|---|---|---|---|
| HIV-1-M-Env-Rus | 1.1.0 (18.10.2026) |
Субтип, 13 классов (12 + OTHER) | ген env, полноразмерный (≥ 2000 нт) | OnSiteSeq HIV (ONT) |
| HIV-1-M-Pol-Rus | 1.1.0 (17.10.2026) |
Субтип, 7 классов | pol PR+RT (HXB2 2253–3869) | OnSiteSeq HIV Sanger |
| HIV-1-Resist-Rus | 4.0.0 (13.10.2026) |
Резистентность к 14 препаратам, 5 уровней HIVDB | белки PR / RT / IN | оба пайплайна |
Субтип зависит от участка генома. У рекомбинантных форм (в т.ч. CRF63_02A6) субтип по env и по pol может законно различаться. В отчётах всегда указано, по какому гену определён субтип.
🧬 HIV-1-M-Env-Rus — субтип по гену env
Классификатор субтипов ВИЧ-1 по нуклеотидной последовательности гена env для нанопоровых данных (пайплайн OnSiteSeq HIV). Репозиторий: gitverse.ru/onsiteseq/HIV-1-M-Env-Rus
- Версии:
1.1.0(18.10.2026) — 13 классов (12 + OTHER), разбиение по пациентам, частоты k-меров;1.0.0(11.10.2026) — 12 классов. - 13 классов: 12 субтипов и CRF (CRF02_AG, A2, D, F2, G, H, A6, CRF63_02A6, A1, B, C, F1) и OTHER — URF и CRF вне этого списка. OTHER — ответ модели, а не отказ контроля входа (
Unclassified). - Архитектура: свёрточный автоэнкодер (CAE) на частотах k-меров (k = 6, вектор 4096): энкодер из 3 слоёв Conv1d и 2 резидуальных блоков, декодер для функции потерь реконструкции (MSE), классификатор из 3 полносвязных слоёв. С версии 1.1.0 счётчики k-меров нормализованы до частот: длина последовательности больше не является признаком.
- Разбиение по ID пациента: train / val / test назначаются по пациентам LANL один раз для всех классов; пациентов val и test в train — 0% (0 из 659 и 0 из 751, регрессионный тест
check_leakage.py). A6-содержащие мозаики целиком отнесены в test. - Синтетическая эволюция in silico: рекомбинации, вставки и делеции для расширения редких классов; синтетика проходит ту же проверку рамки считывания, что и реальные данные; качество генерации контролируется t-SNE на тех же 6-мерах, что подаются в модель.
- Контроль входа: длина, доля не-ACGT, сходство с панелью эталонных env по 12-мерам, автоопределение цепи, порог уверенности. Статусы:
OK,LOW_CONFIDENCE,SHORT,AMBIGUOUS,NOT_HIV1M_ENV,EMPTY.
Метрики (полный прогон 18.10.2026)
| Набор | n | Accuracy | Комментарий |
|---|---|---|---|
| Внутренний holdout (LANL) | 842 | 0.862 | F1-macro 0.868; recall A6 1.000 (36/36), B 0.995, C 0.980, OTHER 0.508 |
| EpidRuSeq, разметка COMET (основная метрика) | 256 | 0.996 | recall A6 1.000 (195/195), B 0.978, CRF63_02A6 1.000 |
| EpidRuSeq, разметка fallback | 84 | 0.786 | метки моделью того же семейства — не независимый эталон |
| EpidRuSeq, весь тест | 340 | 0.944 |
Тестовая когорта проверена на записи, почти совпадающие с обучающими (косинус 6-меров ≥ 0.999): пересечений нет. Гейты выпуска — accuracy на COMET ≥ 0.95 и потеря recall A6 не более 2 п.п. — пройдены. Прежние метрики (99.64%, F1 = 1.00) были получены с утечкой между выборками и сняты с публикации.
Ограничения:
- OTHER — не детектор рекомбинантов: recall OTHER на holdout 0.508, на A6-содержащих мозаиках — 0.085 (6/71). По составу env такие мозаики близки к A6 и в основном так и классифицируются; для разбора рекомбинантов нужен филогенетический или оконный анализ.
- Цена класса OTHER для целевых классов мала: в OTHER ушли 0 из 36 A6 и 1 из 200 B; у A1 — 11 из 88 (12.5%).
- Нужен полноразмерный env (≥ 2000 нт): V3-петля и короткие фрагменты отклоняются статусом
SHORT. - Метрики малых классов (A2, F2, H, CRF63_02A6, G, F1 — единицы и десятки реальных последовательностей) статистически не значимы.
- На OnSiteSeq Edge (arm64) пока работает версия
1.0.0.
🧪 HIV-1-M-Pol-Rus — субтип по гену pol
Классификатор субтипов ВИЧ-1 по участку pol PR+RT — стандартному ампликону капиллярного (Sanger) секвенирования. Модель Env к такому входу неприменима, поэтому для пайплайна OnSiteSeq HIV Sanger создана отдельная модель. Репозиторий: gitverse.ru/onsiteseq/HIV-1-M-Pol-Rus
- Версии:
1.1.0(17.10.2026) — 7 классов, разбиение по пациентам;1.0.0(11.10.2026) — 6 классов. - 7 классов: A6, A1, B, G, CRF02_AG, CRF63_02A6 и OTHER («не из шести целевых»: URF и составные формы, признанные CRF, чистые не-РФ субтипы). OTHER — ответ модели, а не отказ контроля входа (
Unclassified). - Архитектура: CAE на частотах k-меров (k = 6, вектор 4096) — результат не зависит от длины фрагмента.
- Разбиение по ID пациента: train / val / test назначаются по пациентам один раз; доля записей val/test от пациентов из train — 0% (регрессионный тест
check_leakage.py). - Контроль входа: статусы
OK,LOW_CONFIDENCE,SHORT,AMBIGUOUS,NOT_HIV1M_POL,EMPTY; обратная цепь определяется автоматически.
Метрики (полный прогон 17.10.2026)
| Набор | n | Accuracy | Комментарий |
|---|---|---|---|
| Внутренний holdout (LANL) | 441 | 0.887 | F1-macro 0.789; без класса OTHER (6 классов) — 0.997 |
| EpidRuSeq, разметка COMET (основная метрика) | 251 | 0.992 | recall A6 1.000 (196/196), B 0.974, CRF63_02A6 0.923 |
| EpidRuSeq, разметка fallback | 90 | 0.667 | метки моделью того же семейства — не независимый эталон |
| EpidRuSeq, весь тест | 343 | 0.906 | 341 классифицировано + 2 Unclassified по контролю входа |
Тестовая когорта очищена от записей, почти совпадающих с обучающими (исключено 8 записей с косинусом 6-меров ≥ 0.999).
Ограничения: по субтипу G независимо размечены лишь 2 записи — заявки о валидации нет. OTHER — не детектор рекомбинантов: на A6-содержащих мозаиках recall 0.357 (15/42; 95% ДИ 0.216–0.520). Цена класса OTHER для целевых классов мала: recall A6 на COMET остался 1.000.
🛡️ HIV-1-Resist-Rus — лекарственная устойчивость
Предсказание резистентности к 14 препаратам четырёх классов АРТ (НИОТ, ННИОТ, ИП, ИНСТИ) по белкам PR, RT и IN. Используется в обоих пайплайнах — ONT и Sanger. Репозиторий: gitverse.ru/onsiteseq/HIV-1-Resist-Rus
История версий
| Версия | Дата | Что изменилось |
|---|---|---|
| 1.0 | 02.2026 | Один препарат (DTG), сравнение CNN и CNN + Self-Attention, разметка по fold-change |
| 3.0 | 06.2026 | 14 препаратов, обучающий корпус LANL (37 641 последовательность) с разметкой Stanford Sierra, внешняя валидация на 356 пациентах |
| 3.1 | 12.10.2026 | Дедупликация по генотипу (устранена утечка одинаковых последовательностей между train и val), полный словарь мутационных флагов, калибровка Платта, контроль качества входа |
| 3.2 | 12.10.2026 | Сквозной воспроизводимый dvc repro, регрессионный baseline, модели третьего поколения |
| 4.0 | 13.10.2026 | Пятиуровневый выход HIVDB (CORAL), список мутаций в отчёте, гейт надёжности уровней |
Архитектура HybridResistanceCNN (v4.0)
- Embedding → Conv1D ×2 + MaxPool → Self-Attention — локальные паттерны и дальние взаимодействия в аминокислотной последовательности (RT: 240 позиций / PR: 99 / IN: 288).
- MutationMLP — флаги ключевых мутаций по словарю Stanford HIVDB (НИОТ 15 / ННИОТ 16 / ИП 19 / ИНСТИ 15 позиций).
- Fusion → CORAL-голова — кумулятивные вероятности P(уровень ≥ 2…5) по пятиуровневой шкале HIVDB, монотонные по построению; P(уровень ≥ 2) — прежний бинарный выход.
- Обучение: Focal Loss (α = 0.75, γ = 2.0) против дисбаланса классов, дедупликация по генотипу, порог по индексу Юдена и калибровка Платта на каждую границу. Уровни, для которых меньше 30 обучающих примеров, помечаются в отчёте «*».
- Контроль входа: идентичность к HXB2 ≥ 80%, доля неоднозначных остатков, длина, стоп-кодоны; статусы
OK,LOW_IDENTITY,FRAMESHIFT,SHORT,NOT_FOUND. Не прошедший контроль ген в модель не передаётся — в отчёте явное «не определено». - Отчёт: уровень резистентности по каждому препарату и список мутаций; полиморфизмы субтипа A6 (включая L74I) выводятся отдельно и в мутации резистентности не входят.
Внешняя валидация v4.0
Деидентифицированная когорта EpidRuSeq — 356 российских пациентов (ФБУН ЦНИИ Эпидемиологии Роспотребнадзора); эталон — заключения Stanford HivDB по каждому препарату.
| Препарат | Класс | AUC | F1 | Чувствительность | Специфичность | QWK | N (резист.) |
|---|---|---|---|---|---|---|---|
| ABC | НИОТ | 0.999 | 0.941 | 0.982 | 0.980 | 0.903 | 356 (57) |
| DTG | ИНСТИ | 0.999 | 0.667 | 1.000 | 0.989 | 0.696 | 354 (4) |
| 3TC | НИОТ | 0.999 | 0.956 | 0.982 | 0.987 | 0.994 | 356 (55) |
| DRV/r | ИП | 0.996 | 0.600 | 1.000 | 0.989 | 0.687 | 353 (3) |
| TDF | НИОТ | 0.996 | 0.870 | 0.870 | 0.991 | 0.879 | 356 (23) |
| ATV/r | ИП | 0.993 | 0.811 | 0.938 | 0.982 | 0.784 | 353 (16) |
| AZT | НИОТ | 0.990 | 0.875 | 0.913 | 0.988 | 0.944 | 356 (23) |
| ETR | ННИОТ | 0.989 | 0.867 | 0.961 | 0.957 | 0.844 | 356 (51) |
| LPV/r | ИП | 0.984 | 0.640 | 0.889 | 0.977 | 0.554 | 353 (9) |
| EVG | ИНСТИ | 0.976 | 0.898 | 0.957 | 0.988 | 0.873 | 354 (23) |
| EFV | ННИОТ | 0.976 | 0.899 | 0.954 | 0.962 | 0.962 | 356 (65) |
| NVP | ННИОТ | 0.967 | 0.859 | 0.941 | 0.941 | 0.944 | 356 (68) |
| RAL | ИНСТИ | 0.967 | 0.917 | 0.957 | 0.991 | 0.829 | 354 (23) |
| BIC | ИНСТИ | 0.769 | 0.750 | 0.750 | 0.997 | 0.703 | 354 (4) |
| Среднее | 0.971 | 0.825 | 0.935 | 0.980 | 0.828 |
QWK — квадратично взвешенная каппа Коэна по пятиуровневой шкале HIVDB. 13 из 14 препаратов проходят целевой порог качества AUC ≥ 0.90 и чувствительность ≥ 0.85; не проходит BIC (AUC 0.769). У BIC, DTG и DRV/r в когорте всего 3–4 резистентных случая — их метрики статистически неустойчивы. DTG и BIC — ингибиторы интегразы второго поколения с общей мишенью, поэтому их оценки отражают одну и ту же малую выборку, а не два независимых измерения.
QWK по классам препаратов (объединённые матрицы 5×5): НИОТ 0.944, ННИОТ 0.933, ИНСТИ 0.761, ИП 0.726.
Внутренняя валидация на отложенной части обучающего корпуса (среднее AUC 0.995) оптимистичнее внешней и используется только для регрессионного контроля при переобучении.
Прежняя публикуемая оценка v3.0 (среднее AUC 0.990) получена до устранения утечки одинаковых последовательностей между train и val в v3.1; актуальная оценка — таблица выше.
⚙️ Технологии и BioMLOps
Мы применяем практики управления жизненным циклом моделей машинного обучения в биомедицине (BioMLOps) — для воспроизводимости результатов.
- Управление данными (DVC): версионирование обучающих датасетов, весов моделей и пайплайнов подготовки данных (HIV-1-Resist-Rus).
- Регрессионный контроль: при переобучении метрики внутренней и внешней валидации сравниваются с зафиксированным baseline; падение сильнее порога останавливает выкатку (CI на GitVerse).
- Воспроизводимость: пайплайны Snakemake (HIV-1-M-Env-Rus, HIV-1-M-Pol-Rus), единый seed для всех случайных операций.
- Технологический стек:
PyTorch (>=2.0),Snakemake,DVC,BioPython.
💡 Научная валидация. Результаты исследований представлены на конференциях:
- Классификация субтипов (HIV-1-M-Env-Rus) — МНСК-2026
- Предикция резистентности и BioMLOps (HIV-1-Resist-Rus) — МСИТ-2026
Научная поддержка: Д.Е. Киреев, ФБУН ЦНИИ Эпидемиологии Роспотребнадзора.
AI medtech платформа для управления контейнеризованными биоинформатическими пайплайнами.
Edge-платформа. Рабочее место. Облачные вычисления.
Свидетельство о государственной регистрации программы для ЭВМ № 2026680748.
Проект начат в МФТИ, продолжен в аспирантуре РНИМУ им. Н.И. Пирогова.
Получение разрешений и валидация в процессе. Текущий статус — RUO. Только для научных исследований. Не для диагностики.
Проект — участник топ-1000 университетских стартапов и Акселерационной программы «Будущее медицины».