устанавливается как scholion — командная строка откликается и на crossread: прочитать источники друг против друга
Локальный движок, который читает геном, лабораторные бланки, назначения и данные носимых устройств друг против друга и показывает происхождение каждого утверждения. Схолия — пометка на полях рукописи с указанием, откуда взято: программа не заменяет источник, а обвешивает его комментарием с провенансом.
Приложите его к диалогу с Claude или ChatGPT и скажите «настрой мне это» — модель прочитает и поведёт дальше сама, по одному маленькому шагу, объясняя каждый до того, как он случится. Данные остаются на вашей машине; правила безопасности старше любой другой инструкции, данной модели.
А если у вас Ouroboros Desktop — ставить руками больше нечего: скилл принят в OuroborosHub, и ставится оттуда одним нажатием (Skills → OuroborosHub → Install), вместе с pip-пакетом.
Нужна полная картина? полный комплект со справочными текстами · все способы установки — для тех, кому терминал дом родной
Чем отличается
Отчёт, в котором всё зелёное, продать легко. Труднее сказать, чего по вашим данным утверждать нельзя, — и именно это определяет, стоит ли верить остальному.
Покрытие меряется по каждому гену отдельно: ген, прочитанный на 70 %, даёт такой же ноль, как прочитанный на 100 %. Крупные делеции короткие чтения не видят вовсе, и это сказано прямо, а не умолчано.
Прежде чем показать «патогенный» вариант из базы, движок проверяет: бывает ли такая болезнь при вашей картине, хватает ли повреждённых копий гена, в ту ли сторону работает вариант, различим ли эффект на фоне погрешности метода.
Нет референсной строки в вашем бланке — показатель выводится без флага, а не с нормой со стороны. Нет полной панели — биологический возраст не показывается. Пропуск остаётся пропуском.
У каждого генетического признака стоит уровень доказательности. Перцентиль полигенного балла зависит от модели и референсной популяции; это позиция в популяции, а не вероятность болезни, и написано это рядом с числом.
Когда подсвечена половина строк, человек перестаёт смотреть на подсветку. Порог, срабатывающий почти у всех, считается сломанным и переделывается: он измеряет свойство данных, а не объектов.
Журнал изменений отвечает не «какие файлы тронуты», а что изменилось в выводах и что отозвано. Старая формулировка живёт в голове, пока её не сняли явно.
Как устроено
Числа, флаги и связи считает локальный код: воспроизводимо и проверяемо. Языковая модель добавляет только формулировку — связный разбор, приоритеты, вопросы к врачу. В ядре нет ни одного обращения к модели, и приложение проверяет это сканом собственного кода прямо на вкладке «Ассистент» — а отдельная вкладка «Справочник» объясняет по каждому экрану, что означает каждый цвет и подпись, чтобы ничего не оставалось необъяснённым только потому, что источник не под рукой.
VCF, PDF-бланки, назначения, выгрузка носимого — лежат в вашей папке.
Флаги, тренды, фенотипы CPIC, находки ClinVar, перцентили PGS, покрытие.
По желанию: разбор со ссылками и вопросами к врачу. Любая модель.
Веб-интерфейс, командная строка (scholion / crossread), скилл — в диалоге или в общей папке навыков, — сервер инструментов MCP, плагин Ouroboros и пакет плагина для ChatGPT-десктопа, Codex и Cursor.
Кому это
Продукт один, но повод открыть его во второй раз у всех свой. Ниже — честно, что каждый получает сегодня.
У вас на руках VCF или BAM после полногеномного секвенирования, и вы не хотите отдавать их в чужое облако. Получаете: находки ClinVar по тирам, вторичные находки ACMG, фармакогенетику до звёздных аллелей и HLA, полигенные баллы — и список того, чего по вашим данным сказать нельзя. Выгрузка потребительского теста читается тоже — 23andMe, AncestryDNA, MyHeritage, Living DNA, FamilyTreeDNA, в том числе прямо внутри архива, который выдаёт провайдер, — и класс входа при этом измеряется: чип не выдаётся за полный геном.
Nextcloud, Home Assistant, Nightscout — и здоровье как ещё один слой, который не должен зависеть от чужого сервера. Ядро работает на стандартной библиотеке Python и одной зависимости — pdfplumber, для чтения PDF-бланков анализов; ни одного сетевого вызова для расчётов, весь код читается за вечер.
Щитовидная железа, железо, липиды, углеводный обмен. Панель раз в квартал, назначения, контрольные заборы. Здесь польза приходит в день визита к врачу: сверка новой панели с прошлой, что контролировать при текущей схеме, какие вопросы задать.
База знаний лежит отдельно от кода, у каждой записи — источник и правило доказательности; правка базы версионируется как отдельное событие. Спорный порог видно, потому что он записан числом в файле, а не спрятан в коде.
Новое в 0.5.0 и 0.5.1 — главное
Раньше щитовидная железа появлялась на странице трижды — в отклонениях, в строке про препарат и в списке «что сдать», — и нигде не было сказано, что это один предмет. Теперь система — единица сборки. Вкладка называется «Радар»: фигура, кольца по системам и по блоку на каждую, а полная карточка — в один клик. С 0.5.1 у каждого сегмента есть ещё и панель позиций, написанных человеком, — она стоит впереди базы.
Система: Липиды · регистр пациента
по этому списку сборка ответить не может — геном на этом
профиле не читается — см. статус генома
1. Лаборатория сейчас 100/100 — маркёров измерено: 3 из 4
не сдавались ни разу: Cholesterol, total
2. Динамика 100 → 100 (0) против 2025-11
3. Генетика системы база GenCC 2026-09-06 — генов: 38;
позиций курируемой панели: 7; прочитано: 0, не прочитано: 0
позиций, чью фразу подписал автор панели, а врач
не подписывал: 7 (подписано 2026-09-13)
4. Назначения · 5. Цель врача · 6. Что сдать · 7. Вопросы
Следующий шаг, три корзины
сдать · дочитать в геноме · спросить врача
геном не подключён — полный геном закрыл бы для этой
системы: 40 генов списка, не прочитанных здесь
Демо-профиль вымышленного человека, входит в пакет: scholion system lipids. Генома у этого профиля нет, поэтому из генетической половины не прочитано ничего — и карточка говорит об этом, а не выдаёт молчание за здоровье. Тот же ответ приходит по клику на сегмент радара, по органу на фигуре, из локального API и из инструмента ассистента.
Сколько лабораторной панели измерено — и сколько генетической половины прочитано. Это разные величины: человек, у которого сдана вся панель и не прочитан ни один ген, не должен видеть то же, что человек в обратном положении. Система, у которой генетический список не собран, показывает кольцо пунктиром — это отсутствие, а не ноль.
1469 генов на пятнадцать систем из выгрузки Gene Curation Coalition: кто заявил связь гена с болезнью, насколько сильно, при каком типе наследования и какого числа. Две группы, спорящие об одном гене, показаны спорящими, а не усреднёнными. Заявка уровня Limited, Disputed или Refuted никогда не подаётся как находка, а одна копия аллеля в рецессивном гене — это носительство и вопрос, а не строка риска.
214 позиций в четырнадцати системах, написанные, а не собранные машиной. Единица строки — позиция, а не ген: rsID со своим HGVS, названный автором аллель, фраза для одной копии и для двух. Строка, где фразы для найденного состояния нет, сохраняется и печатается как ожидающая: позицию сюда поставил человек, а что из этого генотипа следует — ещё предстоит написать.
scholion recompute находит этот шаг, говорит, чего ему не хватает, и выполняет его с видимым ходом работы.Что видно в работе
Все числа на снимках — синтетический демо-профиль вымышленного человека, он входит в пакет. Продукт можно посмотреть до того, как загружать своё: pip install scholion && scholion init --demo && scholion serve.
Показатели за годы, флаги отклонений, динамика, связь с геномом — и фокус внимания: одна задача, на которой человек сосредоточен сейчас.
По препарату из вашей схемы — что об этом говорят гайдлайны применительно к вашим данным: фармакогенетика, что контролировать, взаимодействия с текущей схемой. Итог — список вопросов, а не указаний.
Находки ClinVar, разложенные по клинической важности; полигенные риски как навигатор для скрининга; слой долголетия как контекст, а не приговор.
Бланк следующего забора собирается сам — из текущей схемы, пройденных клинических порогов, договорённостей с врачом и того, чего не хватает для расчётов.
«Кажется, от позднего кофе я хуже сплю» — проверяемое утверждение. Модуль n-of-1 превращает его в эксперимент с заранее зафиксированным протоколом.
Зачем возвращаться
У локального инструмента нет ни подписки, ни уведомлений. Поводов открыть его снова ровно три, и все три возникают сами.
| Что приходит само | Что с этим делает Scholion |
|---|---|
| Новая версия ClinVar | Ежемесячный реанализ по расписанию: свежая база, дифф по вашим вариантам, повторный скан ACMG, обзор кандидатов PGS. Отчёт вида «за квартал переклассифицировано столько-то, из них ваших — эти». |
| Новая панель анализов | Разбор новой панели, сверка с прошлой, обновлённый чеклист следующего забора. Бланки приходят постоянно, геном загружают один раз. |
| Новое назначение | Сверка с текущей схемой и фармакогенетикой, список вопросов к врачу к дате приёма. |
Приватность и лицензии
Геном, анализы, назначения и показатели хранятся только у вас. Наружу код ходит лишь в публичные справочники (Ensembl, RxNorm, CPIC) и сервисы перевода (для межъязыковых названий препаратов), и только за общими сведениями — ваши данные в запрос не попадают. Режим SCHOLION_OFFLINE=1 запрещает и это.
Обезличенная сборка для передачи собирается санитайзером: если в неё попадает любой признак персональных данных, сборка останавливается. В пакете — код, базы знаний, тесты, демо-профиль.
Более тысячи автотестов на стандартной библиотеке, проверка обратной совместимости публичного контракта (56 команд, 20 снимков) и отдельный набор правил безопасности выводов. Прогоняются одной командой у любого, кто взял пакет, — внутри пакета, а не только в нашем репозитории.
Код — Apache-2.0, курируемая база знаний — CC BY 4.0. Происхождение каждого не-своего файла записано в ATTRIBUTION.md; данные, чья лицензия запрещает коммерческое использование, в репозиторий не кладутся вовсе.
Шесть дверей, одно ядро — папка без установки, pip install scholion, скилл для модели без терминала, сервер инструментов MCP, плагин Ouroboros или пакет плагина для ChatGPT-десктопа, Codex и Cursor. Точные, проверенные команды — в разделе «Установка» ниже.
Отчёты печатаются по-английски по умолчанию и переключаются флагом --lang ru или переменной SCHOLION_LANG=ru. Распознавание русских бланков — не настройка, а свойство продукта: имя показателя берётся из бланка у вас в руках и показывается на языке, на котором напечатано.
Ассистент — любая модель. Скилл для Claude, плагин Ouroboros и пакет плагина для ChatGPT, Codex и Cursor идут вместе с ним; для любой другой scholion skill печатает инструкцию, а scholion assistant --context собирает снимок состояния со списком команд. Через скилл модель не получает доступа к машине: она просит выполнить команду и разбирает вывод. Через сервер инструментов она вызывает инструменты, которые работают на вашей машине и читают только ваши данные.
Данные для проверки
Инструмент, проверенный только на том, кто его строил, проходит собственные тесты и падает на мире. Три открытых источника делают проверку возможной — и ни один из них здесь не перепубликуется.
Постоянный эталонный прогон идёт по 36 наборам от одиннадцати поставщиков — от чипов до полных геномов, панелей и разложенных каллсетов. Участники PGP согласились на открытую публикацию своих данных именно затем, чтобы на них работали, — и без этого продукт видел бы только машину автора. Спасибо им. Ничего из их данных здесь не лежит: ни генотипов, ни находок, ни идентификаторов, ни медицинских записей. Наружу из этой работы выходит поведение движка и агрегированные числа.
Синтетический бандл FHIR R4, на котором проверяется импорт по кодам LOINC: выгрузка портала с клиническими записями, сделанная настоящей системой, а не тем же человеком, который писал парсер. Пациент сгенерирован — поэтому файл может лежать в репозитории: ничьего согласия он не требует. Apache-2.0.
Детектор входного формата — detection.py и text_io.py, — вендорен под Apache-2.0 с атрибуцией, отмеченными правками и способом обновиться. Он определяет, что за файл, по содержимому, а не по имени: BAM, CRAM, VCF, gVCF отдельно от VCF, парный FASTQ и выгрузки 23andMe, AncestryDNA, MyHeritage, FamilyTreeDNA, Living DNA — включая обёртки gzip, zip и tar.
Полный провенанс каждого чужого файла — в ATTRIBUTION.md; сверка вендоренного кода с оригиналом запускается командой и сообщает о расхождении в любую сторону.
Установка
Внизу работает один и тот же анализ для всех шести; разница в том, что должно быть под рукой заранее и кто в итоге набирает команды.
pip install scholion
scholion init --demo
scholion overview
scholion serve
Python 3.10+ и больше ничего заранее. Это pip-пакет — он даёт локальный веб-интерфейс и полную командную строку за один шаг; pdfplumber, нужный для чтения PDF-бланков анализов, идёт вместе с ним. Командная строка откликается на два имени, scholion и crossread, — оба ставятся одним пакетом. Необязательный pip install "scholion[genome]" добавляет более быстрый доступ к VCF через pysam; без него встроенный читатель тоже работает, просто медленнее.
Python 3.10+ — единственное требование, весь анализ работает на стандартной библиотеке. (Исключение — чтение PDF-бланков анализов: для этого нужен pdfplumber, а его в этой поставке нет.) Для начала — ./bin/crossread --help. Здесь же лежит инструментарий подготовки генома — FASTQ → VCF, PharmCAT/PyPGx — для тех, кто строит VCF из сырых прочтений; scholion tools показывает, каких внешних программ (bcftools, samtools) не хватает и как их поставить.
Самый простой вход — без навыков работы с терминалом: скачайте файл скилла и приложите его к диалогу с Claude или ChatGPT со словами «настрой мне это». Модель прочитает и поведёт дальше сама — по одному маленькому шагу, объясняя каждый до того, как он случится. Есть и полный комплект со справочными текстами и правилами безопасности, а если пакет уже установлен — scholion skill --full печатает ту же инструкцию. Модель не получает доступа к машине, профиль её не покидает, а правила безопасности имеют приоритет над любой другой её инструкцией.
scholion/ouroboros_tools.py регистрирует 35 инструментов sch_* — второе мнение по препарату, разбор анализов, поиск по локусу, полигенные баллы, долголетие, цели и другое. Ouroboros находит модули инструментов, сканируя свой пакет tools, поэтому туда один раз кладётся одна строка: pip install scholion, затем запишите from scholion.ouroboros_tools import get_tools в <ouroboros>/ouroboros/tools/scholion_tools.py и задайте SCHOLION_REPO_DIR. Сам модуль не копируется, поэтому после обновления ничего делать не нужно. python3 -m scholion.ouroboros_tools печатает список инструментов и отдельно от Ouroboros.
Новое в 0.5.3. Папка agent-plugin/ — это Scholion в формате Agent Plugins, о котором пять компаний договорились в августе 2026 года. Его читают ChatGPT-десктоп, Codex, Cursor, VS Code, GitHub Copilot и Kiro. Один импорт приносит инструменты вместе с инструкцией к ним, и по отдельности их не установить. Пакет ничего не устанавливает: движок ставится один раз командой pipx install scholion, а если его нет, загрузчик отказывается и печатает эту команду. ChatGPT помечает такой плагин как Desktop only, и это верно: движок читает файлы на вашем диске.
scholion mcp отдаёт те же 35 инструментов через стандартный ввод и вывод. Он не открывает порт и не требует ключа. Сервер понимает версию протокола от июля 2026 года, где нет рукопожатия, и версии с рукопожатием вплоть до 2024 года. Тринадцать инструментов отдают ответ ещё и структурой: поля, которые их команда печатает с --json, плюс отчёт со всеми оговорками. Ассистенту больше не нужно разбирать текст обратно в числа.
Все двери запускают один и тот же анализ. Единственная разница, которую стоит знать заранее: pip-пакет и распакованная папка одинаково дают полное приложение, а инструментарий подготовки генома — превращение сырых прочтений секвенатора в VCF — есть только в исходном дереве, вместе с внешними биоинформатическими инструментами, которые он использует. Если VCF у вас уже есть, pip-пакета достаточно для всего, что показано на этой странице.