📄 Citation
If you use this code or data, please cite the associated paper:
J. Jhawar, V. Guttal, and S. Thutupalli, Stochastic dynamics of order and disorder in milling whirligig beetles, Physical Review Research (2025) DOI: https://doi.org/10.1103/kmbg-sqqc
All code, data, and supplementary materials in this repository are released under the MIT License. You are free to use, modify, and distribute the materials, including for commercial purposes, as long as the copyright notice and this permission notice are included in all copies or substantial portions of the repository.
See the LICENSE file for details.
This licensing applies to both the Python analysis code and the datasets provided in this repository.
This repository contains code, data, and analysis pipelines for the project.
Some large binary files (movies, data arrays, etc.) are tracked using Git LFS.
This repository uses Git Large File Storage (LFS) for large files (>100 MB).
git lfs installgit clone https://github.com/jiteshjhawar/Beetles_data_analysis.git
cd Beetles_data_analysisIf you cloned earlier without LFS, fetch large files using:
git lfs pull📦 Dependencies Below are the Python packages required to run the analysis.
Standard Imports python
import pickle
import matplotlib.pyplot as plt
from mpl_toolkits.axes_grid1.inset_locator import inset_axes
import matplotlib.backends.backend_pdf
import numpy as np
import os
import warnings
warnings.filterwarnings('ignore')
from tqdm import tqdm
import functions as fn
import dataFunctions as dF
import pandas as pd
import imageioAdditional Dependencies python
from scipy.optimize import curve_fit
from numba import vectorize, float64
from statsmodels.tsa.stattools import acf📚 Requirements File Install all required packages using:
pip install -r requirements.txtTypical requirements.txt:
numpy pandas matplotlib imageio tqdm scipy numba statsmodels
📁 Repository Structure
PRR_codes_data_lfs/
│── data/ # Large data files (LFS tracked)
│── model_data
│── movies/ # Movie files (LFS tracked)
│── codes/ # Python analysis scripts
│ ├── functions.py
│ ├── dataFunctions.py
│ ├── Test.ipynb
│── figures/
│── requirements.txt
│── README.md
📝 Notes
Run Jupyter notebook data_analyze.ipynb
Files larger than 100 MB must use Git LFS
GitHub warns for files above 50 MB (normal)
If contributing, please install Git LFS first
🤝 Contributing Pull requests and issues are welcome!