MindCopy — программная платформа биологически-реалистичного моделирования нейронных сетей
Дата: 23 июня 2026 г. Автор: Фешин В. А.
Аннотация
MindCopy представляет собой интегрированную программную платформу для построения, визуализации и симуляции биологически-реалистичных нейронных сетей с компартментной (сегментной) морфологией. Платформа включает вычислительное ядро (BioNeuronCore), среду визуального моделирования (BioNeuronStudio), инструментарий разработки плагинов (BioNeuronSDK) и платформу автоматизированного тестирования (StudioTestBench). Поддерживается CPU- и GPU-исполнение (Intel SYCL/oneAPI DPC++), бинарный формат BION v6, 121 тип трансмембранных модификаторов, библиотека из 224 типов нейронов (24 головастика Xenopus laevis + 200 человека), 14 нейромедиаторов, 5 ионов, 36 генов ядерной регуляции. Все ионные токи рассчитываются по формализму Гольдмана-Ходжкина-Катца (GHK). Система обеспечивает полный цикл: от эмбрионального развития коннектома до поведенческих реакций (хемотаксис, фототаксис, аудиотаксис, вестибулярные рефлексы, электро-/магниторецепция).
Ключевые слова: вычислительная нейронаука, компартментное моделирование, GHK-формализм, GPU-симуляция, SYCL, нейронная сеть, коннектом, головастик, CPG, нейромодуляция, STDP, BION-формат.
1. Введение
Современная вычислительная нейронаука требует инструментов, способных симулировать сети из тысяч нейронов с детальной биофизикой каждого сегмента, сохраняя при этом интерактивность визуализации и возможность экспериментального протоколирования. Платформа MindCopy создана для заполнения этого пробела — она объединяет высокопроизводительное ядро симуляции, научный GUI и экосистему плагинов в единую среду.
1.1. Мотивация
Большинство существующих симуляторов (NEURON, NEST, Brian) ориентированы либо на детальное моделирование одиночных нейронов, либо на крупномасштабные сети с упрощённой динамикой. MindCopy занимает промежуточную нишу: полнобиофизическая сегментная модель с 121 типом ионных каналов/рецепторов/насосов на сетях до 10⁴ нейронов и 10⁵ сегментов с интерактивной 3D-визуализацией.
1.2. Состав платформы
| Компонент | Версия | Назначение |
|---|---|---|
| BioNeuronCore | v0.19.3 | Вычислительное ядро: C++17 + SYCL 2020, GHK-токи, диффузия, пластичность, демон IPC, batch mode |
| BioNeuronStudio | v0.38.4 | GUI: OpenGL 3.3 + Dear ImGui, 3D-вьюпорт, графика, запись экспериментов, IPC-клиент |
| BioNeuronSDK | v0.6.0 | Инструментарий плагинов: plugin-devkit.h, генератор dispatch, CMake-модули |
| BioNeuronOrchestrator | v0.4.0 | Распределённые вычисления: REST API, parameter sweep, эволюция, скрининг, онтогенез, волонтёрский дашборд |
| StudioTestBench | v0.3.1 | Автоматизированное тестирование: 350+ тестов, fuzzing, valgrind |
| examples | — | 16 образовательных экспериментов (.bexp) с трёхъязычными README (RU+EN+ZH) |
2. Архитектура системы
2.1. Принципиальная схема
BioNeuronStudio (GUI, OpenGL 3.3, Dear ImGui)
│ simulation_core_api.h — opaque C API (void*) или IPC-транспорт
▼
BioNeuronCore (libbiocore_gcc.a / libbiocore_gpu_backend.so / biocore-daemon --batch)
│ plugin-devkit.h — загрузка .so плагинов через dlopen
▼
BioNeuronSDK (генераторы, шаблоны, CMake-модули)
BioNeuronOrchestrator (REST API, parameter sweep, evolution, screening, ontogenesis, leaderboard)
│ управление распределёнными вычислениями (6 этапов)
▼
BioNeuronAgent (клиентский агент на вычислительных узлах)
Ключевой архитектурный принцип — полная изоляция
типов между Studio и Core. Studio никогда не включает заголовки Core
напрямую; всё взаимодействие осуществляется через
simulation_core_api.h, который экспонирует только
opaque-указатели (void*) и accessor-функции. Это
предотвращает бинарное связывание и позволяет независимую эволюцию обоих
проектов.
2.2. Вычислительное ядро (BioNeuronCore)
Язык: C++17 + SYCL 2020 (Intel oneAPI DPC++)
Сборка: GCC (CPU, libbiocore_gcc.a) и Intel DPC++ (GPU,
libbiocore_gpu_backend.so) Модель данных: POD (Plain
Old Data), #pragma pack(1), фиксированные массивы —
совместимость с GPU/USM
Цикл симуляции (5 шагов на тик)
Каждый вызов run_tick(dt) выполняет пять
последовательных шагов с явными q.wait()-барьерами:
- Токи модификаторов →
I_bufferпосегментно (CPU или GPU dispatch) - Аксиальные токи через
IntraConnection→ атомарное накопление вI_buffer2.5. Межсегментная диффузия: ионы, нейромедиаторы, АТФ, температура, транскрипционный сигнал — закон Фика, O(N_conn), CPU - Синаптические токи: спайк → выброс → модуляция → пост-ответ → клиренс
- Обновление мембранного потенциала: V_m += I_buffer / C_m · dt, сброс I_buffer
Двойной диспетчер CPU/GPU
- CPU: таблица function pointer’ов
modifier_current_table[128], загружаемая из.soплагинов черезdlopen. Не требует пересборки Core при добавлении модификаторов. - GPU:
switch-оператор на 121 case (SYCL не поддерживает function pointers). Требует перекомпиляции. - Fallback chain: CPU путь → таблица плагинов → биологический fallback (скомпилированный switch).
Формат BION v6
Бинарный формат нейронной сети. Структуры с
#pragma pack(1):
| Структура | Размер | Назначение |
|---|---|---|
NetworkHeader |
84 байта | Версия, кол-во элементов, v5+: num_nuclei |
Segment |
988 байт | Геометрия, V_m, 5+5 ионов, 14 NT, 16 модификаторов, АТФ |
Modifier |
44 байта | Тип, плотность, state[8], флаги |
Synapse |
824 байта | pre/post ID, рецепторы, cleft_nt[14], weight, delay |
Nucleus |
332 байта | 36 генов (gene_activity + protein_level), v5→v6 миграция |
IntraConnection |
12 байт | Сегмент-сегмент |
Neuron |
24 байта | Идентификатор, флаги |
ConsolidationEvent |
36 байт | Данные консолидации |
Обратная совместимость: v3→v4→v5→v6 с миграцией на лету при загрузке.
2.3. Графическая студия (BioNeuronStudio)
Фреймворки: OpenGL 3.3 Core, Dear ImGui (docking), ImGuizmo, ImPlot Язык: C++17 Локализация: русский, английский, китайский (i18n JSON)
Основные панели и окна
| Компонент | Функциональность |
|---|---|
| 3D-вьюпорт | Орбитальная камера, закрытые цилиндры + торцевые диски, frustum-стыки (сглаживание переходов между сегментами разного радиуса), ray-cast-выделение, ImGuizmo (translate/rotate), подсветка спайков |
| Панель сборки | Создание сегментов (сома, дендрит, аксон, бутон, шипик), шаблоны сетей, CPG-шаблон |
| Панель свойств | V_m, геометрия, модификаторы, рецепторы синапсов, связанные сегменты |
| Иерархия сети | Дерево: Сеть → Нейроны → Сегменты → Модификаторы + Синапсы, контекстные меню, drag-and-drop |
| Графики (ImPlot) | V_m, ионы, спайк-растр, ионные/синаптические токи, кольцевой буфер 10000 точек, CSV-экспорт |
| Панель «Подопытные» | Генерация головастика (7 правил Roberts 2014), онтогенез, сенсорный слой, 3D-тело |
| Конвертер | SWC→BION, метрики морфологии, настройка длин сегментов |
| Библиотека клеток | 224 типа нейронов с предзаданными биофизическими профилями |
| Стимуляция | I_clamp, voltage clamp, ramp, ионные/лигандные инжекции |
| Пробы | Канюли и электроды: запись/стимуляция/инжекция, 3D-визуализация |
| Эксперименты | Запись/воспроизведение в .bexp (JSON-заголовок +
бинарные кадры), браузер, плеер |
| NeuroML | Импорт/экспорт NeuroML v2: cell/morphology, biophysicalProperties, projection |
| Гистология | 3 режима (фактический/минималистичный/биологический 1:1), N/C ratio из морфологии, ядрышки, Ниссль-вещество, 4 окраски |
| Запись видео | AVI: несжатый / MJPEG, асинхронная генерация кадров |
| Обновления | Онлайн-проверка через API (AES-256-GCM) + локальный источник (.deb/.rpm/.AppImage/.so) |
Симуляционный мост (SimulationBridge)
- Три режима: CPU (статический линк), GPU (dlopen), IPC (Unix-сокет/TCP к демону)
- Потокобезопасность: мьютекс, копирование снапшотов
в
NetworkSnapshotдля GUI - Чекпоинты: сохранение/загрузка состояния симуляции
- USM-указатели: GPU Unified Shared Memory доступны с CPU без изменений
- Multi-session: изоляция сессий через
SessionContext, независимые симуляции на GPU
2.4. Оркестратор распределённых вычислений (BioNeuronOrchestrator)
HTTP-сервер (libmicrohttpd) + клиентский агент (libcurl). Обеспечивает распределённое выполнение задач на множестве вычислительных узлов. Реализован в виде 6 последовательных этапов, каждый с полным тестовым покрытием.
Архитектура оркестратора
- Orchestrator Server (C++17, libmicrohttpd): REST API, очередь задач с приоритетами, персистентность через MySQL/MariaDB (IDatabase+MockDatabase для тестирования без БД)
- BioNeuron Agent: лёгкий клиент на вычислительных
узлах, получает задачи, запускает Core daemon в batch-режиме
(
--batch --load-bion --ticks --params-json --seed), отчитывается о результатах - Криптография: AES-256-GCM шифрование, ECDSA-P256 подпись, PBKDF2 деривация ключей (OpenSSL)
- Валидация: JSON-парсер с range-check’ами, hex-валидация (SHA-256), проверка URL и путей
- Логирование: ротация по размеру (10 МБ) и
количеству файлов (5), макросы OLOG_INFO/WARN/ERROR, формат
[timestamp] [LEVEL] message - Дашборд: динамические таблицы узлов и задач из БД, статус-бейджи, автообновление
Этап 1: Parameter Sweep (пакетный режим)
Параметрическая развёртка: одна BION-сеть × N комбинаций параметров.
Оркестратор генерирует sub_jobs перебором значений (линейная и
логарифмическая шкала), агенты получают .bion + params_json → Core
daemon в batch-режиме → .bexp + метрики. Core daemon поддерживает
--batch, --params-json, --seed,
--bexp-output. IPC-сообщение
MSG_RUN_TASK_PARAMS (0x090A).
Этап 2: Проверка памяти + Tiered Execution
Перед назначением задачи проверяется соответствие возможностей узла
(RAM, GPU-память, CPU-ядра) требованиям задачи. Агент читает
/proc/meminfo → регистрирует NodeCapabilities. Core
поддерживает mmap-аллокацию (MAP_PRIVATE | MAP_ANONYMOUS) с
madvise-подсказками и классификацию сегментов HOT/WARM/COLD (shadow
validation: tiered execution выключен по умолчанию, все вычисления —
полный биофизический тик).
Этап 3: Дублирование + Валидация
Каждая sub_job назначается на 2 независимых агента. Результаты сравниваются по метрикам (mean V_m по популяциям, spike count, synchrony index) с допуском 0.1%. При расхождении назначается третий агент — решение большинством голосов (majority vote). Статусы: TASK_PARTIALLY_VALIDATED → TASK_FULLY_VALIDATED / TASK_DIVERGENT.
Этап 4: Эволюционная оптимизация + Виртуальный скрининг
Генетический алгоритм (tournament selection, single-point crossover, Gaussian mutation, elite 10%, tournament size 3, early-stop convergence) на пространстве параметров сети. Виртуальный скрининг библиотек соединений — каждая молекула → sub_job → ранжирование по efficacy score.
Этап 5: Онтогенез + Коннектом-исследование
Долгие задачи с чекпоинтами. Core:
MSG_CHECKPOINT_AND_CONTINUE (0x0804), graceful shutdown
(SIGTERM → чекпоинт → exit(75)). Онтогенез: 4-стадийная цепочка
(EARLY_TAILBUD → … → FREE_SWIMMING). Коннектом: LHS-сэмплинг (Latin
Hypercube Sampling) синаптической матрицы.
Этап 6: Волонтёрский дашборд
Публичный leaderboard (GET /api/v1/leaderboard?limit=100), личная статистика волонтёра, система баллов (base_points = ticks/1000 × capability_multiplier), бейджи: «First Contribution», «10 Tasks», «100K Ticks», «1M Ticks», «Validated», «Ontogeny Pioneer», «Evolution Master», «7-Day Streak». Трёхъязычный интерфейс (RU+EN+ZH).
API
POST /api/v1/node/register — регистрация узла с capabilities
POST /api/v1/task/claim — запросить sub_job
POST /api/v1/task/result — отправить результат с метриками
POST /api/v1/task/heartbeat — heartbeat с метриками CPU/GPU/память
GET /api/v1/task/status/:id — статус задачи
POST /api/v1/task/create_sweep — создать parameter sweep
POST /api/v1/task/create_evolution — создать эволюционный прогон
POST /api/v1/task/create_screening — создать виртуальный скрининг
POST /api/v1/task/create_experiment — создать эксперимент (.bexp)
GET /api/v1/leaderboard — таблица лидеров (публичный)
GET /api/v1/volunteer/:id/stats — статистика волонтёра (публичный)
2.5. Инструментарий плагинов (BioNeuronSDK)
- plugin-devkit.h — самодостаточный заголовок (POD-типы, константы, API, макросы, хелперы)
- biocore-gen-dispatch.py — Python-генератор GPU/SYCL
dispatch-кода из
.descдескрипторов - biocore-plugin.cmake — CMake-модуль для сборки
.soплагинов (GCC) и генерации dispatch - Пользовательские типы: ID 121–127 (встроенные: 0–120)
- Двойной диспетчер: CPU через function pointer’ы из
.so, GPU через скомпилированный switch
2.6. Платформа тестирования (StudioTestBench)
350+ тестов: модульные (Core 32/32), интеграционные (Orch 16/16, SDK 6/6), компонентные (Studio 214), E2E, регрессионные, smoke, performance, security (fuzzing), chaos, visual regression. 70 тестов JSON-парсера + логирования. 7 тестов многопоточной изоляции демона (daemon multi-session validation). Valgrind-валидация (0 ошибок). MockDatabase для тестирования оркестратора без MySQL. Полный прогон: ~30 минут.
3. Биофизическая модель
3.1. Сегментно-компартментная архитектура
Каждый нейрон представлен цепочкой независимых электрических
компартментов (сегментов), соединённых внутриклеточными связями
(IntraConnection). Сегмент размером 988 байт содержит:
- Геометрия: позиция (x, y, z), длина, радиус → площадь мембраны → ёмкость (C_m = 0.01 пФ/мкм²)
- Электрические: V_m (мВ), I_buffer
- Ионные концентрации: 5 внутриклеточных + 5 внеклеточных (Na⁺, K⁺, Ca²⁺, Cl⁻, Mg²⁺)
- Нейромедиаторы: 14 типов во внеклеточном пространстве (cleft)
- Модификаторы: до 16 трансмембранных белков на сегмент
- Метаболизм: АТФ, температура
- Пластичность:
transcription_signal(CREB-зависимый)
3.2. Гибрид HH+GHK: кинетика ворот — Ходжкин-Хаксли, ток — Гольдман-Ходжкин-Катц
В платформе MindCopy используется гибридный подход, разделяющий кинетику воротного механизма и уравнение ионного тока:
Кинетика ворот (Ходжкин-Хаксли, HH): активационные (m) и инактивационные (h) переменные описываются дифференциальными уравнениями первого порядка: \[\frac{dm}{dt} = \alpha_m(V) \cdot (1 - m) - \beta_m(V) \cdot m, \quad \frac{dh}{dt} = \alpha_h(V) \cdot (1 - h) - \beta_h(V) \cdot h\] где α(V) и β(V) — потенциал-зависимые скорости перехода между состояниями. HH-кинетика реализована в 59 встроенных плагинах (
hh_biological.cpp).Уравнение тока (Гольдман-Ходжкин-Катц, GHK): вместо классического линейного приближения I = g·(V − E_rev) используется электро-диффузионное уравнение GHK: \[I_{ion} = P_{ion} \cdot m^p \cdot h^q \cdot z^2 \cdot \frac{VF^2}{RT} \cdot \frac{[ion]_i - [ion]_o \cdot e^{-zVF/RT}}{1 - e^{-zVF/RT}}\] где P_ion — максимальная проницаемость, z — валентность, F — постоянная Фарадея, R — газовая постоянная, T — температура.
Принципиальное отличие от классического HH: в стандартной модели Ходжкина-Хаксли реверсивный потенциал E_rev задаётся константой (например, E_Na = +50 мВ), и ток вычисляется как I = g_max · m³h · (V − E_rev). Это приближение справедливо лишь при постоянных ионных концентрациях. В MindCopy E_rev никогда не задаётся константой — он вычисляется динамически из реальных внутри- и внеклеточных концентраций по уравнению Нернста: \[E_{rev} = \frac{RT}{zF} \ln\frac{[ion]_o}{[ion]_i}\]
Таким образом, HH отвечает за «когда открывается», GHK — за «сколько проходит». Это особенно критично для Ca²⁺ и Mg²⁺, чьи концентрации меняются на порядки в ходе симуляции.
Преимущества гибридного подхода: - Автоматический реверсивный потенциал: E_rev пересчитывается каждый тик из текущих концентраций - Прямое движение ионов: Ca²⁺, Mg²⁺ входят/выходят пропорционально GHK-току, меняя внутриклеточные концентрации - Вторичные эффекты: накопление K⁺ в щели или истощение Ca²⁺ из ER меняет движущую силу последующих токов - Термодинамическая согласованность: GHK-уравнение выводится из уравнения Нернста-Планка, а не постулируется
Все 121 тип модификаторов мигрированы на GHK (v0.15.0). Хардкодных E_rev в системе нет.
3.3. Диффузия (закон Фика)
Межсегментная диффузия для ионов, нейромедиаторов и метаболитов:
\[J = -D \cdot \frac{A}{L} \cdot \Delta C\]
где D — коэффициент диффузии (Стокс-Эйнштейн: D = kT/(6πηr)), A/L — геометрический фактор сегмента, ΔC — градиент концентрации.
3.4. Синаптическая передача
- Химические синапсы: пресинаптический спайк → выброс нейромедиатора в щель (cleft_nt[NT]) → активация постсинаптических рецепторов → постсинаптический ток → клиренс (tau_clearance)
- Электрические синапсы (gap junctions): V_j-гейт (Больцман) + Ca²⁺/CaM-гейт (Hill), connexin-36 (MOD_CONNEXIN_CX36)
- Пресинаптические модуляторы: 12 типов, GPCR-каскады, модуляция вероятности выброса
- Вероятностный выброс: xorshift32, seed = synapse_id ⊕ tick ⊕ (V_m · 1000)
3.5. Молекулярная пластичность
- STDP (Spike-Timing-Dependent Plasticity): CaMKII (LTP) / Calcineurin (LTD) — кальциевый детектор совпадений
- BCM-правило: скользящий порог θ_m (Ca²⁺-зависимый)
- PP1/DARPP-32: дофамин-зависимая модуляция пластичности (D1→PKA→inhibit PP1→LTP↑)
- Консолидация: MAPK/ERK, IKK/NF-kB, mTORC1, синтез белка, Cofilin (актиновое ремоделирование), MMP-9 (ECM-деградация) — 6 событий
- Генная экспрессия: 36 генов, транскрипционные факторы → каналы, BION v6
3.6. Гомеостаз
- PMCA: Ca²⁺-АТФаза плазмалеммы
- NCX: Na⁺/Ca²⁺ обменник (3:1 стехиометрия)
- KCC2: K⁺-Cl⁻ котранспортёр (стадийно-зависимый)
- Na/K-АТФаза: 3Na⁺/2K⁺, поддержание градиентов
- Ca²⁺-буфер: парвальбумин-подобный (быстрый/медленный пулы)
4. Каталог модификаторов (121 тип)
Группа 1: Базовые (0–7)
Ионотропные каналы (Na/K, Ca, Cl), метаботропный GPCR, миелин, синаптический выброс, физический сенсор, Na/K-насос.
Группа 2: Ионотропные рецепторы (8–16)
AMPA, NMDA, каинатный, GABA-A, глициновый, никотиновый, 5-HT3, P2X, TRPV1.
Группа 3: Метаботропные Gi/o (17–40) — 24 типа
GABA-B, 5-HT1(A/B/D/F), D2/D3/D4, M2/M4, A1/A3, mGluR(2/3/4/6/7/8), α2, CB1/CB2, H3, MT1/MT2. Ингибиторные: ↓cAMP, ↑K⁺-проводимость (GIRK), ↓Ca²⁺-токи.
Группа 4: Метаботропные Gs (41–51) — 11 типов
5-HT(4/6/7), D1/D5, A2A/A2B, β1/β2, H2, TAAR1. Возбуждающие: ↑cAMP → PKA → ↑Ca²⁺/Na⁺-токи.
Группа 5: Метаботропные Gq/11 (52–62) — 11 типов
5-HT2(A/B/C), α1A/α1B, M1/M3/M5, mGluR1/mGluR5, H1. Возбуждающие: ↑IP3/DAG → ↑Ca²⁺ (из ER) + ↑PKC.
Группа 6: Neuroblox-совместимые (63–79) — 17 типов
Расширенные биофизические модели: MoradiFullNMDAR, AMPA-STA, D1/D2-модуляторы MSN, α7-nAChR (Markov), TRPM4 (I_CAN), мускариновый (I_NCM), Destexhe-осцилляторы (AMPA/NMDA/GABA-A/GABA-B), MsnNMDAR/AMPAR, митохондриальный АТФ, термальный, CREB-транскрипция.
Группа 7: Генерические (80–81) — 2 типа
Параметрические: state[] задаёт V₁/₂, k, τ, g
(вольтаж-зависимые) или EC₅₀, g, τ (лиганд-зависимые). Импорт из
NeuroML.
Группа 8: Молекулярная STDP (82–86) — 5 типов
CaMKII, Calcineurin, Cav1.x L-type, Kv4.2 A-type K⁺, eCB-синтез (2-AG).
Группа 9: Консолидация (87–92) — 6 типов
MAPK/ERK, IKK/NF-kB, mTORC1, синтез белка, Cofilin, MMP-9.
Группа 10: Сенсоры и CPG (93–95) — 3 типа
Постингибиторный отскок (PIR), сенсор голода (АТФ), фоторецептор (pineal).
Группа 11: PIR-подтипы (96–97) — 2 типа
Cav3.x T-type Ca²⁺, HCN Ih.
Группа 12: Гомеостаз (98–102) — 5 типов
PMCA, NCX, KCC2, Ca²⁺-утечка, Ca²⁺-буфер.
Группа 13: Каналы ритмогенеза и специализированные (103–120) — 18 типов
SK, BK, NaP, Kir, K2P, обонятельный рецептор, Kir4.1 глиальный, глиальная Na/K-АТФаза, термальный шум (Johnson-Nyquist), Kv7 M-ток, PP1/DARPP-32, Connexin-36, вибрационный сенсор, отолитовая волосковая клетка, полукружный канал, ампулярный электрорецептор, магнетитовый механорецептор, криптохромный магнитный сенсор.
5. Нейромедиаторы (14 типов)
| ID | Название | Тип |
|---|---|---|
| 0 | Глутамат | Возбуждающий |
| 1 | ГАМК (GABA) | Тормозный |
| 2 | Дофамин | Нейромодулятор |
| 3 | Серотонин (5-HT) | Нейромодулятор |
| 4 | Ацетилхолин | Возбуждающий/модулятор |
| 5 | Аденозин | Нейромодулятор |
| 6 | Норадреналин | Нейромодулятор |
| 7 | Глицин | Тормозный |
| 8 | Гистамин | Нейромодулятор |
| 9 | Эндоканнабиноид | Ретроградный |
| 10 | АТФ | Нейромодулятор |
| 11 | Мелатонин | Нейромодулятор |
| 12 | Mg²⁺ | Блокатор NMDA |
| 13 | Никотин | Агонист nAChR |
6. Ионы (5 типов)
Na⁺, K⁺, Ca²⁺, Cl⁻, Mg²⁺. Каждый сегмент отслеживает внутри- и внеклеточные концентрации. Диффузия между сегментами. Ионные токи через GHK автоматически обновляют концентрации.
7. Библиотека нейронов (224 типа)
7.1. Головастик Xenopus laevis (24 типа)
Сенсорные (8): RB (Rohon-Beard, тактильный), PINEAL (фоторецептор), LL (lateral line, поток), ORN (обонятельный), AUDITORY_SENSOR (вибрация), OTOLITH (гравитация), SEMICIRCULAR (угловое ускорение), ELECTRORECEPTOR (E-поле).
Интернейроны (7): dIN (нисходящий, CPG-водитель ритма), cIN (комиссуральный, перекрёстное торможение), aIN (восходящий, GABA-ергический), dlc_MHR (ствол мозга, локомоторный драйв), TECTUM (зрительная интеграция), DS_IN (direction-selective lateral inhibition), SER (орексинергический поисковый).
Моторные (1): mn (мотонейрон).
Командные (1): AVOID (ретикулоспинальный escape, Mauthner-подобный).
Модуляторные (1): HYPOTHALAMIC (интероцептивный, голод).
Глия (2): GLIA_RADIAL (радиальная, K⁺-буфер), Ependymal cell (эпендимоцит).
Дополнительные (4): Kolmer-Agduhr cell (CSF-c), Skin touch receptor, Muscle spindle afferent, MAGNETORECEPTOR.
7.2. Человек (200 типов по категориям)
| Категория | Количество | Ключевые представители |
|---|---|---|
| Кора головного мозга | 14 | Пирамидные (L2/3, L5, L6), интернейроны (PV, SST, VIP), звёздчатые, веретенообразные |
| Мозжечок | 12 | Пуркинье, гранулярные, Golgi, корзинчатые, звёздчатые, ядра мозжечка |
| Гиппокамп/Энторинальная кора/Субикулюм | 9 | Пирамидные CA1/CA3, гранулярные DG, интернейроны, субикулярные |
| Таламус | 8 | Релейные (LGN, MGN, VPL/VPM), ретикулярные, интраламинарные |
| Базальные ганглии | 7 | MSN D1/D2 (средние шипиковые), холинергические, PV-интернейроны |
| Ствол мозга | 17 | Моноаминергические (D RN, 5-HT RN, LC NE), ретикулярная формация, ядра шва, PAG |
| Черепные нервы | 11 | III (глазодвигательный), V (тройничный), VII (лицевой), VIII (вестибулокохлеарный), X (блуждающий) |
| Спинной мозг | 14 | α-мотонейроны, γ-мотонейроны, интернейроны (Ia, Ib, II), Renshaw |
| Сетчатка | 15 | Фоторецепторы (палочки, колбочки L/M/S), биполярные (ON/OFF), ганглиозные (midget, parasol, ipRGC), горизонтальные, амакриновые |
| Обонятельная луковица | 4 | Митральные, гранулярные, перигломерулярные |
| Гипоталамус | 14 | Орексиновые, MCH, вазопрессиновые, окситоциновые, GnRH, TRH, CRH, соматостатиновые, дофаминовые TIDA |
| Миндалина | 3 | Пирамидные BLA, центральные CeA |
| Лимбическая система | 4 | Прилежащее ядро (NAc MSN), септальные, поясная кора |
| Глия | 11 | Астроциты, олигодендроциты, микроглия, NG2⁺ предшественники, эпендимоциты, радиальная глия, Müller-глия, Бергман-глия |
| Автономная/Энтеральная | 8 | Симпатические/парасимпатические пре-/постганглионарные, энтеральные (плексус Ауэрбаха/Мейсснера) |
| Аудиторная/Вестибулярная | 10 | Волосковые клетки (улитка, саккулюс, утрикулюс), спиральный ганглий, Scarpa-ганглий |
| Сенсорная | 8 | Ноцицепторы, терморецепторы, механорецепторы (Меркель, Мейсснер, Руффини, Пачини), проприоцепторы |
| Метаболическая/Эндокринная | 9 | β-клетки поджелудочной, α-клетки, мелатониновые (пинеалоциты), тироциты, адренокортикоциты |
| Гипофиз | 5 | Гонадотрофы, лактотрофы, соматотрофы, кортикотрофы, тиротрофы |
| Сосудистая | 2 | Эндотелиальные, гладкомышечные |
| Нейромодуляторные | 5+ | Дофаминовые (SNc, VTA), серотониновые (Raphe), норадреналиновые (LC), ацетилхолиновые (BF), гистаминовые (TMN) |
| Стриатум | 5 | MSN D1 прямой путь, MSN D2 непрямой путь, FSI, ChAT, Pvalb |
| Промежуточный мозг | 3 | Эпиталамус (habenula), субталамус |
8. Коннектом головастика: эмбриогенез in silico
Реализованы 7 правил Робертс (Roberts et al., 2014) для генерации коннектома головастика Xenopus laevis (4 стадии: EARLY_TAILBUD → LATE_TAILBUD → HATCHING → FREE_SWIMMING):
- Дифференцировка нейронов: сома в заданной дорсовентральной/ростральной позиции
- Рост аксонов: направленный рост с барьерами среды
- Ветвление аксонов: вероятностное, зависит от типа нейрона
- Формирование синапсов: спонтанные + вероятностная матрица 10×10
- CPG-контур: гарантированные перекрёстные тормозные связи (cIN↔︎dIN глицин + GABA-B), асимметричный kickstart
- Глия: радиальная глия, синцитий, K⁺-пространственная буферизация (Kir4.1)
- STDP/консолидация: назначение пластичности, подкрепление функциональных связей
Параметры сети на стадии FREE_SWIMMING: ~238 нейронов, ~5000 сегментов, ~28000 связей, ~7400 синапсов.
9. Поведенческие таксисы
9.1. Хемотаксис
SER-нейрон (орексинергический) + ORN → клинотаксис (swim_phase → nostril_offset ±40%). Градиент концентрации → асимметрия CPG → поворот к источнику.
9.2. Фототаксис
TECTUM → AVOID (GABA, w=3.0, торможение избегания). Тень → TECTUM падает → AVOID растормаживается → C-поворот. AVOID → contra-dIN (AMPA, w=2.0) + AVOID → ipsi-cIN (AMPA, w=1.5).
9.3. Аудиотаксис
AUDITORY_SENSOR=15, MOD_VIBRATION_SENSOR=115. Вибрация/звук → механотрансдукция → CPG-асимметрия.
9.4. Вестибулярный аппарат
OTOLITH=16 (гравитация + линейное ускорение), SEMICIRCULAR=17 (угловое ускорение). MET-каналы → Ca²⁺-адаптация.
9.5. Электрорецепция
MOD_ELECTRORECEPTOR_AMPULLARY=118: ампулы Лоренцини, гель-канал, low-pass фильтр, E-поле.
9.6. Магниторецепция
MOD_MAGNETITE_MECHANORECEPTOR=119 (Fe₃O₄-цепи → torque → MET) + MOD_CRYPTOCHROME_MAGNETIC=120 (Cry4, радикальные пары, свето-зависимый).
10. Образовательные эксперименты
В состав платформы входит пакет из 16 образовательных экспериментов в
формате .bexp, распределённых по трём уровням:
Бакалавриат (4): action_potential (потенциал действия — HH Na⁺/K⁺ каналы, порог, рефрактерность), passive_cable (пассивный кабель — λ и τ, затухание сигнала), synaptic_integration (синаптическая интеграция — EPSP/IPSP, временная и пространственная суммация), lateral_inhibition (латеральное торможение — GABA-A, контрастное усиление).
Магистратура (8): motion_detection (детекция движения — задержанное торможение), direction_selective (направленная селективность — Barlow-Levick DS), cpg_rhythm (CPG-ритм — половинный центр, GABA-B/Glycine), working_memory (рабочая память — обоюдное торможение), receptive_field (рецептивное поле — центр-периферия), stdp_ltp (STDP долговременная потенциация — CaMKII), stdp_ltd (STDP долговременная депрессия — Calcineurin), stdp_learning (STDP обучение — зашумлённый вход, синаптическая конкуренция).
Аспирантура (4): epileptiform (эпилептиформная активность — ↑[K⁺]ₒ + GABA-A блок), pharmacology (фармакология — блокаторы и агонисты каналов), homeostatic_plasticity (гомеостатическая пластичность — PMCA/NCX/KCC2, скользящий порог BCM), bifurcations (бифуркации — раздвоение нейрональной динамики при вариации g_Na).
Каждый эксперимент сопровождается README на трёх языках (русский,
английский, китайский) с теоретическим введением, описанием
биофизических механизмов и пошаговым протоколом. Все эксперименты
выполняются без суррогатов — через полный биофизический
тик core_run_tick_impl (HH-кинетика ворот + GHK-токи +
диффузия + пластичность).
11. Глоссарий
BION (Binary Neuronal Object Notation) — бинарный
формат хранения нейронной сети. Компактное представление с
#pragma pack(1). Версия 6.
CPG (Central Pattern Generator) — центральный генератор ритма. Нейронная цепь, производящая ритмический моторный паттерн (плавание) без сенсорной обратной связи.
GHK (Goldman-Hodgkin-Katz) — формализм расчёта ионных токов через мембрану. Учитывает реальные концентрации ионов, валентность, температуру. Заменяет упрощённое I = g·(V − E_rev).
HH (Hodgkin-Huxley) — кинетическая модель потенциал-зависимых ворот ионных каналов. Gate-переменные m (активация), h (инактивация) описываются дифференциальными уравнениями первого порядка. В MindCopy HH-кинетика определяет «когда канал открыт» (m^p · h^q), тогда как сам ионный ток вычисляется по GHK-уравнению, а не по классическому I = g·(V − E_rev). Гибрид HH+GHK: кинетика от HH, проводимость от GHK.
Модификатор (Modifier) — трансмембранный белок, добавляемый на сегмент. Может быть ионным каналом, рецептором, насосом, обменником, сенсором или компонентом сигнального каскада. Задаётся типом (0–120) и плотностью (density ∈ [0,1]). Размер структуры: 44 байта.
Нейромедиатор (Neurotransmitter) — химическое вещество в синаптической щели, активирующее постсинаптические рецепторы. 14 типов: глутамат, GABA, дофамин, серотонин, ацетилхолин, аденозин, норадреналин, глицин, гистамин, эндоканнабиноид, АТФ, мелатонин, Mg²⁺, никотин.
Сегмент (Segment) — электрический компартмент нейрона. Цилиндр с длиной и радиусом. Может быть сомой, дендритом, аксоном, пресинаптической специализацией (бутон) или постсинаптической (шипик). Основная единица симуляции. 988 байт.
Синапс (Synapse) — контакт между сегментами (химический, электрический). Химические синапсы проходят через PRE/POSTSYNAPSE-специализации (бутон → шипик). 824 байта.
STDP (Spike-Timing-Dependent Plasticity) — зависимая от временного порядка спайков пластичность. Пре-перед-пост → LTP (CaMKII); пост-перед-пре → LTD (Calcineurin).
PIR (Post-Inhibitory Rebound) — постингибиторный отскок. После сильной гиперполяризации T-type Ca²⁺-каналы (Cav3.x) де-инактивируются и открываются, производя деполяризующий «отскок».
IntraConnection — внутриклеточное соединение между двумя сегментами одного нейрона. Передаёт аксиальные токи.
SYCL — кроссплатформенный стандарт параллельного программирования (Khronos Group). В MindCopy используется реализация Intel oneAPI DPC++ для GPU-ускорения.
USM (Unified Shared Memory) — единая память CPU/GPU в SYCL. Указатели доступны с обоих устройств без явного копирования.
.bexp — бинарный формат записи экспериментов. JSON-заголовок (метаданные, конфигурация пробов) + бинарные кадры (посегментные V_m, ионы, NT).
.desc — JSON-дескриптор плагина. Содержит id, name, category, description, release (флаг пресинаптического модулятора).
POD (Plain Old Data) — структура данных без виртуальных функций, указателей и динамической памяти. Совместима с SYCL/USM и FPGA HLS.
12. Технические характеристики
| Параметр | Значение |
|---|---|
| Язык ядра | C++17 + SYCL 2020 |
| Язык студии | C++17 |
| Графика | OpenGL 3.3 Core, Dear ImGui (docking), ImGuizmo, ImPlot |
| Сборка | CMake, GCC (CPU), Intel DPC++ (GPU) |
| Платформа | Linux x86-64 |
| GPU | Intel GPU (Intel oneAPI), поддержка NVIDIA/AMD через SYCL |
| FPGA | Совместимость с Vitis HLS (POD, без new/malloc, минимальное ветвление) |
| Локализация | Русский, English, 中文 (i18n JSON) |
| Комментарии | Русский язык, идентификаторы — английский |
| Формат сети | BION v6 (бинарный, #pragma pack(1)) |
| Формат эксперимента | .bexp (JSON + бинарные кадры) |
| NeuroML | v2 импорт/экспорт |
| SWC | Импорт/экспорт (ASCII, 7 колонок) |
| Видео | AVI (несжатый / MJPEG), асинхронная генерация |
| Обновления | HTTPS API + AES-256-GCM + локальный .deb/.rpm/.AppImage/.so |
| Тестирование | 350+ тестов (Core 32, Orch 16, SDK 6, Studio 214, остальные — TestBench), Valgrind 0, fuzzing, CI |
| Batch mode | Core daemon –batch: headless-симуляция без GUI, –params-json, –seed, –bexp-output |
| Чекпоинты | Автосохранение каждые N тиков, –resume-from, graceful shutdown (SIGTERM) |
| Эксперименты | 16 образовательных .bexp (Bachelor/Master/Doctoral), README на RU+EN+ZH |
| Распределённые вычисления | 6 этапов: sweep, memory, validation, evolution, ontogenesis, dashboard |
| Лицензирование | ECDSA-P256 оффлайн-ключ + онлайн-проверка (AES-256-GCM) |
13. Заключение
Платформа MindCopy предоставляет полный инструментарий для вычислительной нейронауки — от молекулярных механизмов (HH-кинетика ворот, GHK-токи, STDP, генная экспрессия) до поведенческих реакций (таксисы) в единой интегрированной среде. Модульная архитектура (Core ↔︎ Studio ↔︎ SDK ↔︎ Orchestrator) позволяет независимо развивать вычислительное ядро, графический интерфейс, экосистему плагинов и инфраструктуру распределённых вычислений.
Распределённая архитектура из 6 этапов (parameter sweep, проверка памяти, дублирование с валидацией, эволюционная оптимизация, онтогенез с чекпоинтами, волонтёрский дашборд) позволяет масштабировать симуляцию на множество вычислительных узлов — от домашних ПК волонтёров до серверных кластеров. Пакет из 16 образовательных экспериментов с трёхъязычной документацией (RU+EN+ZH) обеспечивает плавный вход в платформу — от базовых концепций нейронауки до продвинутых исследовательских протоколов.
224 типа нейронов, 121 модификатор, 14 нейромедиаторов, 36 генов и 5 ионов обеспечивают детальное биофизическое моделирование, валидированное Valgrind-анализом (0 ошибок памяти) и 350+ автоматизированными тестами. Все вычисления происходят через полный биофизический тик: HH-кинетика определяет «когда канал открыт», GHK-уравнение — «сколько ионов проходит», без суррогатов и упрощённых моделей проводимости.
Система спроектирована с прицелом на будущее расширение: GPU/SYCL — для высокопроизводительных вычислений, POD-структуры — для FPGA HLS, SDK — для сообщества разработчиков плагинов, BION v6 — для долгосрочной бинарной совместимости, формат .bexp — для воспроизводимых экспериментов.
2026 Краснодар, Россия / Krasnodar, Russia