Giter Site home page Giter Site logo

sleepy_mice's Introduction

Archetypal Analysis for Identification of New Substages in Sleep

Motivation

Preclinical mice models are often used to study sleep disorders, since it is possible to mimic specific sleep phenotypes in mice by gene manipulation. This makes it possible to study sleep processes in a very controlled setting. In sleep studies, electroencephalogram (EEG), electromyogram (EMG), and video are recorded over 24 hours to measure brain activity, muscle activity and behavior. Based on these recordings, a trained sleep expert manually divides the sleep into Wake, NREM, and REM in windows of 4-seconds.

Sleep in mice is very heterogeneous, thus it has been hypothesized whether the current three sleep stages covers all the variability of sleep. Recent studies have looked into whether substages of sleep can be identified with different unsupervised clustering approaches. Identification of such substages will not only lead to more accurate sleep study evaluation but may also enable identification of disease specific stages which could improve diagnosis tremendously. Thus, it still remains an open question whether sleep in mice can be divided into more substages.

Data

Our dataset comprises EEG and EMG recordings from approximately 150 mice, including both healthy and narcoleptic mice. The data is provided as both raw signals and preprocessed features. The features include various EEG power bands—Delta (0.25–5 Hz), Theta (5–9 Hz), Alpha (9–12 Hz), Beta (12–20 Hz), and Gamma (20–50 Hz)—extracted from the frequency domain in 4-second windows. In addition to the typical sleep stages, the dataset for narcoleptic mice includes recordings of additional sleep stages such as "Atypical Cataplexy" and "Cataplexy," enabling a more nuanced analysis of sleep patterns affected by narcolepsy.

Setup Instructions

Prerequisites

Ensure Python and all required packages are installed by running:

pip install -r requirements.txt

Configuration

Before executing main.py, configure your config.json with the correct data path. Start by creating a config.json file based on the config.sample.json templat

{
    "data_path": "path/to/your/data.csv",
    "narcolepsy_path": "path/to/your/narcolepsy.csv"
}

Replace "path/to/your/data.csv" with the actual path to your dataset's CSV file.

To run the main.py script from the src directory, navigate to the home directory, sleepy_mice, and execute:

python src/main.py

Acknowledgments

  • Vasiliki-Maria Katsageorgiou, Diego Sona, Matteo Zanotto, Glenda Lassi, Celina Garcia-Garcia, Valter Tucci, and Vittorio Murino
    "A novel unsupervised analysis of electrophysiological signals reveals new sleep substages in mice," PLOS Biology, vol. 16, no. 5, pp. 1–23, May 2018.

  • Farid Yaghouby and Sridhar Sunderam
    "Segway: A simple framework for unsupervised sleep segmentation in experimental EEG recordings.," MethodsX, 2016.

  • Adele Cutler and Leo Breiman
    “Archetypal analysis,” Technometrics, vol. 36, no. 4, pp. 338–347, 1994.

  • Morten Mørup and Lars Kai Hansen
    “Archetypal analysis for machine learning and data mining,” Neurocomputing, vol. 80, pp. 54–63, 2012.2012.

sleepy_mice's People

Contributors

noahrn avatar augustbl avatar augustborgljorring avatar augustholmdtu avatar

Stargazers

 avatar  avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.