replay-trajectory-classification

State space models for decoding hippocampal trajectories and determining their type using sorted or clusterless data

https://github.com/eden-kramer-lab/replay_trajectory_classification

Science Score: 77.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
    Found CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
    Found 10 DOI reference(s) in README
  • Academic publication links
    Links to: zenodo.org
  • Committers with academic emails
    1 of 3 committers (33.3%) from academic institutions
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (12.5%) to scientific vocabulary

Keywords

clusterless hippocampus python replay sorted-spikes state-space-model
Last synced: 6 months ago · JSON representation ·

Repository

State space models for decoding hippocampal trajectories and determining their type using sorted or clusterless data

Basic Info
  • Host: GitHub
  • Owner: Eden-Kramer-Lab
  • License: mit
  • Language: Jupyter Notebook
  • Default Branch: master
  • Homepage:
  • Size: 90.5 MB
Statistics
  • Stars: 49
  • Watchers: 3
  • Forks: 18
  • Open Issues: 13
  • Releases: 28
Topics
clusterless hippocampus python replay sorted-spikes state-space-model
Created almost 7 years ago · Last pushed over 1 year ago
Metadata Files
Readme License Citation

README.md

replaytrajectoryclassification

DOI PyPI version Binder PR Test

Installation | Documentation | Tutorials | References | Developer Installation

What is replaytrajectoryclassification?

replay_trajectory_classification is a python package for decoding spatial position represented by neural activity and categorizing the type of trajectory.

Advantages over other algorithms

It has several advantages over decoders typically used to characterize hippocampal data:

  1. It allows for moment-by-moment estimation of position using small temporal time bins which allow for rapid movement of neural position and makes fewer assumptions about what downstream cells can integrate.
  2. The decoded trajectories can change direction and are not restricted to constant velocity trajectories.
  3. The decoder can use spikes from spike-sorted cells or use clusterless spikes and their associated waveform features to decode .
  4. The decoder can categorize the type of neural trajectory and give an estimate of the confidence of the model in the type of trajectory.
  5. Proper handling of complex 1D linearized environments
  6. Ability to extract and decode 2D environments
  7. Easily installable, documented code with tutorials on how to use the code (see below)
  8. Fast computation using GPUs. (Note: must install cupy to use)

References

For further details, please see our eLife paper:

Denovellis, E.L., Gillespie, A.K., Coulter, M.E., Sosa, M., Chung, J.E., Eden, U.T., and Frank, L.M. (2021). Hippocampal replay of experience at real-world speeds. ELife 10, e64505.

or our conference paper:

Denovellis, E.L., Frank, L.M., and Eden, U.T. (2019). Characterizing hippocampal replay using hybrid point process state space models. In 2019 53rd Asilomar Conference on Signals, Systems, and Computers, (Pacific Grove, CA, USA: IEEE), pp. 245–249.

Also see other work using this code:

Gillespie, A.K., Astudillo Maya, D.A., Denovellis, E.L., Liu, D.F., Kastner, D.B., Coulter, M.E., Roumis, D.K., Eden, U.T., and Frank, L.M. (2021). Hippocampal replay reflects specific past experiences rather than a plan for subsequent choice. Neuron S0896627321005730. https://doi.org/10.1016/j.neuron.2021.07.029.

Joshi, A., Denovellis, E.L., Mankili, A., Meneksedag, Y., Davidson, T., Gillespie, K., Guidera, J.A., Roumis, D., and Frank, L.M. (2022). Dynamic Synchronization between Hippocampal Spatial Representations and the Stepping Rhythm. bioRxiv, 30. https://doi.org/10.1101/2022.02.23.481357.

Gillespie, A.K., Astudillo Maya, D.A., Denovellis, E.L., Desse, S., and Frank, L.M. (2022). Neurofeedback training can modulate task-relevant memory replay in rats. bioRxiv, 2022.10.13.512183. https://doi.org/10.1101/2022.10.13.512183.

Installation

replay_trajectory_classification can be installed through pypi or conda. Conda is the best way to ensure that all the dependencies are installed properly.

bash pip install replay_trajectory_classification

Or

bash conda install -c edeno replay_trajectory_classification

Documentation

Documentation can be found here: https://replay-trajectory-classification.readthedocs.io/en/latest/

Tutorials

There are five jupyter notebooks introducing the package:

  1. 01-IntroductionandData_Format: How to get your data in the correct format to use with the decoder.
  2. 02-DecodingwithSorted_Spikes: How to decode using a single movement model using sorted spikes.
  3. 03-DecodingwithClusterless_Spikes: How to decode using a single movement model using the "clusterless" approach --- which does not require spike sorting.
  4. 04-ClassifyingwithSorted_Spikes: Using multiple movement models to classify the movement dynamics and decode the trajectory using sorted spikes.
  5. 05-ClassifyingwithClusterless_Spikes: Using multiple movement models to classify the movement dynamics and decode the trajectory using clusterless spikes.

Developer Installation

For people who want to expand upon the code for their own use:

  1. Install miniconda (or anaconda) if it isn't already installed. Type into bash (or install from the anaconda website):

bash wget https://repo.continuum.io/miniconda/Miniconda3-latest-Linux-x86_64.sh -O miniconda.sh; bash miniconda.sh -b -p $HOME/miniconda export PATH="$HOME/miniconda/bin:$PATH" hash -r

  1. Go to the local repository on your computer (cd replay_trajectory_classification) and install the anaconda environment for the repository. Type into bash:

bash conda update -n base conda # make sure conda is up to date conda env create -f environment.yml # create a conda environment conda activate replay_trajectory_classification # activate conda environment python setup.py develop

Owner

  • Name: Eden-Kramer Lab
  • Login: Eden-Kramer-Lab
  • Kind: organization
  • Email: tzvi@bu.edu

Tools for analysis of neural data

Citation (CITATION.cff)

# YAML 1.2
# Metadata for citation of this software according to the CFF format (https://citation-file-format.github.io/)
cff-version: 1.0.3
message: If you use this software, please cite it using these metadata.
# FIXME title as repository name might not be the best name, please make human readable
title: 'Eden-Kramer-Lab/replay_trajectory_classification: 0.9.1.dev0'
doi: 10.5281/zenodo.5048350
# FIXME splitting of full names is error prone, please check if given/family name are correct
authors:
- given-names: Eric
  family-names: Denovellis
  affiliation: UCSF
version: 0.9.1.dev0
date-released: 2021-06-30
repository-code: https://github.com/Eden-Kramer-Lab/replay_trajectory_classification
license: other-open

GitHub Events

Total
  • Watch event: 6
  • Issue comment event: 2
  • Fork event: 4
Last Year
  • Watch event: 6
  • Issue comment event: 2
  • Fork event: 4

Committers

Last synced: almost 3 years ago

All Time
  • Total Commits: 861
  • Total Committers: 3
  • Avg Commits per committer: 287.0
  • Development Distribution Score (DDS): 0.106
Top Committers
Name Email Commits
Eric Denovellis e****o@b****u 770
Eric Denovellis e****s@g****m 75
Eric Denovellis e****o@u****m 16
Committer Domains (Top 20 + Academic)
bu.edu: 1

Issues and Pull Requests

Last synced: 6 months ago

All Time
  • Total issues: 34
  • Total pull requests: 1
  • Average time to close issues: 9 months
  • Average time to close pull requests: 1 day
  • Total issue authors: 9
  • Total pull request authors: 1
  • Average comments per issue: 1.21
  • Average comments per pull request: 0.0
  • Merged pull requests: 1
  • Bot issues: 0
  • Bot pull requests: 0
Past Year
  • Issues: 2
  • Pull requests: 1
  • Average time to close issues: 1 day
  • Average time to close pull requests: 1 day
  • Issue authors: 2
  • Pull request authors: 1
  • Average comments per issue: 2.5
  • Average comments per pull request: 0.0
  • Merged pull requests: 1
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
  • edeno (22)
  • samdeoxys1 (3)
  • Selmaan (2)
  • AngCamp (1)
  • khl02007 (1)
  • blakeporterneuro (1)
  • yuvalwas (1)
  • shijiegu (1)
  • GoNeuro (1)
  • ncguilbeault (1)
Pull Request Authors
  • ncguilbeault (2)
Top Labels
Issue Labels
enhancement (14) bug (2)
Pull Request Labels

Packages

  • Total packages: 1
  • Total downloads:
    • pypi 378 last-month
  • Total dependent packages: 2
  • Total dependent repositories: 1
  • Total versions: 125
  • Total maintainers: 1
pypi.org: replay-trajectory-classification

Classify replay trajectories.

  • Versions: 125
  • Dependent Packages: 2
  • Dependent Repositories: 1
  • Downloads: 378 Last month
Rankings
Dependent packages count: 3.1%
Downloads: 8.2%
Stargazers count: 10.7%
Forks count: 10.9%
Average: 10.9%
Dependent repos count: 21.7%
Maintainers (1)
Last synced: 6 months ago

Dependencies

environment.yml conda
  • dask
  • flake8
  • joblib
  • jupyter
  • jupyterlab
  • loren_frank_data_processing
  • nb_conda
  • numba
  • numpy
  • pandas
  • pip
  • regularized_glm
  • ripple_detection
  • scikit-image
  • scikit-learn
  • scipy
  • seaborn
  • setuptools
  • tqdm
  • track_linearization
  • xarray
.github/workflows/PR-test.yml actions
  • actions/checkout v2 composite
  • actions/setup-python v2 composite
  • conda-incubator/setup-miniconda v2 composite
  • styfle/cancel-workflow-action 0.6.0 composite
docs/requirements-docs.txt pypi
  • dask *
  • ipykernel *
  • ipython *
  • jupyter *
  • jupytext *
  • matplotlib *
  • myst_nb *
  • myst_parser *
  • nbsphinx *
  • numpy *
  • numpydoc ==1.1.0
  • pydata-sphinx-theme *
  • replay_trajectory_classification *
  • sphinx *
  • sphinx-autobuild *
  • sphinx-autodoc-typehints *
  • sphinx-copybutton *
  • sphinx-design *
  • sphinx-examples *