Методология
Как Robertium находит кандидатов на перепрофилирование лекарств из биомедицинской литературы
Обзор пайплайна
Пайплайн работает сквозным образом по десяти терапевтическим областям. Каждый этап независимо воспроизводим: тот же вход — тот же выход. Числа ниже отражают текущий корпус.
- 1СборOpenAlex API · 10 концептов-доменов167 145 статей
- 2L1-фильтр биомедициныPubTator (NCBI) · ≥2 распознанных сущностей90 166 статей прошло
- 3Извлечение структурированных утвержденийinstruction-tuned LLM · 21 предикат · 9 типов сущностей270 791 утверждение (субъект–предикат–объект + PMID)
- 4Граф знанийKuzu · межобластные мосты160 955 сущностей · 270 791 ребро
- 5Поиск по Свенсону ABC90 направленных пар · фильтры посредников и словаря препаратов24 285 кандидатов · 1 618 outreach-качества (197 высоких + 1 421 средних, после дедупликации)
- 6Обогащение для валидацииClinicalTrials.gov v2 · PubMed E-utilities856 новых кандидатов · 112 воспроизводят активные испытания
Открытые источники данных
Robertium использует только открытую биомедицинскую литературу. Никаких платных статей, никаких коммерческих наборов данных. Каждый источник свободно доступен любому.
- OpenAlex — основной источник корпуса. Подтягивает метаданные, аннотации и DOI для статей, помеченных релевантными биомедицинскими концептами. Мы используем концепт-ID OpenAlex (например, C2780596555 для БАС), чтобы получать сфокусированные доменные корпуса по 5 000–10 000 статей на болезнь.
- PubTator (NCBI) — разметчик биомедицинских сущностей. Отсеивает статьи без распознанных биомедицинских сущностей (гены, химические соединения, болезни). Типичная доля прохождения: 50–80% на область.
- Собственный экстрактор утверждений — на основе современной instruction-tuned LLM со структурированным YAML-промптом. Извлекает тройки (субъект, предикат, объект) с типами сущностей, полярностью и оценками достоверности.
Извлечение структурированных утверждений
Каждая аннотация обрабатывается LLM с контролируемым словарём из 18 предикатов (inhibits, downregulates, associated_with, sensitizes_to и т. д.) и 10 типов сущностей (drug, gene, protein, pathway, phenotype, disease, biomarker, organism, cell_type, technique). Модель возвращает JSON со строгой валидацией схемы.
{
"subject": "verteporfin",
"subject_type": "drug",
"predicate": "downregulates",
"object": "EGFR",
"object_type": "gene",
"context": "EGFR-mutant glioblastoma",
"polarity": "positive",
"confidence": 0.85
}По 167 145 статьям текущего корпуса мы извлекаем в среднем 3,0 утверждения на аннотацию, прошедшую L1-фильтр биомедицинской релевантности. Всего: 270 791 структурированное утверждение по десяти терапевтическим областям. Все утверждения связаны с исходными PMID для проверки.
Граф знаний
Утверждения импортируются в графовую БД Kuzu. Каждая уникальная сущность становится узлом; каждое утверждение — ребром с предикатом в качестве метки. Сущности, упомянутые в нескольких областях, объединяются на лексическом уровне (с запланированным переходом на нормализацию на основе UMLS).
сущностей
утверждений
Именно этот общий граф делает возможным межобластной поиск гипотез — белок, участвующий и в глиобластоме, и в эпилепсии, создаёт мост между двумя литературами.
Модель Свенсона ABC для перепрофилирования
Чтобы находить кандидатов на перепрофилирование, мы применяем модель основанного на литературе поиска (LBD) Дона Свенсона. Препарат A может быть перепрофилирован для болезни C, если существует посредник B такой, что A влияет на B, а B связан с C, но A и C не имеют прямого совместного упоминания в литературе.
Robertium сейчас выявляет гипотезы, где:
- прямых доказательств A→C ноль или минимум
- и A→B, и B→C имеют хотя бы одну подтверждающую рецензируемую статью
- посредник B — осмысленная биологическая сущность (ген, белок, путь)
Каждая гипотеза оценивается логарифмической комбинацией числа доказательств A→B и B→C, с бонусами за цепочки с множественными доказательствами.
Фильтр новизны
Robertium налагает строгое ограничение новизны на выявляемые гипотезы. Любой кандидат, где связь препарат → исход уже встречается как прямое утверждение более чем в одной статье, отфильтровывается (max_direct_evidence = 1, см. src/robertium/graph/repurposing.py:192). Это не настраиваемый параметр — это предпосылка Свенсона (1986) для основанного на литературе скрытого поиска.
Поэтому каталог на /hypotheses намеренно исключает самые известные перепрофилирования: ketamine → устойчивая к лечению депрессия, metformin → болезнь Альцгеймера, valproate → биполярное расстройство и другие, чья связь препарат → исход накопила прямые цепочки цитирований за десятилетия клинических исследований. Эти случаи отфильтрованы на этапе построения.
Вместо этого вы видите связи, которые опубликованная литература ещё не делает явными через прямое цитирование — цепочки препарат → посредник → исход, где две половины живут в разных пулах литературы, редко цитирующих друг друга. В этом ценность Robertium: точность новизны, а не воспроизведение известных перепрофилирований. См. /benchmark для эмпирической проверки этого подхода на 50 проверенных исторических перепрофилированиях.
Межобластной поиск
Самое мощное применение модели ABC возникает, когда несколько областей болезней делят один граф. Препарат, изучавшийся при глиобластоме, может разделять молекулярную мишень с литературой по раку поджелудочной железы — указывая на неочевидную возможность перепрофилирования, которую не выявил бы обзор литературы в пределах одной области.
--[associated_with]--> pancreatic ductal adenocarcinoma
Osimertinib — ингибитор EGFR третьего поколения, одобренный FDA, применяемый при немелкоклеточном раке лёгкого и часто изучаемый как кандидат при глиобластоме. EGFR — установленный онкогенный драйвер при протоковой аденокарциноме поджелудочной железы. Эти две литературы редко пересекаются; Robertium выявляет связь автоматически через общего посредника. Прямых совместных упоминаний osimertinib и PDAC: ноль. Косвенная цепочка: 3 + 2 подтверждающих статьи, outreach-оценка 0,373.
Межобластной оркестратор анализирует все 90 направленных пар по десяти терапевтическим областям (глиобластома, эпилепсия, БАС, болезнь Альцгеймера, рак поджелудочной железы, большое депрессивное расстройство, рассеянный склероз, диабет 2 типа, ревматоидный артрит, воспалительные заболевания кишечника). Сырой вывод: 24 285 гипотез-кандидатов. После фильтрации по специфичным посредникам — общие воспалительные цитокины (TNF-α, IL-6, NF-κB) и тривиальные термины путей (inflammation, cell death, autophagy) исключаются — и чистого словаря препаратов (растительные экстракты, неопределённые нано-формуляции исключаются), а также после схлопывания 279 формулировочных дубликатов в их канонические записи, 1 618 гипотез проходят критерии outreach-качества, из них 197 оценены как высокодостоверные и 1 421 как среднедостоверные. Другие примеры в высокодостоверном уровне: metformin → α-synuclein → болезнь Паркинсона (нейропротективный кандидат, выявленный через цепочку-посредник БАС–Альцгеймера) и Riluzole → MMP-9 → эпилепсия (препарат от БАС, наводящий мост в литературу по судорогам через сигналинг матриксной металлопротеиназы).
Обогащение для валидации
Каждая гипотеза outreach-качества обогащается двумя внешними сигналами, чтобы исследователь сразу понимал, с каким кандидатом имеет дело.
- Статус клинических испытаний (через публичный API ClinicalTrials.gov v2). Для каждой пары препарат–исход мы выполняем запрос и относим результат к active, completed, preclinical_only, none или unknown (когда имя препарата — комбинация, идентификатор или иначе не поддаётся поиску). Когда испытания есть, три верхних NCT ID ссылаются из развёрнутого вида гипотезы.
- Статус в литературе (через PubMed E-utilities). На гипотезу выполняются два запроса: прямое совместное упоминание
"{drug}"[tiab] AND "{outcome}"[tiab]и тот же запрос, ограниченный темой repurposing/treatment/therapy. Результат относится к reproduces_known (≥5 упоминаний в духе перепрофилирования), partial_evidence, novel_signal (нет упоминаний перепрофилирования и не более двух совместных упоминаний) или unknown.
Это позволяет каталогу отличать гипотезы, воспроизводящие известные ассоциации (проверка вменяемости методологии), от по-настоящему новых сигналов, заслуживающих изучения. Сочетание новый сигнал + нет клинических испытаний — самая полезная отправная точка: это кандидаты, которых Robertium выявил и которыми, похоже, ещё никто не занялся.
Обогащение ограничено по частоте (5 запросов/с для ClinicalTrials.gov, ~2,5 запросов/с для PubMed без API-ключа), идемпотентно и выполняется только для гипотез outreach-качества.
Чем Robertium не является
Калибровка ожиданий важна не меньше описания возможностей. Чтобы прямо обозначить, что этот инструмент даёт и чего не даёт:
- Не замена систематического обзора. Robertium выявляет кандидатов, достойных изучения; строгая оценка любой конкретной гипотезы по-прежнему требует ручного обзора литературы, экспертной оценки и проверки по первоисточникам.
- Не инструмент клинических решений. Сгенерированные гипотезы описывают возможные биологические связи, а не рекомендации по лечению. Они не валидированы экспериментально и не должны влиять на уход за пациентами.
- Гипотезы — отправные точки, а не выводы. Высокая оценка означает, что цепочка доказательств хорошо подкреплена в опубликованной литературе, а не что препарат работает по предложенному показанию. Многие высокооценённые цепочки окажутся артефактами совместного упоминания, избыточных доказательств или уже известных ассоциаций.
- Не новизна по умолчанию. Некоторые выявленные гипотезы (например, нейропротективные эффекты metformin или valproic acid как ингибитора HDAC) хорошо известны в литературе. Robertium воспроизводит известные межобластные мосты как проверку вменяемости; оценка новизны требует экспертизы в области.
- Не замена первоисточникам. Каждая гипотеза ссылается на исходные PMID; бремя чтения самих статей, оценки дизайна исследования и суждения о биологической правдоподобности лежит на исследователе.
Мы говорим об этом прямо, потому что ценность инструмента зависит от калиброванных ожиданий — Robertium помогает быстрее находить кандидатов, а не заменяет работу по их оценке.
Качество и ограничения
Robertium — это исследовательская инфраструктура, а не инструмент клинических решений. Сгенерированные гипотезы требуют экспертной проверки и экспериментальной валидации. Известные ограничения:
- Разрешение сущностей. Лексическое объединение означает, что «EGFR» и «Epidermal Growth Factor Receptor» в текущем графе по-прежнему разные узлы. Нормализация на основе UMLS запланирована.
- Шум извлечения. LLM иногда извлекает вторичные упоминания как первичные утверждения (например, препарат группы контроля вместо целевого). Точность систематически не оценивалась; ручные выборочные проверки топ-гипотез показывают, что большинство отражают осмысленные связи препарат–мишень, но строгое измерение precision/recall запланировано вместе с первым препринтом.
- Фильтры посредников и словаря препаратов. Ранжирование гипотез теперь включает фильтр специфичности посредника, исключающий общие воспалительные цитокины (TNF-α, IL-6, NF-κB) и тривиальные посредники-пути (inflammation, cell death, autophagy), плюс фильтр словаря препаратов, удаляющий растительные экстракты и неопределённые нано-формуляции. Полная логика — в
classify_outreach_quality.pyв публичном репозитории. - Расширения самовалидации (май 2026). Ручной обзор топ-20 высокодостоверных гипотез выявил несколько категорий имён препаратов, не пригодных как кандидаты на перепрофилирование, которые с тех пор добавлены в исключённое множество: трейсеры для ПЭТ (например, PBB3, 18F-PI-2620), биологические образцы (например, ALS-CSF), хирургические или аппаратные вмешательства (например, глубокая стимуляция мозга, фокусированный ультразвук), внутренние фармацевтические исследовательские коды без утверждённого общего имени (например, WSD-0922, ABBV-221), расплывчатые смеси природных продуктов (например, «active components», объединённые через слэш комбинации) и пептидные конструкции, обозначенные греческими буквами или идентификаторами в духе LIR/TP53INP. Препараты этих категорий — допустимые упоминания в литературе, но не то, что исследователь может перепрофилировать, поэтому их исключение повышает качество остального каталога.
- Фильтр прямой связи A→C эвристический. Гипотеза с одним прямым совместным упоминанием всё ещё может быть новой, если упоминание случайно. Мы показываем такие, но не исключаем автоматически.
Мы открыто документируем эти ограничения. Улучшения методологии происходят публично — см. текущие задачи на GitHub.
Воспроизводимость
Robertium — открытый проект под лицензией MIT. Полный пайплайн на GitHub:
- Исходный код — github.com/routewise96/robertium
- Файлы конфигурации — YAML-конфиги для каждой области (концепт-ID, фильтры, настройки модели)
- Извлечённые утверждения — доступны для скачивания (публикация запланирована к первому препринту)
- Граф знаний — доступен как дамп БД Kuzu
Любой может склонировать репозиторий, запустить пайплайн на новой области и проверить наши результаты. Вклад и воспроизведения приветствуются.
Провенанс и воспроизводимость
Каждая гипотеза в каталоге поставляется с полным следом происхождения: статьи-источники, из которых она выведена, структурированные утверждения, извлечённые LLM из каждой аннотации, логика связывания, соединившая цепочку, использованные модель эмбеддингов и версия промпта, и формула оценки, давшая итоговый уровень.
Мы не считаем, что инструменты перепрофилирования должны быть чёрными ящиками. Мы раскрываем:
- LLM и промпт — имя модели и версия промпта (меняется при любом изменении системного промпта), чтобы любой повторный запуск был байт-в-байт идентичным
- Модель эмбеддингов — bge-m3, 1024-мерная, макс. длина 8192 — используется только для L1-фильтрации релевантности, никогда для оценки гипотез
- Код оценки — точная формула
score = min((log(ab+1)+log(bc+1)) · novelty / 10, 1)сnovelty = 1.0, если прямых доказательств A→C нет, иначе0.7/(direct+1) - Статьи-источники — полный PMID, DOI, заголовок, журнал, дата публикации, плюс метка роли (препарат→посредник или посредник→исход)
- Запуск пайплайна — git-коммит, команда, хост, статус и временные метки вызова оркестратора, породившего строку
- Самораскрытие полноты — бейдж на каждом следе сообщает, был ли он зафиксирован вживую при генерации, дозаполнен задним числом из состояния БД или имеет неустранимые пробелы
Пример: посмотрите полный след для auranofin → TDP-43 → ALS. JSON за ним скачивается по кнопке внизу панели; вы можете воспроизвести наш анализ на своих данных.
Как цитировать
Если вы ссылаетесь на Robertium в рукописи, докладе или заявке на грант, используйте цитату ниже. Каталог гипотез заархивирован на Zenodo с постоянным DOI. Готовится официальный препринт с полной методологией и валидацией.
Исходный код: github.com/routewise96/robertium · Веб-интерфейс: robertium.com
По сотрудничеству, доступу к данным или вопросам методологии: daniel@robertium.com