Skip to main content

Newtonian Mechanics Model for C. elegans Locomotion

Project description

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

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

elegansbot-1.0.2.tar.gz (346.6 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

elegansbot-1.0.2-py3-none-any.whl (14.0 kB view details)

Uploaded Python 3

File details

Details for the file elegansbot-1.0.2.tar.gz.

File metadata

  • Download URL: elegansbot-1.0.2.tar.gz
  • Upload date:
  • Size: 346.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.11.9

File hashes

Hashes for elegansbot-1.0.2.tar.gz
Algorithm Hash digest
SHA256 16ad4cd055b420ea45f42a9d4c914a58405da5373c6a47bac71b67c3807152ca
MD5 7580b9e329309848457c8ed4fd96bd02
BLAKE2b-256 b1073a1453d6e2df7f59e7a5d8fe3a652afbf7d77f23479bddd6767a18c1b0b1

See more details on using hashes here.

File details

Details for the file elegansbot-1.0.2-py3-none-any.whl.

File metadata

  • Download URL: elegansbot-1.0.2-py3-none-any.whl
  • Upload date:
  • Size: 14.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.11.9

File hashes

Hashes for elegansbot-1.0.2-py3-none-any.whl
Algorithm Hash digest
SHA256 fb6c8a39f3e60a8bbec94f25071b1664db50dfea129bfc3f3560454f2de74fdc
MD5 f82fcc30e752f18b30e95fd7a1edcbca
BLAKE2b-256 1fb1208491dbb521c651f648fe9668ae1c7e9c2e2c0f04b9e8fe0ddfb3b26e17

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page