Skip to main content

ElegansBot

Newtonian Mechanics Model for C. elegans Locomotion

https://github.com/TaegonChung/elegansbot/assets/29942136/ca554471-4397-4e19-bbf3-e83e2ce5ed81

(Left: Experimental video from [1], Right: ElegansBot)

[1] Broekmans, O. D., Rodgers, J. B., Ryu, W. S., & Stephens, G. J. (2016). Resolving coiled shapes reveals new reorientation behaviors in C. elegans. ELife, 5, e17227. https://doi.org/10.7554/eLife.17227

Web Demo

  • https://taegonchung.github.io/elegansbot/
    • Use the sliders to observe the worm's movement changes.
      • Water-Agar Slider: Adjust this to modify the ground's frictional coefficients.
      • Swim-Crawl Slider: This slider alters the period and linear wave number of C. elegans' locomotion.

Requirements

  • Python (version 3)
  • NumPy
  • Numba
    • SciPy (required as a dependency of numba)
  • Matplotlib

(Optional)

  • FFmpeg (for saving a video.)
  • Jupyter Notebook (for interactive block coding)

Tested Environment

Please, check "https://github.com/TaegonChung/ElegansBot/tested_environments.txt".

Usage

  1. Install library by pip install elegansbot.
  2. Use from elegansbot import Worm to import the library.
  3. Refer to the detailed instructions in the docstring of the "Worm" class. Below is a brief overview of potential use-cases:
    • If you want to determine $\theta_{\mathrm{ctrl}}$ dynamically, it's advised to update "act" (equivalent to theta_ctrl) manually and then invoke the "steps" method on an instance of the "Worm" class.
    • If you wish to use ElegansBot with a pre-determined $\theta_{\mathrm{ctrl}}$ (kymogram), it's recommended to utilize the "run" method of an instance of the "Worm" class.

Examples

You may want to check out examples in the "examples/" directory.
For instance, you can execute the example code with:
python examples/example01.py

Files:

  • examples/example01.py : Dynamic input
  • examples/example02.py : Kymogram input
  • examples/example03.py : Kymogram input (Omega-turn)
  • examples/example04.py : Kymogram input (Delta-turn)
  • examples/example05.py : Frictional forces, power, and behavioral classification

Local Demo

Execute the following command:

python -m elegansbot.elegansbot

File Description

  • elegansbot.py : Main code
  • Video_S1_omega_turn.avi : Video from the supplementary section of our paper.
  • Video_S2_delta_turn.avi : Another video from the supplementary section of our paper.

Citing ElegansBot

  • If ElegansBot has been significant in your research, and you would like to acknowledge this work in your academic publication, we suggest citing the following paper:
Taegon Chung, Iksoo Chang, Sangyeol Kim (2024) Development of equation of motion deciphering locomotion including omega turns of Caenorhabditis elegans eLife 12:RP92562 https://doi.org/10.7554/eLife.92562

Metadata

Release files for ElegansBot 1.0.2

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for ElegansBot 1.0.2
File Size Uploaded
elegansbot-1.0.2.tar.gz 346.6 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for ElegansBot 1.0.2
File Interpreter ABI Platform
elegansbot-1.0.2-py3-none-any.whl Python 3 none any Details

Total release size: 360.6 kB

Release files / elegansbot-1.0.2.tar.gz

Download URL elegansbot-1.0.2.tar.gz
Size 346.6 kB
Tags Source
SHA-256 checksum
How to use checksums
16ad4cd055b420ea45f42a9d4c914a58405da5373c6a47bac71b67c3807152ca
BLAKE2b-256 checksum
How to use checksums
b1073a1453d6e2df7f59e7a5d8fe3a652afbf7d77f23479bddd6767a18c1b0b1
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.11.9

Release files / elegansbot-1.0.2-py3-none-any.whl

Download URL elegansbot-1.0.2-py3-none-any.whl
Size 14.0 kB
Tags Python 3
SHA-256 checksum
How to use checksums
fb6c8a39f3e60a8bbec94f25071b1664db50dfea129bfc3f3560454f2de74fdc
BLAKE2b-256 checksum
How to use checksums
1fb1208491dbb521c651f648fe9668ae1c7e9c2e2c0f04b9e8fe0ddfb3b26e17
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.11.9

Release history Release notifications | RSS feed

This release

1.0.2 This release

2 release files

1.0.1

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page