MouseMemoryGraph is a Dash-based web application for visualizing and analyzing neural and behavioral data from mouse experiments. The application integrates photometry data and behavioral tracking data to provide interactive visualizations and interval-based analyses. Click on the title above to check out our website which gives a detailed background on this project and our team.
- Interactive plots for photometry and behavioral data
- Epoching for visualizations of freezing behaviour onset and offset events
- Reprocessing functionality to incorporate newly added datasets
- Web-based dashboard for intuitive data exploration
Ensure the following dependencies are installed before running the application:
pip install -r requirements.txtTo generate the requirements.txt file from your current environment, run:
pip freeze > requirements.txtdashfor web application interfaceplotlyfor interactive graphingpandas&numpyfor data handling and processingscipyfor signal filtering
- Clone this repository:
git clone https://github.com/yourusername/MouseMemoryGraph.git cd MouseMemoryGraph - Create a virtual environment (recommended):
python -m venv venv source venv/bin/activate # On Windows, use `venv\Scripts\activate`
- Install dependencies:
pip install -r requirements.txt
- Run the application:
python code/app.py
- Open your browser and navigate to:
http://127.0.0.1:8050/
MouseMemoryGraph/
│-- assets/ # Static files (images, CSS, etc.)
│ ├── header.png # Header image for the dashboard
│ ├── footer.png # Footer image for the dashboard
│ ├── style.css # (Optional) Custom styles
│-- code/ # Source code
│ ├── app.py # Main Dash application
│ ├── dataset.py # Data processing classes
│ ├── dashboard.py # Dashboard layout and callbacks
│-- data/ # Data directory (must be manually populated)
│ ├── mouse1/ # Example mouse dataset folder
│ │ ├── cfc_2046.csv # Photometry data
│ │ ├── behavior.csv # Behavioral tracking data
│ ├── mouse2/ # Additional dataset
│-- dist/ # Compiled application (if using PyInstaller)
│-- README.md # This file
- Place photometry and behavioral data files in the
data/directory. - Organize them into subfolders named after each mouse (e.g.,
data/mouse1/). - Ensure file names follow the expected format:
- Photometry:
cfc_2046.csv - Behavior:
a2024-11-01T14_30_53DLC_resnet50_fearbox_optoJan27shuffle1_100000.csv
- Photometry:
- Run the application, and it will dynamically detect and load new datasets.
This project includes concepts inspired by:
This project is licensed under the MIT License. See LICENSE for more details.