diff --git a/joss.05268/10.21105.joss.05268.crossref.xml b/joss.05268/10.21105.joss.05268.crossref.xml
new file mode 100644
index 0000000000..58d1d64a0d
--- /dev/null
+++ b/joss.05268/10.21105.joss.05268.crossref.xml
@@ -0,0 +1,280 @@
+
+
+
+ 20231108T122659-ac32d6f351e66edad19878f18daae2709b2762a2
+ 20231108122659
+
+ JOSS Admin
+ admin@theoj.org
+
+ The Open Journal
+
+
+
+
+ Journal of Open Source Software
+ JOSS
+ 2475-9066
+
+ 10.21105/joss
+ https://joss.theoj.org
+
+
+
+
+ 11
+ 2023
+
+
+ 8
+
+ 91
+
+
+
+ spiketools: a Python package for analyzing single-unit
+neural activity
+
+
+
+ Thomas
+ Donoghue
+ https://orcid.org/0000-0001-5911-0472
+
+
+ Sandra
+ Maesta-Pereira
+ https://orcid.org/0000-0001-6522-8311
+
+
+ Claire Zhixian
+ Han
+ https://orcid.org/0000-0001-9710-8381
+
+
+ Salman Ehtesham
+ Qasim
+ https://orcid.org/0000-0001-8739-5962
+
+
+ Joshua
+ Jacobs
+ https://orcid.org/0000-0003-1807-6882
+
+
+
+ 11
+ 08
+ 2023
+
+
+ 5268
+
+
+ 10.21105/joss.05268
+
+
+ http://creativecommons.org/licenses/by/4.0/
+ http://creativecommons.org/licenses/by/4.0/
+ http://creativecommons.org/licenses/by/4.0/
+
+
+
+ Software archive
+ 10.5281/zenodo.10076024
+
+
+ GitHub review issue
+ https://github.com/openjournals/joss-reviews/issues/5268
+
+
+
+ 10.21105/joss.05268
+ https://joss.theoj.org/papers/10.21105/joss.05268
+
+
+ https://joss.theoj.org/papers/10.21105/joss.05268.pdf
+
+
+
+
+
+ The origin of extracellular fields and
+currents - EEG, ECoG, LFP and spikes
+ Buzsáki
+ Nature Reviews Neuroscience
+ 6
+ 13
+ 10.1038/nrn3241
+ 1471-003X
+ 2012
+ Buzsáki, G., Anastassiou, C. A.,
+& Koch, C. (2012). The origin of extracellular fields and currents -
+EEG, ECoG, LFP and spikes. Nature Reviews Neuroscience, 13(6), 407–420.
+https://doi.org/10.1038/nrn3241
+
+
+ SpikeInterface, a unified framework for spike
+sorting
+ Buccino
+ eLife
+ 9
+ 10.7554/eLife.61834
+ 2050-084X
+ 2020
+ Buccino, A. P., Hurwitz, C. L.,
+Garcia, S., Magland, J., Siegle, J. H., Hurwitz, R., & Hennig, M. H.
+(2020). SpikeInterface, a unified framework for spike sorting. eLife, 9,
+e61834. https://doi.org/10.7554/eLife.61834
+
+
+ NeuroDSP: A package for neural digital signal
+processing
+ Cole
+ Journal of Open Source
+Software
+ 36
+ 4
+ 10.21105/joss.01272
+ 2475-9066
+ 2019
+ Cole, S. R., Donoghue, T., Gao, R.,
+& Voytek, B. (2019). NeuroDSP: A package for neural digital signal
+processing. Journal of Open Source Software, 4(36), 1272.
+https://doi.org/10.21105/joss.01272
+
+
+ Single neurons in the human medial temporal
+lobe flexibly shift representations across spatial and memory
+tasks
+ Donoghue
+ Hippocampus
+ 5
+ 33
+ 10.1002/hipo.23539
+ 1050-9631
+ 2023
+ Donoghue, T., Cao, R., Han, C. Z.,
+Holman, C. M., Brandmeir, N. J., Wang, S., & Jacobs, J. (2023).
+Single neurons in the human medial temporal lobe flexibly shift
+representations across spatial and memory tasks. Hippocampus, 33(5),
+600–615. https://doi.org/10.1002/hipo.23539
+
+
+ Array programming with NumPy
+ Harris
+ Nature
+ 7825
+ 585
+ 10.1038/s41586-020-2649-2
+ 0028-0836
+ 2020
+ Harris, C. R., Millman, K. J., Walt,
+S. J. van der, Gommers, R., Virtanen, P., Cournapeau, D., Wieser, E.,
+Taylor, J., Berg, S., Smith, N. J., Kern, R., Picus, M., Hoyer, S.,
+Kerkwijk, M. H. van, Brett, M., Haldane, A., Río, J. F. del, Wiebe, M.,
+Peterson, P., … Oliphant, T. E. (2020). Array programming with NumPy.
+Nature, 585(7825), 357–362.
+https://doi.org/10.1038/s41586-020-2649-2
+
+
+ Matplotlib: A 2D Graphics
+Environment
+ Hunter
+ Computing in Science &
+Engineering
+ 3
+ 9
+ 10.1109/MCSE.2007.55
+ 1521-9615
+ 2007
+ Hunter, J. D. (2007). Matplotlib: A
+2D Graphics Environment. Computing in Science & Engineering, 9(3),
+90–95. https://doi.org/10.1109/MCSE.2007.55
+
+
+ Data Structures for Statistical Computing in
+Python
+ McKinney
+ Proceedings of the 9th Python in Science
+Conference
+ 10.25080/Majora-92bf1922-00a
+ 2010
+ McKinney, W. (2010). Data Structures
+for Statistical Computing in Python. Proceedings of the 9th Python in
+Science Conference.
+https://doi.org/10.25080/Majora-92bf1922-00a
+
+
+ Neo: An object model for handling
+electrophysiology data in multiple formats
+ Garcia
+ Frontiers in Neuroinformatics
+ 8
+ 10.3389/fninf.2014.00010
+ 1662-5196
+ 2014
+ Garcia, S., Guarino, D., Jaillet, F.,
+Jennings, T., Pröpper, R., Rautenberg, P. L., Rodgers, C. C., Sobolev,
+A., Wachtler, T., Yger, P., & Davison, A. P. (2014). Neo: An object
+model for handling electrophysiology data in multiple formats. Frontiers
+in Neuroinformatics, 8.
+https://doi.org/10.3389/fninf.2014.00010
+
+
+ Past, present and future of spike sorting
+techniques
+ Rey
+ Brain Research Bulletin
+ 119
+ 10.1016/j.brainresbull.2015.04.007
+ 2015
+ Rey, H. G., Pedreira, C., & Quian
+Quiroga, R. (2015). Past, present and future of spike sorting
+techniques. Brain Research Bulletin, 119, 106–117.
+https://doi.org/10.1016/j.brainresbull.2015.04.007
+
+
+ Statsmodels: Econometric and Statistical
+Modeling with Python
+ Seabold
+ 10.25080/Majora-92bf1922-011
+ 2010
+ Seabold, S., & Perktold, J.
+(2010). Statsmodels: Econometric and Statistical Modeling with Python.
+92–96.
+https://doi.org/10.25080/Majora-92bf1922-011
+
+
+ SciPy 1.0: Fundamental algorithms for
+scientific computing in Python
+ Virtanen
+ Nature Methods
+ 3
+ 17
+ 10.1038/s41592-019-0686-2
+ 1548-7091
+ 2020
+ Virtanen, P., Gommers, R., Oliphant,
+T. E., Haberland, M., Reddy, T., Cournapeau, D., Burovski, E., Peterson,
+P., Weckesser, W., Bright, J., Walt, S. J. van der, Brett, M., Wilson,
+J., Millman, K. J., Mayorov, N., Nelson, A. R. J., Jones, E., Kern, R.,
+Larson, E., … Contributors, S. 1.0. (2020). SciPy 1.0: Fundamental
+algorithms for scientific computing in Python. Nature Methods, 17(3),
+261–272.
+https://doi.org/10.1038/s41592-019-0686-2
+
+
+
+
+
+
diff --git a/joss.05268/10.21105.joss.05268.jats b/joss.05268/10.21105.joss.05268.jats
new file mode 100644
index 0000000000..38cc296fce
--- /dev/null
+++ b/joss.05268/10.21105.joss.05268.jats
@@ -0,0 +1,538 @@
+
+
+
+
+
+
+
+Journal of Open Source Software
+JOSS
+
+2475-9066
+
+Open Journals
+
+
+
+5268
+10.21105/joss.05268
+
+spiketools: a Python package for analyzing single-unit
+neural activity
+
+
+
+https://orcid.org/0000-0001-5911-0472
+
+Donoghue
+Thomas
+
+
+
+
+https://orcid.org/0000-0001-6522-8311
+
+Maesta-Pereira
+Sandra
+
+
+
+
+https://orcid.org/0000-0001-9710-8381
+
+Han
+Claire Zhixian
+
+
+
+
+https://orcid.org/0000-0001-8739-5962
+
+Qasim
+Salman Ehtesham
+
+
+
+
+https://orcid.org/0000-0003-1807-6882
+
+Jacobs
+Joshua
+
+
+
+
+
+
+Department of Biomedical Engineering, Columbia
+University
+
+
+
+
+Department of Psychiatry. Icahn School of Medicine at Mount
+Sinai
+
+
+
+
+Department of Neurological Surgery, Columbia
+University
+
+
+
+8
+91
+5268
+
+Authors of papers retain copyright and release the
+work under a Creative Commons Attribution 4.0 International License (CC
+BY 4.0)
+2022
+The article authors
+
+Authors of papers retain copyright and release the work under
+a Creative Commons Attribution 4.0 International License (CC BY
+4.0)
+
+
+
+Python
+neuroscience
+electrophysiology
+single unit activity
+
+
+
+
+
+ Summary
+
A common method of collecting and analyzing neural activity is to
+ implant electrodes that record the electrical activity of the brain,
+ from which action potentials of individual neurons can be recorded
+ (Buzsáki
+ et al., 2012). After pre-processing to detect spike waveforms
+ and cluster them into groups representing putative single neurons
+ (Rey
+ et al., 2015), this data can be used to investigate how neurons
+ in the brain encode and process information. Analyzing single-unit
+ activity requires dedicated analysis approaches, including
+ representing spiking activity as spike times and/or binary spike
+ trains, and analysis tools that allow for associating this activity to
+ features of interest, for example the position of the subject in space
+ or the properties of presented visual stimuli. To assist in this
+ process, spiketools is a package designed to be
+ used by neuroscientists for analyzing spiking activity.
+
spiketools is written in the Python
+ programming language, built on existing tools in the scientific Python
+ ecosystem, and developed using best-practice procedures. The module is
+ accompanied by a
+ documentation
+ site that includes detailed
+ tutorials
+ for each of the modules, which are described below, as well as
+ suggested workflows for combining them.
+
Modules in spiketools include:
+
+
+
measures : measures and conversions that can be applied to
+ spiking data
+
+
+
objects : objects that can be used for managing 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 spiking data and
+ related measures
+
+
+
utils : additional utilities for working with spiking data
+
+
+
spiketools has the following required
+ dependencies:
+
+
+
numpy : used for managing and computing with arrays
+ (Harris
+ et al., 2020)
+
+
+
scipy : used for some existing algorithms
+ (Virtanen
+ et al., 2020)
+
+
+
pandas : used for managing heterogeneous data
+ (McKinney,
+ 2010)
+
+
+
matplotlib : used for plotting
+ (Hunter,
+ 2007)
+
+
+
spiketools also has some optional
+ dependencies that offer extra functionality:
+
+
+
statsmodels : used for additional statistical measures
+ (Seabold
+ & Perktold, 2010)
+
+
+
+
+ Statement of Need
+
spiketools is an open-source Python package
+ for analyzing spiking neural data. Spiking neural activity is an
+ idiosyncratic data stream with specific properties that requires
+ specialized analysis tools including dedicated algorithms and
+ statistical tools. Despite the popularity of this kind of data, there
+ is currently a lack of openly available and maintained tools for this
+ kind of data, especially within the Python ecosystem.
+ spiketools therefore fills a niche, leveraging
+ the power of the scientific Python ecosystem, while providing
+ dedicated implementations for the specific requirements of spiking
+ data.
+
Benefits of spiketools include that it
+ follows modular organization, includes a test suite, follows a release
+ cycle with versioned updates, and includes documentation and
+ tutorials. spiketools is designed with a
+ lightweight architecture in which functions take in arrays of spike
+ times or spike trains, thus offering a flexible toolbox for custom
+ analyses of spiking data. This approach also makes the tool flexible
+ such that it can be integrated into existing codebases and workflows
+ that use other tools. As part of the open-source Python ecosystem,
+ spiketools also allows for sharing open-code that others can see and
+ re-use. For example, spiketools has been
+ demonstrated in an empirical project analyzing single-unit activity
+ collected from human neuro-surgical patients, with openly available
+ code showing all the analyses
+ (Donoghue
+ et al., 2023).
+
spiketools also offers a module for
+ simulations, offering several methods for simulating spiking activity
+ with specified parameters. Note that these simulations are designed to
+ mimic the statistics of single unit spiking activity, but are not
+ designed to replicate or reflect biophysical properties of neurons,
+ and therefore should not be over-interpreted as biophysically
+ realistic. Nevertheless, this simulation system allows for method
+ testing, as new methods and implementations can be tested against
+ synthetic data for which ground truth parameters are known.
+
+
+ Related Projects
+
spiketools complements related tools that
+ support other functionality in the ecosystem, including
+ neo
+ (Garcia
+ et al., 2014), which supports loading and working with
+ electrophysiological data, and spike interface
+ (Buccino
+ et al., 2020), which implements and supports spike-sorting
+ related functionality. spiketools is designed
+ with a lightweight architecture - whereby it manages data in common
+ data types such as numpy arrays, without requiring any specific or
+ idiosyncratic data formats. As such, this allows for integration with
+ other related tools, for example, it could be used in combination with
+ NeuroDSP
+ (Cole
+ et al., 2019), which provides functionality for analyzing
+ neural time series, in order to examine relationships between spiking
+ activity and the local field potential.
+
+
+ Conclusion
+
The spiketools Python package offers
+ functionality for analyzing single-unit activity that can be collected
+ from human subjects and/or animal models, contributing to the
+ ecosystem of scientific tools for analyzing neuroscience data.
+
+
+ Acknowledgments
+
We would like to thank the Jacobs Lab for useful discussions
+ throughout the development of this toolbox. This work was supported by
+ National Institute of Health (NIH) grants U01-NS121472 and
+ 2R01-MH104606, as well as funding from the National Science Foundation
+ (NSF).
+
+
+
+
+
+
+
+ BuzsákiGyörgy
+ AnastassiouCostas A.
+ KochChristof
+
+ The origin of extracellular fields and currents - EEG, ECoG, LFP and spikes
+
+ 2012
+ 13
+ 6
+ 1471-003X
+ http://www.nature.com/doifinder/10.1038/nrn3241
+ 10.1038/nrn3241
+ 407
+ 420
+
+
+
+
+
+ BuccinoAlessio P
+ HurwitzCole L
+ GarciaSamuel
+ MaglandJeremy
+ SiegleJoshua H
+ HurwitzRoger
+ HennigMatthias H
+
+ SpikeInterface, a unified framework for spike sorting
+
+ 2020
+ 9
+ 2050-084X
+ https://elifesciences.org/articles/61834
+ 10.7554/eLife.61834
+ e61834
+
+
+
+
+
+
+ ColeScott R.
+ DonoghueThomas
+ GaoRichard
+ VoytekBradley
+
+ NeuroDSP: A package for neural digital signal processing
+
+ 2019
+ 4
+ 36
+ 2475-9066
+ http://joss.theoj.org/papers/10.21105/joss.01272
+ 10.21105/joss.01272
+ 1272
+
+
+
+
+
+
+ DonoghueThomas
+ CaoRunnan
+ HanClaire Z.
+ HolmanCameron Monteith
+ BrandmeirNicholas J.
+ WangShuo
+ JacobsJoshua
+
+ Single neurons in the human medial temporal lobe flexibly shift representations across spatial and memory tasks
+
+ 2023
+ 33
+ 5
+ 1050-9631
+ https://onlinelibrary.wiley.com/doi/10.1002/hipo.23539
+ 10.1002/hipo.23539
+ 600
+ 615
+
+
+
+
+
+ HarrisCharles R.
+ MillmanK. Jarrod
+ WaltStéfan J. van der
+ GommersRalf
+ VirtanenPauli
+ CournapeauDavid
+ WieserEric
+ TaylorJulian
+ BergSebastian
+ SmithNathaniel J.
+ KernRobert
+ PicusMatti
+ HoyerStephan
+ KerkwijkMarten H. van
+ BrettMatthew
+ HaldaneAllan
+ RíoJaime Fernández del
+ WiebeMark
+ PetersonPearu
+ Gérard-MarchantPierre
+ SheppardKevin
+ ReddyTyler
+ WeckesserWarren
+ AbbasiHameer
+ GohlkeChristoph
+ OliphantTravis E.
+
+ Array programming with NumPy
+
+ 2020
+ 585
+ 7825
+ 0028-0836
+ https://www.nature.com/articles/s41586-020-2649-2
+ 10.1038/s41586-020-2649-2
+ 357
+ 362
+
+
+
+
+
+ HunterJohn D.
+
+ Matplotlib: A 2D Graphics Environment
+
+ 2007
+ 9
+ 3
+ 1521-9615
+ http://ieeexplore.ieee.org/document/4160265/
+ 10.1109/MCSE.2007.55
+ 90
+ 95
+
+
+
+
+
+ McKinneyWes
+
+ Data Structures for Statistical Computing in Python
+
+ 2010
+ 10.25080/Majora-92bf1922-00a
+
+
+
+
+
+ GarciaSamuel
+ GuarinoDomenico
+ JailletFlorent
+ JenningsTodd
+ PröpperRobert
+ RautenbergPhilipp L.
+ RodgersChris C.
+ SobolevAndrey
+ WachtlerThomas
+ YgerPierre
+ DavisonAndrew P.
+
+ Neo: An object model for handling electrophysiology data in multiple formats
+
+ 2014
+ 8
+ 1662-5196
+ http://journal.frontiersin.org/article/10.3389/fninf.2014.00010/abstract
+ 10.3389/fninf.2014.00010
+
+
+
+
+
+ ReyHernan Gonzalo
+ PedreiraCarlos
+ Quian QuirogaRodrigo
+
+ Past, present and future of spike sorting techniques
+
+ 2015
+ 119
+ https://linkinghub.elsevier.com/retrieve/pii/S0361923015000684
+ 10.1016/j.brainresbull.2015.04.007
+ 106
+ 117
+
+
+
+
+
+ SeaboldSkipper
+ PerktoldJosef
+
+ Statsmodels: Econometric and Statistical Modeling with Python
+ 2010
+ https://conference.scipy.org/proceedings/scipy2010/seabold.html
+ 10.25080/Majora-92bf1922-011
+ 92
+ 96
+
+
+
+
+
+ VirtanenPauli
+ GommersRalf
+ OliphantTravis E.
+ HaberlandMatt
+ ReddyTyler
+ CournapeauDavid
+ BurovskiEvgeni
+ PetersonPearu
+ WeckesserWarren
+ BrightJonathan
+ WaltStéfan J. van der
+ BrettMatthew
+ WilsonJoshua
+ MillmanK. Jarrod
+ MayorovNikolay
+ NelsonAndrew R. J.
+ JonesEric
+ KernRobert
+ LarsonEric
+ CareyC J
+ Polatİlhan
+ FengYu
+ MooreEric W.
+ VanderPlasJake
+ LaxaldeDenis
+ PerktoldJosef
+ CimrmanRobert
+ HenriksenIan
+ QuinteroE. A.
+ HarrisCharles R.
+ ArchibaldAnne M.
+ RibeiroAntônio H.
+ PedregosaFabian
+ MulbregtPaul van
+ ContributorsScipy 1.0
+
+ SciPy 1.0: Fundamental algorithms for scientific computing in Python
+
+ 2020
+ 17
+ 3
+ 1548-7091
+ http://www.nature.com/articles/s41592-019-0686-2
+ 10.1038/s41592-019-0686-2
+ 261
+ 272
+
+
+
+
+
diff --git a/joss.05268/10.21105.joss.05268.pdf b/joss.05268/10.21105.joss.05268.pdf
new file mode 100644
index 0000000000..c70e78ce74
Binary files /dev/null and b/joss.05268/10.21105.joss.05268.pdf differ