  A satisfactory understanding of information processing in spiking neural
networks requires appropriate computational abstractions of neural activity.
Traditionally, the neural population state vector has been the most common
abstraction applied to spiking neural networks, but this requires artificially
partitioning time into bins that are not obviously relevant to the network
itself. We introduce a distinct set of techniques for analyzing spiking neural
networks that decomposes neural activity into multiple, disjoint, parallel
threads of activity. We construct these threads by estimating the degree of
causal relatedness between pairs of spikes, then use these estimates to
construct a directed acyclic graph that traces how the network activity evolves
through individual spikes. We find that this graph of spiking activity
naturally decomposes into disjoint connected components that overlap in space
and time, which we call Graphical Neural Activity Threads (GNATs). We provide
an efficient algorithm for finding analogous threads that reoccur in large
spiking datasets, revealing that seemingly distinct spike trains are composed
of similar underlying threads of activity, a hallmark of compositionality. The
picture of spiking neural networks provided by our GNAT analysis points to new
abstractions for spiking neural computation that are naturally adapted to the
spatiotemporally distributed dynamics of spiking neural networks.
