Как запустить биомедицинскую лабораторию в одном Docker-контейнере

12 Mar, 2026

Представьте ситуацию: вам нужно срочно прогнать анализ РНК-секвенирования, построить кривые выживаемости Каплана-Мейера или найти потенциальные ингибиторы белка в базе ChEMBL. Обычно это превращается в квест: установи R, накати Bioconductor, не забудь про зависимости Python, разберись с версиями библиотек... А потом еще нужно как-то визуализировать результаты, чтобы они не выглядели как привет из девяностых.

Недавно наткнулся на MedgeClaw. Это проект, который пытается подружить мощные инструменты анализа данных с современными LLM, создавая что-то вроде «умного лаборанта». Вы пишете ему в Slack или Discord: «Проанализируй данные из этой папки», а он сам поднимает окружение, пишет код и выплевывает готовый дашборд.

MedgeClaw Logo

Что под капотом

MedgeClaw — это не просто обертка над чат-ботом. Автор собрал довольно сложный «слоеный пирог» из технологий.

В основе лежит OpenClaw — это шлюз для общения с мессенджерами. Сверху накручен Claude Code, который отвечает за выполнение команд. Но самое интересное — это интеграция с K-Dense Scientific Skills. Это база из 140 готовых навыков для биоинформатики, поиска лекарств и клинических исследований.

Вся эта махина работает внутри Docker-контейнера, где уже предустановлены:

  • R-окружение с джентльменским набором: DESeq2, Seurat, edgeR, clusterProfiler.
  • Python-стек: Scanpy, BioPython, scikit-learn.
  • Инструменты для работы: RStudio Server и JupyterLab.

Как это работает на практике

Процесс выглядит так: вы подключаете бота к своему мессенджеру (WhatsApp, Slack или Discord) и начинаете ставить задачи обычным языком. Например, можно попросить найти в PubMed последние статьи по CRISPR и сделать саммари топ-10 публикаций. Или скормить ему CSV-файл с данными пациентов и попросить провести анализ выживаемости.

Бот не просто выдает текст. Он генерирует код, запускает его в изолированном контейнере и сохраняет результаты. Чтобы вы не гадали, что там происходит, MedgeClaw автоматически поднимает Research Dashboard.

Этот дашборд — одна из самых приятных фишек проекта. Это простая веб-страница, которая обновляется в реальном времени. Там видно прогресс-бар, текущий этап анализа, сам код и превью графиков или таблиц. Если вам нужно что-то подправить руками, вы просто заходите в RStudio по адресу localhost:8787 и работаете с теми же файлами, которые создал бот.

Технические нюансы и засады

Проект активно использует модели Anthropic, но автор предусмотрел возможность работы через прокси или локально через Ollama. Тут есть важный момент, о котором честно предупреждают в документации: если вы используете не прямой API Anthropic, а прокси (например, DeepSeek или MiniMax), Claude Code может «зависнуть» на проверке безопасности Bash-команд.

Это лечится добавлением переменной ANTHROPIC_SMALL_FAST_MODEL в файл .env. Без этого предполётная проверка будет ждать ответа от модели Haiku, которой у многих прокси-провайдеров просто нет в списке доступных.

Еще один приятный бонус — решение проблемы с китайскими, японскими и корейскими иероглифами в matplotlib. Те, кто работал с азиатскими датасетами, знают эту боль, когда вместо подписей на графиках видишь пустые квадраты. Здесь это пофикшено на уровне системных шрифтов и навыков визуализации.

Кому это пригодится

Я вижу несколько сценариев, где MedgeClaw может реально сэкономить время.

Во-первых, это быстрая проверка гипотез. Когда нужно набросать черновой анализ данных, не тратя два часа на написание шаблонного кода для ggplot2 или pandas.

Во-вторых, это командная работа. Благодаря интеграции с мессенджерами, вся группа исследователей видит ход анализа и результаты прямо в общем чате.

В-третьих, это обучение. Для студентов-медиков или биологов, которые еще не очень уверенно чувствуют себя в коде, это отличный способ увидеть, как строятся пайплайны обработки данных.

С чего начать

Для запуска понадобится Node.js 22+, Docker и API-ключ (Claude, DeepSeek или локальная Ollama).

git clone --recurse-submodules https://github.com/xjtulyc/MedgeClaw
cd MedgeClaw
cp .env.example .env
# Настраиваем ключи в .env
bash setup.sh
docker compose up -d

Проект выглядит как крепкий инструмент для тех, кто хочет автоматизировать рутину в биомедицинских исследованиях. Конечно, он не заменит полноценного биоинформатика, но как «второй пилот» для быстрой обработки данных и визуализации справляется отлично. Документация местами лаконична, но архитектура прозрачная, а наличие RStudio и JupyterLab внутри контейнера дает страховку на случай, если ИИ где-то ошибется в коде.