v0.9.0 released · preprint on bioRxiv doi:10.64898/2026.01.01.697284
Open-source · Modular · NEURON-backed

An open electrophysiology simulator from descending drive to the electrode signal

A closed-loop neuromuscular simulator that brings together descending cortical drive, spinal circuitry, proprioceptive feedback from spindles and Golgi tendon organs, Hill-type muscle dynamics, and decomposable high-density surface or intramuscular EMG in a single framework. Calibrated against human motor-unit discharge statistics.

Versionv0.9.0
LicenseAGPL-3.0
LanguagePython ≥ 3.12
BackendNEURON · Cython · Neo
surface_emg.simulate(channels=64)
0.0s2.0s4.0s6.0s8.0s10.0sMU 01MU 04MU 07MU 10MU 13MU 16required force∑ spikes · Hann
fs = 2048 Hz · 8 channels t = 0.00s
Overview

From descending drive to the signal at the electrode.

MyoGen simulates the sensorimotor loop from descending drive to the signal at the electrode: NEURON α-motor neurons, Ia / II / Ib afferent pathways with spinal interneurons, muscle spindles and Golgi tendon organs, Hill-type muscle-tendon units, MU territories in a volume conductor, and decomposable surface or intramuscular EMG. Each stage is a standardised Neo object, swappable, and reproducible.

MyoGen system overview: descending drive (point-process input representing cortical activity) projects onto spinal interneurons and α-motor neurons; α-MNs innervate a Hill-type muscle with distributed motor-unit territories; muscle spindles and Golgi tendon organs return Ia, II, and Ib afferent feedback; surface and intramuscular EMG are generated through a volume conductor.
Figure 1   MyoGen framework overview. From Sîmpetru & Molinari et al. (2026), bioRxiv
Neural

Descending drive → spinal → α-MN

Cortical activity enters as a Poisson or Gamma point-process drive onto spinal interneurons and NEURON α-motor neurons with active dendrites; Ia, II, and Ib afferents close the loop.

Muscle

Hill-type muscle & territories

Fibre distribution across the muscle CSA, motor-unit territories from a terminal-arborisation model, and Hill-type contractile dynamics.

Proprioception

Spindles & Golgi tendon organs

Afferent neurons close the loop: spindles report stretch and velocity, Golgi tendon organs report force, both feeding back into the spinal circuit.

Signal

MUAPs · sEMG · iEMG

Per-fibre MUAPs propagate through the volume conductor to surface grids and intramuscular electrodes, ready for decomposition.

Results

Quantitatively close to human motor-unit recordings, and qualitatively consistent with previously published neuromuscular regimes.

99.8%
Discharge-rate coverage
Fraction of the experimental mean-DR distribution reproduced across VL, VM, and FDI motor units.
96.8%
ISI-CV coverage
Fraction of the experimental interspike-interval coefficient-of-variation distribution reproduced.
< 3%
Mean parameter deviation
Mean offset of rheobase, input resistance, time constant, and AHP from literature benchmarks.
20 Hz
Beta-band reproduction
Qualitatively reproduces the Watanabe & Kohn cortical-oscillation regime: 20 Hz drive enhances mean force through additional MU recruitment.
Get started

Read the docs. Run an example. Cite the preprint.

The documentation walks through installation, the Neo Block data model, and thirteen reproducible examples that progress from recruitment thresholds to HD-sEMG simulation and NWB export.

In the literature

Papers using MyoGen.

Preprints and publications that build on MyoGen for EMG decomposition, motor-control research, and neural-interface validation. New entries welcome via pull request.

+
Open contribution

Your paper here?

Used MyoGen in your work? Open a pull request on GitHub to add it to this list.

Submit on GitHub ↗
In Work · Soon as preprint

Vastly Improved iEMG Model with FEM Muscle Geometry

D. Rohlf, R. Sîmpetru, et al.

GitHub ↗
In Work · Soon as preprint

Jaxley Integration for MyoGen

S. Pirosmanishvili, R. Sîmpetru, et al.

GitHub ↗
MyoGen: Unified Biophysical Modeling of Human Neuromotor Activity and Resulting Signals
bioRxiv · 2026 · Founding paper

MyoGen: Unified Biophysical Modeling of Human Neuromotor Activity and Resulting Signals

R. C. Sîmpetru, R. G. Molinari, D. R. Rohlf, R. L. Batichotti, R. N. Watanabe, L. A. Elias, A. Del Vecchio

doi:10.64898/2026.01.01.697284 ↗
Community governance

Stewarded openly, guided scientifically.

MyoGen is governed through two complementary bodies that separate scientific direction from operational maintenance. The goal is transparent stewardship and long-term sustainability, not authority.

Scientific Steering Council

Scientific and strategic guidance.

The Council advises on physiological modelling assumptions, validation standards, interpretation of simulator outputs, the long-term scientific roadmap, and community relevance. It helps ensure that MyoGen remains physiologically grounded, scientifically credible, and useful to the wider neuromuscular modelling and EMG communities.

Technical limitations should never shape the scientific direction; instead, the Council guides technical development to meet the community's scientific needs.

Raul C. Sîmpetru
Founding member · FAU Erlangen-Nürnberg
Dr. Ricardo G. Molinari
Founding member · University of Campinas
Prof. Renato N. Watanabe
Founding Member · Federal University of ABC
Prof. Leonardo A. Elias
Founding Member · University of Campinas
Prof. Alessandro Del Vecchio
Founding member · FAU Erlangen-Nürnberg

Open to new scientific advisors.

Maintainer Council

Operational development and stewardship.

The Maintainer Council is responsible for the operational development of MyoGen: code review, issue triage, releases, documentation, roadmap implementation, contributor onboarding, and technical decision-making.

It implements that guidance with full autonomy over the how. Priority goes to solutions that run on end-users' hardware for baseline accessibility; HPC and cloud support is secondary, considered where it enables large-scale use.

Raul C. Sîmpetru
Founding maintainer · FAU Erlangen-Nürnberg
Dr. Ricardo G. Molinari
Founding maintainer · University of Campinas
Devon R. Rohlf
Maintainer · FAU Erlangen-Nürnberg

Open to new maintainers from sustained contributors.

Contribute

The simulator is open. The science is collaborative.

Bug reports, new physiological models, validation references, and pull requests are all welcome on GitHub. We welcome all contributions and depending on our availability and the nature of the contribution, we will do our best to provide feedback and guidance within a reasonable timeframe. We also encourage discussion on the GitHub Discussions page for more open-ended topics or proposals that may require community input before implementation.

Propose

Open a discussion

New physiological models, alternate recruitment laws, or pipeline stages should be talked through before a PR.

Report

File an issue

Numerical instability, unexpected MUAP shapes, or NEURON compilation problems with a minimal reproducer.

Build

Send a pull request

Implement, test against the validation suite, and update the docs. CI runs the examples on every PR.

Citation

If MyoGen contributed to your work, please cite both.

Citing both the bioRxiv preprint and the versioned Zenodo software archive attributes the science and pins the exact code release used. Both refs help us keep developing the framework in the open.

Preprint · bioRxiv
@article{simpetru_molinari_2026_myogen,
  title   = {MyoGen: Unified Biophysical Modeling
             of Human Neuromotor Activity and
             Resulting Signals},
  author  = {Sîmpetru, Raul C. and Molinari,
             Ricardo G. and Rohlf, Devon R. and
             Batichotti, Rebeka L. and Watanabe,
             Renato N. and Elias, Leonardo A. and
             Del Vecchio, Alessandro},
  journal = {bioRxiv},
  note    = {preprint},
  year    = {2026},
  doi     = {10.64898/2026.01.01.697284}
}
Software · Zenodo
@software{myogen_software_2026,
  title  = {MyoGen: a modular and extensible
            simulation toolkit for neurophysiology},
  author = {Sîmpetru, Raul C. and Molinari,
            Ricardo G. and {MyoGen contributors}},
  year   = {2026},
  doi    = {10.5281/zenodo.18078175},
  url    = {https://github.com/NsquaredLab/MyoGen}
}