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
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)
| File | Size | Uploaded | |
|---|---|---|---|
| elegansbot-1.0.2.tar.gz | 346.6 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| 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
|