MoleCode — скилл для работы с молекулами как с графом
MoleCode
Скилл переводит SMILES в граф Mermaid с именованными атомами, и агент правит молекулы без ручной записи SMILES
- 309 ★ репозитория
- Последний коммит
- MIT
Минимальный доступ
Почему такой уровень
- Скилл запускает локальный скрипт конвертации на Python и правит файлы графов, по инструкции внешние сервисы для конвертации не вызывает
Установка
- Работает в
В терминале, через SkillFoxx CLI
npx skillfoxx add skills/molecodeОпределит агенты на машине, покажет уровень доступа и зафиксирует версию.
Другие способы установки
Доступ и проверки
Как мы проверяемМинимальный доступИнструмент ничего не запускает и не ходит в сеть.
- Скилл запускает локальный скрипт конвертации на Python и правит файлы графов, по инструкции внешние сервисы для конвертации не вызывает
Это чужой код. Посмотрите файлы в репозитории перед установкой.
Что делает
Скилл molecode дает агенту рабочий порядок для задач по химии: перевести молекулу в граф, прочитать узлы и связи, поправить граф обычными средствами редактирования файлов и проверить результат. Каждый атом в графе записан как именованный узел с элементом, числом водородов и зарядом. Каждая связь идет отдельным ребром: одинарная `---`, двойная `===`, тройная `-.-`. Все операции идут через один скрипт `molecode_convert.py`. Он переводит SMILES, PSMILES для полимеров и структуры Маркуша в граф и обратно. Еще он проверяет формулу, число атомов и круговое преобразование и сравнивает две структуры. Для больших молекул в скилле описан порядок правки через файл. То же самое доступно как библиотека Python: пакет molecode ставится из PyPI вместе с RDKit и NetworkX. Скилл полезен там, где модель иначе ошибается в SMILES: замена функциональной группы, достройка или слияние колец, подсчет атомов, проверка валентности.
Для кого. Для химиков, биоинформатиков и разработчиков научных инструментов, которые просят Claude Code или Codex анализировать и менять структуры молекул.
Подходит, если
- Нужно заменить функциональную группу или добавить заместитель и убедиться, что формула получилась верной
- Надо замкнуть или слить кольца, сменить линкер или каркас молекулы
- Требуется пересчитать атомы по элементам и проверить валентность после правки
- Работа идет с полимерами в записи PSMILES или структурами Маркуша с переменными группами
- Нужно сравнить две структуры с учетом того, что записи могут выглядеть по-разному
Не подходит, если
- Нужны квантовохимические расчеты, поиск лиганда по белку или моделирование динамики: скилл работает только с представлением структуры
- Правка тривиальна и запись SMILES однозначна: сам скилл разрешает в таком случае править SMILES напрямую
- Нужен предметный консенсус по реакциям или свойствам вещества: скилл не заменяет справочник
- В среде нельзя установить RDKit
Пример запроса к агенту
Возьми аспирин в SMILES CC(=O)Oc1ccccc1C(=O)O, переведи в MoleCode, замени ацетильную группу на пропионильную и проверь формулу.Ограничения
Скилл лежит внутри репозитория в папке .claude/skills/molecode, а для работы нужны Python 3.9 и выше, RDKit и NetworkX. Отдельной команды для установки в глобальный каталог скиллов нет: агент находит скилл, когда вы открываете в нем склонированный репозиторий.
Примеры с вызовом языковой модели требуют ключа и адреса провайдера, их задают переменными MOLECODE_API_KEY, MOLECODE_BASE_URL и MOLECODE_MODEL. Сама конвертация идет локально: инструкция скилла запрещает обращаться к внешним сервисам. К проекту есть научная статья, но ее выводы о точности получены на авторских испытаниях и на вашей задаче могут отличаться.
Как отключить. Удалите склонированный каталог MoleCode или откройте агента в другой папке. Библиотеку удаляет команда pip uninstall molecode.
Частые вопросы
Как поставить MoleCode для Claude Code?
Выполните git clone https://github.com/AtomFlow-AI/MoleCode.git и pip install -e . в склонированной папке. Claude Code находит скилл в .claude/skills/molecode, когда вы открываете эту папку как проект. Для Codex в корне лежит AGENTS.md с описанием того же скрипта.
Что делает команда doctor?
Проверяет, что окружение готово к работе: установлены RDKit и зависимости, скрипт запускается. Ее запускают первой, до конвертации.
Какие форматы поддерживает скрипт конвертации?
Шесть форм преобразования между SMILES, PSMILES и записью Маркуша с одной стороны и MoleCode с другой. Кроме них есть validate для проверки формулы и числа атомов, compare для сравнения структур с учетом Маркуша и doctor.
Нужен ли для скилла MCP-сервер?
Нет. Скилл работает без MCP: агент вызывает скрипт из консоли.
Что такое MoleCode простыми словами?
Запись молекулы в виде графа Mermaid: каждый атом получает имя, а каждая связь отдельную строку. Такой граф однозначно и без потерь переводится в SMILES и обратно через RDKit. Агент правит узлы и ребра графа, и длинную строку SMILES трогать не нужно.
Обсуждение
Вопросов и отзывов пока нет.
Похожие
СкиллыНабор скиллов Google DeepMind для научных задач: доступ к биологическим и химическим базам, поиск литературы и структурная биология
Плагин для Claude Code и MCP-сервер: более 1000 научных инструментов для биологии, химии и медицины, команды для сверки данных и скиллы-маршрутизаторы
166 скиллов для научных задач: биоинформатика, хемоинформатика, клинические данные, геоданные и доступ к более чем 100 базам
Библиотека скиллов для медицинских исследований: поиск и разбор литературы, планирование исследований, анализ данных и написание научных статей
Скилл учит агента искать таблицы, смотреть lineage и словарь терминов в вашем каталоге данных Marmot через CLI, REST и MCP.
Плагин для Claude Code, Codex и Copilot рисует схему обучения ML-модели со ссылками на строки исходного кода
Коротко о README
Проект сопровождает статью на arXiv о том, как явная графовая запись помогает языковым моделям работать со структурой молекул. Репозиторий содержит библиотеку для малых молекул, полимеров и структур Маркуша, примеры задач на понимание, генерацию, правку и рассуждение, а также описание грамматики по темам.
Бейдж для README
Исходный SKILL.md
--- name: molecode description: >- Use for deterministic molecule understanding, graph-level editing, generation, and validation with MoleCode — an explicit Mermaid graph in which every atom and bond is a typed, named node/edge. Converting SMILES to MoleCode exposes the molecule as explicit atoms, hydrogen counts, bonds, bond orders, stereochemistry (R/S, E/Z), aromatic/ring systems, functional groups, and linkers, so an agent can locate substructures and plan edits far more reliably than from linear SMILES. Trigger when the task is to understand or edit a molecular structure, replace a functional group, add/delete/substitute atoms, close or fuse rings, change a linker or scaffold, count atoms/elements, check formula/connectivity/ valence, design a molecule under constraints, or convert between SMILES and MoleCode. Also covers polymers (PSMILES repeat units) and Markush structures (variable R-groups). Prefer MoleCode graph inspection and editing before hand-writing SMILES; the bundled script provides the conversion and validation API. --- # MoleCode Use the bundled script first. Do not call an external service for conversion. MoleCode is the preferred working representation when an LLM needs to understand or edit a molecule. Converting SMILES to MoleCode exposes the molecule as an explicit [Mermaid](https://mermaid.js.org/) graph: every atom is a named node `prefix_Element_N[Label]` carrying its element, hydrogen count and charge, and every bond is an explicit edge (`---` single, `===` double, `-.-` triple). This graph form is usually strong enough for the model to locate substructures, reason about aromatic systems, identify fused rings, follow linkers, and plan edits directly. Reconstruct the whole molecular topology from the explicit nodes and edges before making any edit. Treat MoleCode as a **code-like molecular data structure**: inspect it, add concise `%%` comments when useful, patch it with normal file-editing tools, and validate it with the bundled script. Directly editing the graph is usually simpler and safer than generating a new SMILES by hand — adding a methyl is one new node plus one new edge, not a whole-string rewrite. ## MoleCode-first decision rule For any molecule understanding or editing request, work at the explicit graph level first: 1. Convert the input SMILES (or PSMILES) to MoleCode with the bundled script. 2. Read the nodes and edges to understand the structure and the requested change. 3. Edit the graph directly (add/remove nodes and edges; relabel hydrogen counts). 4. Validate and convert back to the requested representation with the script. Use direct SMILES editing only when the change is trivial and the structure is already unambiguous. Reach for specialized cheminformatics code only when graph