{ "cells": [ { "cell_type": "markdown", "id": "503cb687", "metadata": {}, "source": [ "# Hands-on session 3: Elephant (Solution)\n", "\n", "These exercises build on concepts introduced in Tutorial 3\n", "\n", "In this exercise, we will use the SPADE method of Elephant to find recurring patterns in the spike data of trial 1.\n", "\n", "\n", "## Imports and Preparation" ] }, { "cell_type": "code", "execution_count": 1, "id": "2fc1d993", "metadata": { "pycharm": { "name": "#%%\n" } }, "outputs": [], "source": [ "import quantities as pq\n", "import neo.utils\n", "import elephant\n", "import viziphant" ] }, { "cell_type": "markdown", "id": "fb0d97b0", "metadata": { "pycharm": { "name": "#%% md\n" } }, "source": [ "On Linux you can download the compiled nix file via the command below. On other systems, please download the file manually from here and save it in the same folder as this notebook." ] }, { "cell_type": "code", "execution_count": 2, "id": "619675c9", "metadata": { "pycharm": { "name": "#%%\n" } }, "outputs": [], "source": [ "!wget -O i140703-001.nix https://gin.g-node.org/sprenger/multielectrode_grasp/raw/dataset_nix/datasets_nix/i140703-001_cut_74sec.nix" ] }, { "cell_type": "markdown", "id": "4d1cd9a4", "metadata": {}, "source": [ "## Data preparation\n", "\n", "\n", "1. Load the data `i140703-001.nix` file using the `neo.io.NixIO` into a neo Block." ] }, { "cell_type": "code", "execution_count": 3, "id": "d2e41fc5", "metadata": {}, "outputs": [], "source": [ "with neo.io.NixIO('i140703-001.nix', 'ro') as io:\n", " block = io.read_block()\n", "segment = block.segments[0]" ] }, { "cell_type": "markdown", "id": "049f38c0", "metadata": {}, "source": [ "2. In close analogy to the beginning of tutorial 3, prepare a Neo `Block`, containing one `Segment` of SGHF data of the first correct trial. Name this `Segement` by the variable `trial`, as in tutorial 3. In contrast to the lecture, we will cut data from the trial start `TS-ON` to reward administration indicated by event `RW-ON`. To this end, first find also the `RW-ON` events similar to how we found `TS-ON` in tutorial 3. Then, in the call to `neo.utils.add_epoch()`, supply these as a second event `event2=` *instead* of giving `t_pre=0` and `t_post=2*pq.s`. This will cut from event 1 to event 2, instead of a fixed amount of 2 s around event 1 (as in tutorial 3)." ] }, { "cell_type": "code", "execution_count": 4, "id": "55270d93", "metadata": { "pycharm": { "name": "#%%\n" } }, "outputs": [], "source": [ "start_events = neo.utils.get_events(\n", " segment,\n", " trial_event_labels='TS-ON',\n", " belongs_to_trialtype='SGHF',\n", " performance_in_trial_str='correct_trial')\n", "\n", "## Additinally, get RW-ON events\n", "stop_events = neo.utils.get_events(\n", " segment,\n", " trial_event_labels='RW-ON',\n", " belongs_to_trialtype='SGHF',\n", " performance_in_trial_str='correct_trial')" ] }, { "cell_type": "code", "execution_count": 5, "id": "3b971d2a", "metadata": { "pycharm": { "name": "#%%\n" } }, "outputs": [], "source": [ "# Create epochs between the events\n", "trial_epochs = neo.utils.add_epoch(\n", " segment,\n", " event1=start_events[0], # The function returns a list, we need to retrieve the object which is the first (digital port events)\n", " event2=stop_events[0],\n", " array_annotations=start_events[0].array_annotations)" ] }, { "cell_type": "code", "execution_count": 6, "id": "a02616b3", "metadata": { "pycharm": { "name": "#%%\n" } }, "outputs": [], "source": [ "# Create the new block\n", "trials = neo.Block()\n", "\n", "# Cut the recording segment into the trials, as defined by the epochs\n", "trials.segments = neo.utils.cut_segment_by_epoch(segment, trial_epochs, reset_time=True)" ] }, { "cell_type": "code", "execution_count": 7, "id": "a115b315", "metadata": { "pycharm": { "name": "#%%\n" } }, "outputs": [], "source": [ "# Select first segment as the trial for analysis\n", "trial = trials.segments[0]" ] }, { "cell_type": "markdown", "id": "7564a093", "metadata": {}, "source": [ "## SPADE analysis\n", "\n", "Note that patterns in this data are not easily to spot by eye in the rasterplot we developed in tutorial 3.\n", "We use SPADE as a technique that does that for us by finding all patterns and checking for each pattern if it\n", "occurs more often than expected given its complexity (number of neurons participating) and frequency.\n", "Before going directly to the analysis we briefly explain SPADE's most important parameters:\n", "\n", "- `binsize`: temporal precision of the method. The smaller the binsize is, the more precisely we expect each single pattern to repeat. This raises an important question: which is the temporal precision that are you interested in? It depends on the scientific question! We often use 5ms, based on a number of studies on the minimal neuronal temporal precision.\n", "- `winlen`: window length, or maximal length allowed to each pattern, expressed in bin units. SPADE will detect patterns with a temporal duration up to the window length. If winlen=1, then only synchronous patterns are detected. Are you interested in synchronous higher-order correlations? Are you interested in patterns with delays? Note: the higher the winlen parameter is, the more expensive (memory and time) the pattern search is!\n", "- `min_spikes` and `min_neu`: minimum number of spikes and minimum number of neurons allowed in a pattern. These parameters are important, too. Do you want to look for pattern with a particular size? Are you interested in patterns with multiple spikes coming from the same neuron?\n", "- `n_surr`: number of surrogates used for the statistical testing. If the number of surrogates is set to zero, then all patterns are retrieved by SPADE without further testing. If, instead, the number of surrogates is different from zero (typically we suggest to use a large number - the more the better!) then only the significant patterns are retrieved from the analysis. For simplicity, we will set this parameter to `n_surr=0` in the following.\n", "\n", "Next steps:\n", "3. As in tutorial 3, select only good quality neurons using the annotations (i.e., SUA units, more than 10000 spikes,...)" ] }, { "cell_type": "code", "execution_count": 8, "id": "4d7cad57", "metadata": { "pycharm": { "name": "#%%\n" } }, "outputs": [], "source": [ "# Select only SUA spike trains with spikes and certain quality criteria\n", "spiketrains = [spiketrain for spiketrain in trial.spiketrains if\n", " spiketrain.annotations['sua'] and\n", " not spiketrain.annotations['electrode_reject_HFC'] and\n", " not spiketrain.annotations['electrode_reject_IFC'] and\n", " not spiketrain.annotations['electrode_reject_LFC'] and\n", " not spiketrain.annotations['noise'] and\n", " spiketrain.annotations['spike_count'] > 10000]" ] }, { "cell_type": "markdown", "id": "10d32abe", "metadata": { "pycharm": { "name": "#%% md\n" } }, "source": [ "4. Run the SPADE analysis by executing the code given below:" ] }, { "cell_type": "code", "execution_count": 9, "id": "23263b16", "metadata": { "pycharm": { "name": "#%%\n" } }, "outputs": [], "source": [ "# Fix parameters for SPADE\n", "binsize = 5 * pq.ms\n", "winlen = 1\n", "min_spikes = 2\n", "n_surr = 0\n", "min_neu = 2\n", "min_occ = 2" ] }, { "cell_type": "code", "execution_count": 10, "id": "23f7d6b4", "metadata": { "pycharm": { "name": "#%%\n" } }, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "/home/denker/miniconda3/envs/2021_nix_workshop/lib/python3.8/site-packages/elephant/conversion.py:1168: UserWarning: Binning discarded 2 last spike(s) of the input spiketrain\n", " warnings.warn(\"Binning discarded {} last spike(s) of the \"\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "Time for data mining: 0.1820077896118164\n" ] } ], "source": [ "result = elephant.spade.spade(\n", " spiketrains=spiketrains, binsize=binsize, winlen=winlen,\n", " min_spikes=min_spikes, n_surr=n_surr, min_neu=min_neu, min_occ=min_occ)\n", "patterns = result['patterns']" ] }, { "cell_type": "markdown", "id": "1c3d05a6", "metadata": {}, "source": [ "6. Let's look at the output in `patterns`. How many patterns were found? How does one pattern look as an output?" ] }, { "cell_type": "code", "execution_count": 11, "id": "994e3df5", "metadata": { "pycharm": { "name": "#%%\n" } }, "outputs": [ { "data": { "text/plain": [ "(5346,\n", " {'itemset': (22, 50),\n", " 'windows_ids': (127, 192),\n", " 'neurons': [22, 50],\n", " 'lags': array([0.]) * ms,\n", " 'times': array([635., 960.]) * ms,\n", " 'signature': (2, 2),\n", " 'pvalue': -1})" ] }, "execution_count": 11, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Print the length of the list of patterns found, and the first pattern as an example\n", "len(patterns), patterns[0]" ] }, { "cell_type": "markdown", "id": "11523576", "metadata": {}, "source": [ "7. Display five detected patterns in the data and their statistics by executing the Viziphant function calls given below" ] }, { "cell_type": "code", "execution_count": 12, "id": "345f862e", "metadata": { "pycharm": { "name": "#%%\n" } }, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 12, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "viziphant.spade.plot_patterns(spiketrains, patterns[:5], circle_sizes=(1, 50, 70))\n" ] }, { "cell_type": "code", "execution_count": 13, "id": "cc8eedf4", "metadata": { "pycharm": { "name": "#%%\n" } }, "outputs": [ { "data": { "text/plain": [ "(
,\n", " array([,\n", " ,\n", " ], dtype=object))" ] }, "execution_count": 13, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "viziphant.spade.plot_patterns_statistics(patterns)" ] }, { "cell_type": "code", "execution_count": null, "id": "15f335e8", "metadata": {}, "outputs": [], "source": [] } ], "metadata": { "kernelspec": { "display_name": "Python 3 (ipykernel)", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.8.0" } }, "nbformat": 4, "nbformat_minor": 5 }