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.
- Use the sliders to observe the worm's movement changes.
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
- Install library by
pip install elegansbot. - Use
from elegansbot import Wormto import the library. - 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 codeVideo_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
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
16ad4cd055b420ea45f42a9d4c914a58405da5373c6a47bac71b67c3807152ca
|
|
| MD5 |
7580b9e329309848457c8ed4fd96bd02
|
|
| BLAKE2b-256 |
b1073a1453d6e2df7f59e7a5d8fe3a652afbf7d77f23479bddd6767a18c1b0b1
|
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
fb6c8a39f3e60a8bbec94f25071b1664db50dfea129bfc3f3560454f2de74fdc
|
|
| MD5 |
f82fcc30e752f18b30e95fd7a1edcbca
|
|
| BLAKE2b-256 |
1fb1208491dbb521c651f648fe9668ae1c7e9c2e2c0f04b9e8fe0ddfb3b26e17
|