Installation | Documentation | Tutorials | References | Developer Installation
replay_trajectory_classification
is a python package for decoding spatial position represented by neural activity and categorizing the type of trajectory.
It has several advantages over decoders typically used to characterize hippocampal data:
- 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.
- The decoded trajectories can change direction and are not restricted to constant velocity trajectories.
- The decoder can use spikes from spike-sorted cells or use clusterless spikes and their associated waveform features to decode .
- The decoder can categorize the type of neural trajectory and give an estimate of the confidence of the model in the type of trajectory.
- Proper handling of complex 1D linearized environments
- Ability to extract and decode 2D environments
- Easily installable, documented code with tutorials on how to use the code (see below)
- Fast computation using GPUs. (Note: must install
cupy
to use)
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.
replay_trajectory_classification
can be installed through pypi or conda. Conda is the best way to ensure that all the dependencies are installed properly.
pip install replay_trajectory_classification
Or
conda install -c edeno replay_trajectory_classification
Documentation can be found here: https://replay-trajectory-classification.readthedocs.io/en/latest/
There are five jupyter notebooks introducing the package:
- 01-Introduction_and_Data_Format: How to get your data in the correct format to use with the decoder.
- 02-Decoding_with_Sorted_Spikes: How to decode using a single movement model using sorted spikes.
- 03-Decoding_with_Clusterless_Spikes: How to decode using a single movement model using the "clusterless" approach --- which does not require spike sorting.
- 04-Classifying_with_Sorted_Spikes: Using multiple movement models to classify the movement dynamics and decode the trajectory using sorted spikes.
- 05-Classifying_with_Clusterless_Spikes: Using multiple movement models to classify the movement dynamics and decode the trajectory using clusterless spikes.
For people who want to expand upon the code for their own use:
- Install miniconda (or anaconda) if it isn't already installed. Type into bash (or install from the anaconda website):
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
- Go to the local repository on your computer (
cd replay_trajectory_classification
) and install the anaconda environment for the repository. Type into 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