NeuRodent 🐁
A Python package for standardizing rodent EEG analysis and figure generation. Various EEG formats are loadable and features are extracted in parallel. Also includes a Snakemake workflow for automated analysis.
Presented at USRSE'25!
Installation
NeuRodent can be installed via pip or conda:
pip install neurodent
or
conda install -c conda-forge neurodent
For pipeline support, development setup, and other installation options, check out the full installation guide.
Usage
Visit the full documentation for more how-tos and examples: https://josephdong1000.github.io/neurodent
Overview
NeuRodent loads multi-format EEG data (LongRecordingAnalyzer → AnimalOrganizer) and computes features over windows (WindowAnalysisResult) and population spiking (FrequencyDomainSpikeAnalysisResult). Results feed into AnimalPlotter and ExperimentPlotter for multi-animal comparison by genotype, session, or circadian cycle.
from neurodent import (
LongRecordingOrganizer,
AnimalOrganizer,
AnimalAnalyzer,
ExperimentPlotter,
)
lro = LongRecordingOrganizer(data_path)
ao = AnimalOrganizer(lro)
war = AnimalAnalyzer(ao).compute_windowed_analysis(features=["rms", "psdband", "cohere"])
ep = ExperimentPlotter([war])
ep.plot_feature("rms", groupby="genotype")
A companion Snakemake workflow automates the full pipeline with cluster support.
Snakemake Workflow
The pipeline follows the Snakemake Workflow Catalog standardized layout, with workflow/Snakefile as the single entry point.
# Deploy via snakedeploy
pip install snakedeploy
snakedeploy deploy-workflow https://github.com/josephdong1000/neurodent . --tag <version>
# Run manually
snakemake --snakefile workflow/Snakefile --configfile config/config.yaml
Acknowledgements
This project benefited from insights and best practices described in Peter K. G. Williams’s One Good Tutorial.
Citation
If you find NeuRodent useful, please cite our work!
@software{dong2026neurodent,
author = {Dong, Joseph P. and Oh, Yongtaek and Marsh, Eric D.},
title = {NeuRodent},
year = {2025},
publisher = {Zenodo},
doi = {10.5281/zenodo.15780751},
url = {https://doi.org/10.5281/zenodo.15780751},
license = {MIT}
}
Machine-readable citation metadata is also available in CITATION.cff.
Community & Governance
- Contributing: CONTRIBUTING.md
- Support: SUPPORT.md
- Code of Conduct: CODE_OF_CONDUCT.md
Metadata
Release files for neurodent 0.4.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| neurodent-0.4.0.tar.gz | 511.1 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| neurodent-0.4.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 736.6 kB
Release files / neurodent-0.4.0.tar.gz
| Download URL | neurodent-0.4.0.tar.gz |
|---|---|
| Size | 511.1 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
5ba1ca538eb9a8544d6389ae13af9ea6736b221473d98e2f8d3900ec5ebf4924
|
|
BLAKE2b-256 checksum How to use checksums |
8b153953cd4d2ea6851d9c60db69db9118d6db9ead38858c57d818121868af68
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.12
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Jul 8, 2026.
Transparency logRelease files / neurodent-0.4.0-py3-none-any.whl
| Download URL | neurodent-0.4.0-py3-none-any.whl |
|---|---|
| Size | 225.5 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
c9ac8434bfe787370334ee694c406ac7365d8d1c74b9d0d4ff0568cf05203ef9
|
|
BLAKE2b-256 checksum How to use checksums |
66274f583aecd57a60363ca35faffef29153811ca6e4804a0e7b421521f3eb88
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.12
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Jul 8, 2026.
Transparency log