Skip to content

brynnhs/MouseMemoryGraph

Repository files navigation

Overview

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.

Features

  • 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

Dependencies

Ensure the following dependencies are installed before running the application:

pip install -r requirements.txt

To generate the requirements.txt file from your current environment, run:

pip freeze > requirements.txt

Main Libraries Used:

  • dash for web application interface
  • plotly for interactive graphing
  • pandas & numpy for data handling and processing
  • scipy for signal filtering

Installation & Setup

  1. Clone this repository:
    git clone https://github.com/yourusername/MouseMemoryGraph.git
    cd MouseMemoryGraph
  2. Create a virtual environment (recommended):
    python -m venv venv
    source venv/bin/activate  # On Windows, use `venv\Scripts\activate`
  3. Install dependencies:
    pip install -r requirements.txt
  4. Run the application:
    python code/app.py
  5. Open your browser and navigate to:
    http://127.0.0.1:8050/
    

Directory Structure

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

Adding Your Data

  1. Place photometry and behavioral data files in the data/ directory.
  2. Organize them into subfolders named after each mouse (e.g., data/mouse1/).
  3. Ensure file names follow the expected format:
    • Photometry: cfc_2046.csv
    • Behavior: a2024-11-01T14_30_53DLC_resnet50_fearbox_optoJan27shuffle1_100000.csv
  4. Run the application, and it will dynamically detect and load new datasets.

Acknowledgments

This project includes concepts inspired by:

License

This project is licensed under the MIT License. See LICENSE for more details.

Authors

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •