spiketools

ProjectStatus Version BuildStatus Coverage License PythonVersions Publication

spiketools is a collection of tools and utilities for analyzing spiking data.

Overview

spiketools is an open-source module for processing and analyzing single-unit activity from neuro-electrophysiological recordings.

Available sub-modules in spiketools include:

  • measures : measures and conversions that can be applied to spiking data

  • objects : objects that can be used to manage spiking data

  • spatial : space related functionality and measures

  • stats : statistical measures for analyzing spiking data

  • sim : simulations of spiking activity and related functionality

  • plts : plotting functions for visualizing spike data and related measures

  • utils : additional utilities for working with spiking data

Scope

spiketools is currently organized around analyses of single cell activity.

The current scope does not include population measures, though this may be extended in the future.

Note that spiketools does not cover spike sorting. Check out spikeinterface for spike sorting.

Documentation

Documentation for spiketools is available here.

The documentation includes:

  • Tutorials: which describe and provide examples for each sub-module

  • API List: which lists and describes everything available in the module

  • Glossary: which defines key terms used in the module

If you have a question about using spiketools that doesn’t seem to be covered by the documentation, feel free to open an issue and ask!

Dependencies

spiketools is written in Python, and requires Python >= 3.6 to run.

It has the following required dependencies:

There are also optional dependencies, that offer extra functionality:

  • statsmodels is needed for some statistical measures, for example ANOVAs

  • pytest is needed to run the test suite locally

We recommend using the Anaconda distribution to manage these requirements.

Installation

The current release version of spiketools is the 0.X.X series.

See the changelog for notes on major version releases.

Stable Release Version

To install the latest stable release, you can use pip:

$ pip install spiketools

Optionally, to include dependencies required for the stats module:

$ pip install spiketools[stats]

Development Version

To get the current development version, first clone this repository:

$ git clone https://github.com/spiketools/spiketools

To install this cloned copy, move into the directory you just cloned, and run:

$ pip install .

Editable Version

To install an editable version, download the development version as above, and run:

$ pip install -e .

Reference

If you use this code in your project, please cite:

Donoghue, T., Maesta-Pereira, S., Han C. Z., Qasim, S. E., & Jacobs, J. (2023)
spiketools: A Python package for analyzing single-unit neural activity.
Journal of Open Source Software, 8(91), 5268. DOI: 10.21105/joss.05268

Direct Link: https://doi.org/10.21105/joss.05268

For citation information, see also the citation file.

Contribute

This project welcomes and encourages contributions from the community!

To file bug reports and/or ask questions about this project, please use the Github issue tracker.

To see and get involved in discussions about the module, check out:

  • the issues board for topics relating to code updates, bugs, and fixes

  • the development page for discussion of potential major updates to the module

When interacting with this project, please use the contribution guidelines and follow the code of conduct.