MindCopy — a software platform for biologically realistic neural network simulation
Date: June 23, 2026 Author: Feshin V. A.
Abstract
MindCopy is an integrated software platform for building, visualizing, and simulating biologically realistic neural networks with compartmental (segmental) morphology. The platform includes the computational core (BioNeuronCore), a visual modeling environment (BioNeuronStudio), a plugin development toolkit (BioNeuronSDK), and an automated testing platform (StudioTestBench). It supports CPU and GPU execution (Intel SYCL/oneAPI DPC++), the BION v6 binary format, 121 types of transmembrane modifiers, a library of 224 neuron types (24 tadpole Xenopus laevis + 200 human), 14 neurotransmitters, 5 ions, and 36 nuclear regulation genes. All ionic currents are computed using the Goldman-Hodgkin-Katz (GHK) formalism. The system provides a complete cycle: from embryonic connectome development to behavioral responses (chemotaxis, phototaxis, audiotaxis, vestibular reflexes, electro-/magnetoreception).
Keywords: computational neuroscience, compartmental modeling, GHK formalism, GPU simulation, SYCL, neural network, connectome, tadpole, CPG, neuromodulation, STDP, BION format.
1. Introduction
Modern computational neuroscience requires tools capable of simulating networks of thousands of neurons with detailed biophysics of each segment, while preserving interactive visualization and experimental protocoling. The MindCopy platform was created to fill this gap — it combines a high-performance simulation core, a scientific GUI, and a plugin ecosystem into a unified environment.
1.1. Motivation
Most existing simulators (NEURON, NEST, Brian) are oriented either toward detailed modeling of single neurons or toward large-scale networks with simplified dynamics. MindCopy occupies an intermediate niche: a full biophysical segmental model with 121 types of ion channels/receptors/pumps on networks of up to 10⁴ neurons and 10⁵ segments with interactive 3D visualization.
1.2. Platform Components
| Component | Version | Purpose |
|---|---|---|
| BioNeuronCore | v0.19.3 | Computational core: C++17 + SYCL 2020, GHK currents, diffusion, plasticity, IPC daemon, batch mode |
| BioNeuronStudio | v0.38.4 | GUI: OpenGL 3.3 + Dear ImGui, 3D viewport, graphs, experiment recording, IPC client |
| BioNeuronSDK | v0.6.0 | Plugin toolkit: plugin-devkit.h, dispatch generator, CMake modules |
| BioNeuronOrchestrator | v0.4.0 | Distributed computing: REST API, parameter sweep, evolution, screening, ontogenesis, volunteer dashboard |
| StudioTestBench | v0.3.1 | Automated testing: 350+ tests, fuzzing, valgrind |
| examples | — | 16 educational experiments (.bexp) with trilingual READMEs (RU+EN+ZH) |
2. System Architecture
2.1. Architecture Schematic
BioNeuronStudio (GUI, OpenGL 3.3, Dear ImGui)
│ simulation_core_api.h — opaque C API (void*) or IPC transport
▼
BioNeuronCore (libbiocore_gcc.a / libbiocore_gpu_backend.so / biocore-daemon --batch)
│ plugin-devkit.h — loading .so plugins via dlopen
▼
BioNeuronSDK (generators, templates, CMake modules)
BioNeuronOrchestrator (REST API, parameter sweep, evolution, screening, ontogenesis, leaderboard)
│ distributed computing management (6 stages)
▼
BioNeuronAgent (client agent on compute nodes)
Key architectural principle — complete isolation of
types between Studio and Core. Studio never includes Core headers
directly; all interaction is through
simulation_core_api.h, which exposes only
opaque pointers (void*) and accessor functions. This
prevents binary coupling and enables independent evolution of both
projects.
2.2. Computational Core (BioNeuronCore)
Language: C++17 + SYCL 2020 (Intel oneAPI DPC++)
Build: GCC (CPU, libbiocore_gcc.a) and Intel DPC++ (GPU,
libbiocore_gpu_backend.so) Data model: POD (Plain
Old Data), #pragma pack(1), fixed arrays —
GPU/USM compatibility
Simulation Cycle (5 Steps per Tick)
Each call to run_tick(dt) executes five
sequential steps with explicit q.wait() barriers:
- Modifier currents →
I_bufferper-segment (CPU or GPU dispatch) - Axial currents through
IntraConnection→ atomic accumulation inI_buffer2.5. Intersegmental diffusion: ions, neurotransmitters, ATP, temperature, transcription signal — Fick's law, O(N_conn), CPU - Synaptic currents: spike → release → modulation → post-response → clearance
- Membrane potential update: V_m += I_buffer / C_m · dt, reset I_buffer
Dual CPU/GPU Dispatcher
- CPU: function pointer table
modifier_current_table[128], loaded from.soplugins viadlopen. Does not require Core recompilation when adding modifiers. - GPU:
switch-statement over 121 cases (SYCL does not support function pointers). Requires recompilation. - Fallback chain: CPU path → plugin table → biological fallback (compiled switch).
BION v6 Format
Binary neural network format. Packed structures with
#pragma pack(1):
| Structure | Size | Purpose |
|---|---|---|
NetworkHeader |
84 bytes | Version, element counts, v5+: num_nuclei |
Segment |
988 bytes | Geometry, V_m, 5+5 ions, 14 NTs, 16 modifiers, ATP |
Modifier |
44 bytes | Type, density, state[8], flags |
Synapse |
824 bytes | pre/post ID, receptors, cleft_nt[14], weight, delay |
Nucleus |
332 bytes | 36 genes (gene_activity + protein_level), v5→v6 migration |
IntraConnection |
12 bytes | Segment-to-segment |
Neuron |
24 bytes | Identifier, flags |
ConsolidationEvent |
36 bytes | Consolidation data |
Backward compatibility: v3→v4→v5→v6 with on-the-fly migration at load time.
2.3. Graphical Studio (BioNeuronStudio)
Frameworks: OpenGL 3.3 Core, Dear ImGui (docking), ImGuizmo, ImPlot Language: C++17 Localization: Russian, English, Chinese (i18n JSON)
Main Panels and Windows
| Component | Functionality |
|---|---|
| 3D viewport | Orbital camera, capped cylinders + end discs, frustum-joints (smoothing transitions between segments of different radii), ray-cast selection, ImGuizmo (translate/rotate), spike highlighting |
| Assembly panel | Segment creation (soma, dendrite, axon, bouton, spine), network templates, CPG template |
| Properties panel | V_m, geometry, modifiers, synaptic receptors, connected segments |
| Network hierarchy | Tree: Network → Neurons → Segments → Modifiers + Synapses, context menus, drag-and-drop |
| Plots (ImPlot) | V_m, ions, spike raster, ionic/synaptic currents, ring buffer 10000 points, CSV export |
| Specimens panel | Tadpole generation (7 Roberts 2014 rules), ontogenesis, sensory layer, 3D body |
| Converter | SWC→BION, morphology metrics, segment length configuration |
| Cell library | 224 neuron types with preset biophysical profiles |
| Stimulation | I_clamp, voltage clamp, ramp, ionic/ligand injections |
| Probes | Cannulae and electrodes: recording/stimulation/injection, 3D visualization |
| Experiments | Recording/playback in .bexp (JSON header +
binary frames), browser, player |
| NeuroML | NeuroML v2 import/export: cell/morphology, biophysicalProperties, projection |
| Histology | 3 modes (actual/minimalistic/biological 1:1), N/C ratio from morphology, nucleoli, Nissl substance, 4 stains |
| Video recording | AVI: uncompressed / MJPEG, asynchronous frame generation |
| Updates | Online check via API (AES-256-GCM) + local source (.deb/.rpm/.AppImage/.so) |
Simulation Bridge (SimulationBridge)
- Three modes: CPU (static link), GPU (dlopen), IPC (Unix socket/TCP to daemon)
- Thread safety: mutex, snapshot copying
into
NetworkSnapshotfor GUI - Checkpoints: save/load simulation state
- USM pointers: GPU Unified Shared Memory accessible from CPU without changes
- Multi-session: session isolation via
SessionContext, independent simulations on GPU
2.4. Distributed Computing Orchestrator (BioNeuronOrchestrator)
HTTP server (libmicrohttpd) + client agent (libcurl). Provides distributed task execution across multiple compute nodes. Implemented as 6 sequential stages, each with full test coverage.
Orchestrator Architecture
- Orchestrator Server (C++17, libmicrohttpd): REST API, priority task queue, persistence via MySQL/MariaDB (IDatabase+MockDatabase for testing without a DB)
- BioNeuron Agent: lightweight client on compute
nodes, receives tasks, launches Core daemon in batch mode
(
--batch --load-bion --ticks --params-json --seed), reports results - Cryptography: AES-256-GCM encryption, ECDSA-P256 signature, PBKDF2 key derivation (OpenSSL)
- Validation: JSON parser with range checks, hex validation (SHA-256), URL and path verification
- Logging: rotation by size (10 MB) and
file count (5), macros OLOG_INFO/WARN/ERROR, format
[timestamp] [LEVEL] message - Dashboard: dynamic node and task tables from DB, status badges, auto-refresh
Stage 1: Parameter Sweep (batch mode)
Parametric sweep: one BION network × N parameter combinations.
The orchestrator generates sub_jobs by enumerating values (linear and
logarithmic scale), agents receive .bion + params_json → Core
daemon in batch mode → .bexp + metrics. Core daemon supports
--batch, --params-json, --seed,
--bexp-output. IPC message
MSG_RUN_TASK_PARAMS (0x090A).
Stage 2: Memory Check + Tiered Execution
Before assigning a task, the node's capabilities
(RAM, GPU memory, CPU cores) are verified against the task requirements. The agent reads
/proc/meminfo → registers NodeCapabilities. Core
supports mmap allocation (MAP_PRIVATE | MAP_ANONYMOUS) with
madvise hints and HOT/WARM/COLD segment classification (shadow
validation: tiered execution disabled by default, all computations —
full biophysical tick).
Stage 3: Duplication + Validation
Each sub_job is assigned to 2 independent agents. Results are compared by metrics (mean V_m across populations, spike count, synchrony index) with a 0.1% tolerance. On divergence, a third agent is assigned — majority vote. Statuses: TASK_PARTIALLY_VALIDATED → TASK_FULLY_VALIDATED / TASK_DIVERGENT.
Stage 4: Evolutionary Optimization + Virtual Screening
Genetic algorithm (tournament selection, single-point crossover, Gaussian mutation, elite 10%, tournament size 3, early-stop convergence) over the network parameter space. Virtual screening of compound libraries — each molecule → sub_job → ranking by efficacy score.
Stage 5: Ontogenesis + Connectome Exploration
Long tasks with checkpoints. Core:
MSG_CHECKPOINT_AND_CONTINUE (0x0804), graceful shutdown
(SIGTERM → checkpoint → exit(75)). Ontogenesis: 4-stage chain
(EARLY_TAILBUD → … → FREE_SWIMMING). Connectome: LHS sampling (Latin
Hypercube Sampling) of the synaptic matrix.
Stage 6: Volunteer Dashboard
Public leaderboard (GET /api/v1/leaderboard?limit=100), personal volunteer statistics, points system (base_points = ticks/1000 × capability_multiplier), badges: "First Contribution", "10 Tasks", "100K Ticks", "1M Ticks", "Validated", "Ontogeny Pioneer", "Evolution Master", "7-Day Streak". Trilingual interface (RU+EN+ZH).
API
POST /api/v1/node/register — register node with capabilities
POST /api/v1/task/claim — request sub_job
POST /api/v1/task/result — submit result with metrics
POST /api/v1/task/heartbeat — heartbeat with CPU/GPU/memory metrics
GET /api/v1/task/status/:id — task status
POST /api/v1/task/create_sweep — create parameter sweep
POST /api/v1/task/create_evolution — create evolutionary run
POST /api/v1/task/create_screening — create virtual screening
POST /api/v1/task/create_experiment — create experiment (.bexp)
GET /api/v1/leaderboard — leaderboard (public)
GET /api/v1/volunteer/:id/stats — volunteer statistics (public)
2.5. Plugin Toolkit (BioNeuronSDK)
- plugin-devkit.h — self-contained header (POD types, constants, API, macros, helpers)
- biocore-gen-dispatch.py — Python generator for GPU/SYCL
dispatch code from
.descdescriptors - biocore-plugin.cmake — CMake module for building
.soplugins (GCC) and dispatch generation - User-defined types: IDs 121–127 (built-in: 0–120)
- Dual dispatcher: CPU via function pointers from
.so, GPU via compiled switch
2.6. Testing Platform (StudioTestBench)
350+ tests: unit (Core 32/32), integration (Orch 16/16, SDK 6/6), component (Studio 214), E2E, regression, smoke, performance, security (fuzzing), chaos, visual regression. 70 JSON parser + logging tests. 7 daemon multi-threaded isolation tests (daemon multi-session validation). Valgrind validation (0 errors). MockDatabase for orchestrator testing without MySQL. Full run: ~30 minutes.
3. Biophysical Model
3.1. Segmental-Compartmental Architecture
Each neuron is represented as a chain of independent electrical
compartments (segments), connected by intracellular links
(IntraConnection). A segment of 988 bytes contains:
- Geometry: position (x, y, z), length, radius → membrane area → capacitance (C_m = 0.01 pF/µm²)
- Electrical: V_m (mV), I_buffer
- Ion concentrations: 5 intracellular + 5 extracellular (Na⁺, K⁺, Ca²⁺, Cl⁻, Mg²⁺)
- Neurotransmitters: 14 types in the extracellular space (cleft)
- Modifiers: up to 16 transmembrane proteins per segment
- Metabolism: ATP, temperature
- Plasticity:
transcription_signal(CREB-dependent)
3.2. Hybrid HH+GHK: gate kinetics — Hodgkin-Huxley, current — Goldman-Hodgkin-Katz
The MindCopy platform employs a hybrid approach, separating the gating mechanism kinetics from the ionic current equation:
Gate kinetics (Hodgkin-Huxley, HH): activation (m) and inactivation (h) variables are described by first-order differential equations: \[\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\] where α(V) and β(V) are voltage-dependent transition rates between states. HH kinetics is implemented in 59 built-in plugins (
hh_biological.cpp).Current equation (Goldman-Hodgkin-Katz, GHK): instead of the classical linear approximation I = g·(V − E_rev), the electro-diffusion GHK equation is used: \[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}}\] where P_ion is the maximum permeability, z is the valence, F is the Faraday constant, R is the gas constant, T is the temperature.
Fundamental difference from classical HH: in the standard Hodgkin-Huxley model, the reversal potential E_rev is set to a constant (e.g., E_Na = +50 mV), and the current is computed as I = g_max · m³h · (V − E_rev). This approximation is valid only at constant ion concentrations. In MindCopy, E_rev is never set to a constant — it is computed dynamically from the actual intra- and extracellular concentrations using the Nernst equation: \[E_{rev} = \frac{RT}{zF} \ln\frac{[ion]_o}{[ion]_i}\]
Thus, HH answers "when it opens", GHK answers "how much passes". This is particularly critical for Ca²⁺ and Mg²⁺, whose concentrations change by orders of magnitude during a simulation.
Advantages of the hybrid approach: - Automatic reversal potential: E_rev is recalculated each tick from current concentrations - Direct ion movement: Ca²⁺, Mg²⁺ enter/exit proportionally to the GHK current, changing intracellular concentrations - Secondary effects: accumulation of K⁺ in the cleft or depletion of Ca²⁺ from the ER changes the driving force of subsequent currents - Thermodynamic consistency: the GHK equation is derived from the Nernst-Planck equation, not postulated
All 121 modifier types have been migrated to GHK (v0.15.0). There are no hardcoded E_rev in the system.
3.3. Diffusion (Fick's Law)
Intersegmental diffusion for ions, neurotransmitters, and metabolites:
\[J = -D \cdot \frac{A}{L} \cdot \Delta C\]
where D is the diffusion coefficient (Stokes-Einstein: D = kT/(6πηr)), A/L is the geometric factor of the segment, ΔC is the concentration gradient.
3.4. Synaptic Transmission
- Chemical synapses: presynaptic spike → neurotransmitter release into the cleft (cleft_nt[NT]) → activation of postsynaptic receptors → postsynaptic current → clearance (tau_clearance)
- Electrical synapses (gap junctions): V_j-gate (Boltzmann) + Ca²⁺/CaM-gate (Hill), connexin-36 (MOD_CONNEXIN_CX36)
- Presynaptic modulators: 12 types, GPCR cascades, modulation of release probability
- Probabilistic release: xorshift32, seed = synapse_id ⊕ tick ⊕ (V_m · 1000)
3.5. Molecular Plasticity
- STDP (Spike-Timing-Dependent Plasticity): CaMKII (LTP) / Calcineurin (LTD) — calcium coincidence detector
- BCM rule: sliding threshold θ_m (Ca²⁺-dependent)
- PP1/DARPP-32: dopamine-dependent modulation of plasticity (D1→PKA→inhibit PP1→LTP↑)
- Consolidation: MAPK/ERK, IKK/NF-kB, mTORC1, protein synthesis, Cofilin (actin remodeling), MMP-9 (ECM degradation) — 6 events
- Gene expression: 36 genes, transcription factors → channels, BION v6
3.6. Homeostasis
- PMCA: Ca²⁺-ATPase of the plasma membrane
- NCX: Na⁺/Ca²⁺ exchanger (3:1 stoichiometry)
- KCC2: K⁺-Cl⁻ cotransporter (stage-dependent)
- Na/K-ATPase: 3Na⁺/2K⁺, gradient maintenance
- Ca²⁺-buffer: parvalbumin-like (fast/slow pools)
4. Modifier Catalog (121 types)
Group 1: Basic (0–7)
Ionotropic channels (Na/K, Ca, Cl), metabotropic GPCR, myelin, synaptic release, physical sensor, Na/K pump.
Group 2: Ionotropic Receptors (8–16)
AMPA, NMDA, kainate, GABA-A, glycine, nicotinic, 5-HT3, P2X, TRPV1.
Group 3: Metabotropic Gi/o (17–40) — 24 types
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. Inhibitory: ↓cAMP, ↑K⁺ conductance (GIRK), ↓Ca²⁺ currents.
Group 4: Metabotropic Gs (41–51) — 11 types
5-HT(4/6/7), D1/D5, A2A/A2B, β1/β2, H2, TAAR1. Excitatory: ↑cAMP → PKA → ↑Ca²⁺/Na⁺ currents.
Group 5: Metabotropic Gq/11 (52–62) — 11 types
5-HT2(A/B/C), α1A/α1B, M1/M3/M5, mGluR1/mGluR5, H1. Excitatory: ↑IP3/DAG → ↑Ca²⁺ (from ER) + ↑PKC.
Group 6: Neuroblox-Compatible (63–79) — 17 types
Extended biophysical models: MoradiFullNMDAR, AMPA-STA, D1/D2 MSN modulators, α7-nAChR (Markov), TRPM4 (I_CAN), muscarinic (I_NCM), Destexhe oscillators (AMPA/NMDA/GABA-A/GABA-B), MsnNMDAR/AMPAR, mitochondrial ATP, thermal, CREB transcription.
Group 7: Generic (80–81) — 2 types
Parametric: state[] specifies V₁/₂, k, τ, g
(voltage-dependent) or EC₅₀, g, τ (ligand-dependent). Import from
NeuroML.
Group 8: Molecular STDP (82–86) — 5 types
CaMKII, Calcineurin, Cav1.x L-type, Kv4.2 A-type K⁺, eCB synthesis (2-AG).
Group 9: Consolidation (87–92) — 6 types
MAPK/ERK, IKK/NF-kB, mTORC1, protein synthesis, Cofilin, MMP-9.
Group 10: Sensors and CPG (93–95) — 3 types
Post-inhibitory rebound (PIR), hunger sensor (ATP), photoreceptor (pineal).
Group 11: PIR Subtypes (96–97) — 2 types
Cav3.x T-type Ca²⁺, HCN Ih.
Group 12: Homeostasis (98–102) — 5 types
PMCA, NCX, KCC2, Ca²⁺ leak, Ca²⁺ buffer.
Group 13: Rhythmogenesis and Specialized Channels (103–120) — 18 types
SK, BK, NaP, Kir, K2P, olfactory receptor, Kir4.1 glial, glial Na/K-ATPase, thermal noise (Johnson-Nyquist), Kv7 M-current, PP1/DARPP-32, Connexin-36, vibration sensor, otolith hair cell, semicircular canal, ampullary electroreceptor, magnetite mechanoreceptor, cryptochrome magnetic sensor.
5. Neurotransmitters (14 types)
| ID | Name | Type |
|---|---|---|
| 0 | Glutamate | Excitatory |
| 1 | GABA | Inhibitory |
| 2 | Dopamine | Neuromodulator |
| 3 | Serotonin (5-HT) | Neuromodulator |
| 4 | Acetylcholine | Excitatory/modulator |
| 5 | Adenosine | Neuromodulator |
| 6 | Noradrenaline | Neuromodulator |
| 7 | Glycine | Inhibitory |
| 8 | Histamine | Neuromodulator |
| 9 | Endocannabinoid | Retrograde |
| 10 | ATP | Neuromodulator |
| 11 | Melatonin | Neuromodulator |
| 12 | Mg²⁺ | NMDA blocker |
| 13 | Nicotine | nAChR agonist |
6. Ions (5 types)
Na⁺, K⁺, Ca²⁺, Cl⁻, Mg²⁺. Each segment tracks intra- and extracellular concentrations. Diffusion between segments. Ionic currents via GHK automatically update concentrations.
7. Neuron Library (224 types)
7.1. Tadpole Xenopus laevis (24 types)
Sensory (8): RB (Rohon-Beard, tactile), PINEAL (photoreceptor), LL (lateral line, flow), ORN (olfactory), AUDITORY_SENSOR (vibration), OTOLITH (gravity), SEMICIRCULAR (angular acceleration), ELECTRORECEPTOR (E-field).
Interneurons (7): dIN (descending, CPG rhythm driver), cIN (commissural, cross-inhibition), aIN (ascending, GABAergic), dlc_MHR (brainstem, locomotor drive), TECTUM (visual integration), DS_IN (direction-selective lateral inhibition), SER (orexinergic, seeking).
Motor (1): mn (motoneuron).
Command (1): AVOID (reticulospinal escape, Mauthner-like).
Modulatory (1): HYPOTHALAMIC (interoceptive, hunger).
Glia (2): GLIA_RADIAL (radial, K⁺ buffer), Ependymal cell.
Additional (4): Kolmer-Agduhr cell (CSF-c), Skin touch receptor, Muscle spindle afferent, MAGNETORECEPTOR.
7.2. Human (200 types by category)
| Category | Count | Key representatives |
|---|---|---|
| Cerebral cortex | 14 | Pyramidal (L2/3, L5, L6), interneurons (PV, SST, VIP), stellate, fusiform |
| Cerebellum | 12 | Purkinje, granule, Golgi, basket, stellate, deep cerebellar nuclei |
| Hippocampus/Entorhinal cortex/Subiculum | 9 | Pyramidal CA1/CA3, granule DG, interneurons, subicular |
| Thalamus | 8 | Relay (LGN, MGN, VPL/VPM), reticular, intralaminar |
| Basal ganglia | 7 | MSN D1/D2 (medium spiny), cholinergic, PV interneurons |
| Brainstem | 17 | Monoaminergic (D RN, 5-HT RN, LC NE), reticular formation, raphe nuclei, PAG |
| Cranial nerves | 11 | III (oculomotor), V (trigeminal), VII (facial), VIII (vestibulocochlear), X (vagus) |
| Spinal cord | 14 | α-motoneurons, γ-motoneurons, interneurons (Ia, Ib, II), Renshaw |
| Retina | 15 | Photoreceptors (rods, L/M/S cones), bipolar (ON/OFF), ganglion (midget, parasol, ipRGC), horizontal, amacrine |
| Olfactory bulb | 4 | Mitral, granule, periglomerular |
| Hypothalamus | 14 | Orexin, MCH, vasopressin, oxytocin, GnRH, TRH, CRH, somatostatin, dopaminergic TIDA |
| Amygdala | 3 | Pyramidal BLA, central CeA |
| Limbic system | 4 | Nucleus accumbens (NAc MSN), septal, cingulate cortex |
| Glia | 11 | Astrocytes, oligodendrocytes, microglia, NG2⁺ precursors, ependymocytes, radial glia, Muller glia, Bergmann glia |
| Autonomic/Enteric | 8 | Sympathetic/parasympathetic pre-/postganglionic, enteric (Auerbach/Meissner plexus) |
| Auditory/Vestibular | 10 | Hair cells (cochlea, sacculus, utricle), spiral ganglion, Scarpa ganglion |
| Sensory | 8 | Nociceptors, thermoreceptors, mechanoreceptors (Merkel, Meissner, Ruffini, Pacini), proprioceptors |
| Metabolic/Endocrine | 9 | Pancreatic β-cells, α-cells, melatonin (pinealocytes), thyrocytes, adrenocorticocytes |
| Pituitary | 5 | Gonadotrophs, lactotrophs, somatotrophs, corticotrophs, thyrotrophs |
| Vascular | 2 | Endothelial, smooth muscle |
| Neuromodulatory | 5+ | Dopaminergic (SNc, VTA), serotonergic (Raphe), noradrenergic (LC), cholinergic (BF), histaminergic (TMN) |
| Striatum | 5 | MSN D1 direct pathway, MSN D2 indirect pathway, FSI, ChAT, Pvalb |
| Diencephalon | 3 | Epithalamus (habenula), subthalamus |
8. Tadpole Connectome: in silico Embryogenesis
Implemented 7 rules of Roberts (Roberts et al., 2014) for generating the connectome of the Xenopus laevis tadpole (4 stages: EARLY_TAILBUD → LATE_TAILBUD → HATCHING → FREE_SWIMMING):
- Neuron differentiation: soma at a specified dorsoventral/rostral position
- Axon growth: directed growth with environmental barriers
- Axon branching: probabilistic, depends on neuron type
- Synapse formation: spontaneous + probabilistic matrix 10×10
- CPG circuit: guaranteed cross-inhibitory connections (cIN↔dIN glycine + GABA-B), asymmetric kickstart
- Glia: radial glia, syncytium, K⁺ spatial buffering (Kir4.1)
- STDP/consolidation: plasticity assignment, reinforcement of functional connections
Network parameters at the FREE_SWIMMING stage: ~238 neurons, ~5000 segments, ~28000 connections, ~7400 synapses.
9. Behavioral Taxes
9.1. Chemotaxis
SER neuron (orexinergic) + ORN → klinotaxis (swim_phase → nostril_offset ±40%). Concentration gradient → CPG asymmetry → turn toward source.
9.2. Phototaxis
TECTUM → AVOID (GABA, w=3.0, avoidance inhibition). Shadow → TECTUM drops → AVOID disinhibited → C-turn. AVOID → contra-dIN (AMPA, w=2.0) + AVOID → ipsi-cIN (AMPA, w=1.5).
9.3. Audiotaxis
AUDITORY_SENSOR=15, MOD_VIBRATION_SENSOR=115. Vibration/sound → mechanotransduction → CPG asymmetry.
9.4. Vestibular Apparatus
OTOLITH=16 (gravity + linear acceleration), SEMICIRCULAR=17 (angular acceleration). MET channels → Ca²⁺ adaptation.
9.5. Electroreception
MOD_ELECTRORECEPTOR_AMPULLARY=118: ampullae of Lorenzini, gel channel, low-pass filter, E-field.
9.6. Magnetoreception
MOD_MAGNETITE_MECHANORECEPTOR=119 (Fe₃O₄ chains → torque → MET) + MOD_CRYPTOCHROME_MAGNETIC=120 (Cry4, radical pairs, light-dependent).
10. Educational Experiments
The platform includes a package of 16 educational experiments in
.bexp format, distributed across three levels:
Bachelor (4): action_potential (action potential — HH Na⁺/K⁺ channels, threshold, refractoriness), passive_cable (passive cable — λ and τ, signal attenuation), synaptic_integration (synaptic integration — EPSP/IPSP, temporal and spatial summation), lateral_inhibition (lateral inhibition — GABA-A, contrast enhancement).
Master (8): motion_detection (motion detection — delayed inhibition), direction_selective (directional selectivity — Barlow-Levick DS), cpg_rhythm (CPG rhythm — half-center, GABA-B/Glycine), working_memory (working memory — mutual inhibition), receptive_field (receptive field — center-surround), stdp_ltp (STDP long-term potentiation — CaMKII), stdp_ltd (STDP long-term depression — Calcineurin), stdp_learning (STDP learning — noisy input, synaptic competition).
Doctoral (4): epileptiform (epileptiform activity — ↑[K⁺]ₒ + GABA-A block), pharmacology (pharmacology — channel blockers and agonists), homeostatic_plasticity (homeostatic plasticity — PMCA/NCX/KCC2, sliding BCM threshold), bifurcations (bifurcations — bifurcation of neuronal dynamics under g_Na variation).
Each experiment is accompanied by a README in three languages (Russian,
English, Chinese) with a theoretical introduction, a description of
biophysical mechanisms, and a step-by-step protocol. All experiments are
performed without surrogates — via the full biophysical
tick core_run_tick_impl (HH gate kinetics + GHK currents +
diffusion + plasticity).
11. Glossary
BION (Binary Neuronal Object Notation) — binary
file format for storing neural networks. Compact representation with
#pragma pack(1). Version 6.
CPG (Central Pattern Generator) — a central rhythm generator. A neural circuit producing a rhythmic motor pattern (swimming) without sensory feedback.
GHK (Goldman-Hodgkin-Katz) — formalism for computing ionic currents across a membrane. Accounts for actual ion concentrations, valence, and temperature. Replaces the simplified I = g·(V − E_rev).
HH (Hodgkin-Huxley) — kinetic model of voltage-dependent gating of ion channels. Gate variables m (activation), h (inactivation) are described by first-order differential equations. In MindCopy, HH kinetics determines "when the channel is open" (m^p · h^q), while the ionic current itself is computed via the GHK equation, not the classical I = g·(V − E_rev). Hybrid HH+GHK: kinetics from HH, conductance from GHK.
Modifier — a transmembrane protein added to a segment. It can be an ion channel, receptor, pump, exchanger, sensor, or signaling cascade component. Specified by type (0–120) and density (density ∈ [0,1]). Structure size: 44 bytes.
Neurotransmitter — a chemical substance in the synaptic cleft that activates postsynaptic receptors. 14 types: glutamate, GABA, dopamine, serotonin, acetylcholine, adenosine, noradrenaline, glycine, histamine, endocannabinoid, ATP, melatonin, Mg²⁺, nicotine.
Segment — an electrical compartment of a neuron. A cylinder with length and radius. Can be a soma, dendrite, axon, presynaptic specialization (bouton), or postsynaptic specialization (spine). The basic unit of simulation. 988 bytes.
Synapse — a contact between segments (chemical, electrical). Chemical synapses pass through PRE/POSTSYNAPSE specializations (bouton → spine). 824 bytes.
STDP (Spike-Timing-Dependent Plasticity) — plasticity dependent on the temporal order of spikes. Pre-before-post → LTP (CaMKII); post-before-pre → LTD (Calcineurin).
PIR (Post-Inhibitory Rebound) — post-inhibitory rebound. After strong hyperpolarization, T-type Ca²⁺ channels (Cav3.x) de-inactivate and open, producing a depolarizing "rebound".
IntraConnection — an intracellular connection between two segments of a single neuron. Transmits axial currents.
SYCL — a cross-platform standard for parallel programming (Khronos Group). MindCopy uses the Intel oneAPI DPC++ implementation for GPU acceleration.
USM (Unified Shared Memory) — unified CPU/GPU memory in SYCL. Pointers are accessible from both devices without explicit copying.
.bexp — binary experiment recording format. JSON header (metadata, probe configuration) + binary frames (per-segment V_m, ions, NTs).
.desc — JSON plugin descriptor. Contains id, name, category, description, release (presynaptic modulator flag).
POD (Plain Old Data) — a data structure without virtual functions, pointers, or dynamic memory. Compatible with SYCL/USM and FPGA HLS.
12. Technical Specifications
| Parameter | Value |
|---|---|
| Core language | C++17 + SYCL 2020 |
| Studio language | C++17 |
| Graphics | OpenGL 3.3 Core, Dear ImGui (docking), ImGuizmo, ImPlot |
| Build | CMake, GCC (CPU), Intel DPC++ (GPU) |
| Platform | Linux x86-64 |
| GPU | Intel GPU (Intel oneAPI), NVIDIA/AMD support via SYCL |
| FPGA | Compatibility with Vitis HLS (POD, no new/malloc, minimal branching) |
| Localization | Russian, English, 中文 (i18n JSON) |
| Comments | In Russian, identifiers — English |
| Network format | BION v6 (binary, #pragma pack(1)) |
| Experiment format | .bexp (JSON + binary frames) |
| NeuroML | v2 import/export |
| SWC | Import/export (ASCII, 7 columns) |
| Video | AVI (uncompressed / MJPEG), asynchronous generation |
| Updates | HTTPS API + AES-256-GCM + local .deb/.rpm/.AppImage/.so |
| Testing | 350+ tests (Core 32, Orch 16, SDK 6, Studio 214, remainder — TestBench), Valgrind 0, fuzzing, CI |
| Batch mode | Core daemon –batch: headless simulation without GUI, –params-json, –seed, –bexp-output |
| Checkpoints | Auto-save every N ticks, –resume-from, graceful shutdown (SIGTERM) |
| Experiments | 16 educational .bexp (Bachelor/Master/Doctoral), README in RU+EN+ZH |
| Distributed computing | 6 stages: sweep, memory, validation, evolution, ontogenesis, dashboard |
| Licensing | ECDSA-P256 offline key + online verification (AES-256-GCM) |
13. Conclusion
The MindCopy platform provides a complete toolkit for computational neuroscience — from molecular mechanisms (HH gate kinetics, GHK currents, STDP, gene expression) to behavioral responses (taxes) in a single integrated environment. The modular architecture (Core ↔ Studio ↔ SDK ↔ Orchestrator) enables independent development of the computational core, graphical interface, plugin ecosystem, and distributed computing infrastructure.
The 6-stage distributed architecture (parameter sweep, memory check, duplication with validation, evolutionary optimization, ontogenesis with checkpoints, volunteer dashboard) enables scaling simulations across many compute nodes — from volunteers' home PCs to server clusters. The package of 16 educational experiments with trilingual documentation (RU+EN+ZH) provides a smooth entry point into the platform — from basic neuroscience concepts to advanced research protocols.
224 neuron types, 121 modifiers, 14 neurotransmitters, 36 genes, and 5 ions provide detailed biophysical modeling, validated by Valgrind analysis (0 memory errors) and 350+ automated tests. All computations go through a full biophysical tick: HH kinetics determines "when the channel is open", the GHK equation — "how many ions pass through", without surrogates or simplified conductance models.
The system is designed with future expansion in mind: GPU/SYCL — for high-performance computing, POD structures — for FPGA HLS, SDK — for a plugin developer community, BION v6 — for long-term binary compatibility, the .bexp format — for reproducible experiments.
2026 Krasnodar, Russia