{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "## Cell Types Database\n", "\n", "This notebook demonstrates most of the features of the AllenSDK that help manipulate data in the Cell Types Database. The main entry point will be through the `CellTypesCache` class.\n", "\n", "`CellTypesCache` is responsible for downloading Cell Types Database data to a standard directory structure on your hard drive. If you use this class, you will not have to keep track of where your data lives, other than a root directory.\n", "\n", "Download this file in .ipynb format here." ] }, { "cell_type": "code", "execution_count": 20, "metadata": {}, "outputs": [], "source": [ "from allensdk.core.cell_types_cache import CellTypesCache\n", "\n", "# Instantiate the CellTypesCache instance. The manifest_file argument\n", "# tells it where to store the manifest, which is a JSON file that tracks\n", "# file paths. If you supply a relative path (like this), it will go\n", "# into your current working directory\n", "ctc = CellTypesCache(manifest_file='cell_types/manifest.json')\n", "\n", "# this saves the NWB file to 'cell_types/specimen_464212183/ephys.nwb'\n", "cell_specimen_id = 464212183\n", "data_set = ctc.get_ephys_data(cell_specimen_id)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The `data_set` variable is an `NwbDataSet` instance, which has some methods we can use to access the injected current stimulus waveform and the voltage response waveform for all experimental sweeps. Let's pull one sweep out and plot it." ] }, { "cell_type": "code", "execution_count": 21, "metadata": { "scrolled": true }, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "%matplotlib inline\n", "import numpy as np\n", "import matplotlib.pyplot as plt\n", "\n", "sweep_number = 30\n", "sweep_data = data_set.get_sweep(sweep_number)\n", "\n", "index_range = sweep_data[\"index_range\"]\n", "i = sweep_data[\"stimulus\"][0:index_range[1]+1] # in A\n", "v = sweep_data[\"response\"][0:index_range[1]+1] # in V\n", "i *= 1e12 # to pA\n", "v *= 1e3 # to mV\n", "\n", "sampling_rate = sweep_data[\"sampling_rate\"] # in Hz\n", "t = np.arange(0, len(v)) * (1.0 / sampling_rate)\n", "\n", "plt.style.use('ggplot')\n", "fig, axes = plt.subplots(2, 1, sharex=True)\n", "axes[0].plot(t, v, color='black')\n", "axes[1].plot(t, i, color='gray')\n", "axes[0].set_ylabel(\"mV\")\n", "axes[1].set_ylabel(\"pA\")\n", "axes[1].set_xlabel(\"seconds\")\n", "plt.show()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Filtering Cells via Metadata\n", "\n", "Cell records in the Cell Types Database come with a large amount of metadata. We have exposed the most commonly used of these are arguments to CellTypesCache.get_cells. " ] }, { "cell_type": "code", "execution_count": 22, "metadata": { "scrolled": true }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Total cells: 2223\n", "Mouse cells: 1913\n", "Human cells: 310\n", "Cells with reconstructions: 565\n", "Cre-positive cells: 1808\n", "Cre-negative cells with reconstructions: 34\n" ] } ], "source": [ "from allensdk.core.cell_types_cache import CellTypesCache\n", "from allensdk.api.queries.cell_types_api import CellTypesApi\n", "from allensdk.core.cell_types_cache import ReporterStatus as RS\n", "\n", "# download all cells\n", "cells = ctc.get_cells()\n", "print(\"Total cells: %d\" % len(cells))\n", "\n", "# mouse cells\n", "cells = ctc.get_cells(species=[CellTypesApi.MOUSE])\n", "print(\"Mouse cells: %d\" % len(cells))\n", "\n", "# human cells\n", "cells = ctc.get_cells(species=[CellTypesApi.HUMAN])\n", "print(\"Human cells: %d\" % len(cells))\n", "\n", "# cells with reconstructions\n", "cells = ctc.get_cells(require_reconstruction = True)\n", "print(\"Cells with reconstructions: %d\" % len(cells))\n", "\n", "# all cre positive cells\n", "cells = ctc.get_cells(reporter_status = RS.POSITIVE)\n", "print(\"Cre-positive cells: %d\" % len(cells))\n", "\n", "# cre negative cells with reconstructions\n", "cells = ctc.get_cells(require_reconstruction = True, \n", " reporter_status = RS.NEGATIVE)\n", "print(\"Cre-negative cells with reconstructions: %d\" % len(cells))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Cell Morphology Reconstructions\n", "\n", "The Cell Types Database also contains 3D reconstructions of neuronal morphologies. The data are presented in the SWC format. We'll download a particular cell's reconstrution here.\n", "\n", "The AllenSDK contains a module that makes it easier to work with the SWC files. We'll see how the data is contained in the file by looking at the first node." ] }, { "cell_type": "code", "execution_count": 23, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "{'children': [1,\n", " 1763,\n", " 2012,\n", " 2089,\n", " 2421,\n", " 2604,\n", " 2821,\n", " 3147,\n", " 3440,\n", " 3491,\n", " 3552,\n", " 4015],\n", " 'id': 0,\n", " 'parent': -1,\n", " 'radius': 7.6078,\n", " 'tree_id': 0,\n", " 'type': 1,\n", " 'x': 444.3296,\n", " 'y': 503.0168,\n", " 'z': 31.92}\n" ] } ], "source": [ "import pprint\n", "\n", "# download and open an SWC file\n", "cell_id = 480114344\n", "morphology = ctc.get_reconstruction(cell_id) \n", "\n", "# the compartment list has all of the nodes in the file\n", "pprint.pprint(morphology.compartment_list[0])" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Note that the `type` field refers to the type of neuronal compartment. The values can be 1 for the soma, 2 for the axon, 3 for dendrites, and 4 for apical dendrites (if present).\n", "\n", "Morphologies now also come with marker files, which contains points of interest in the reconstruction. The marker file contains locations where dendrites have been truncated due to slicing and when axons were not reconstructed. The `name` field indicates the type of marker (10 for dendrite truncation, 20 for no reconstruction)." ] }, { "cell_type": "code", "execution_count": 24, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "{'name': 10, 'x': 527.5029999999999, 'y': 496.4319, 'z': 12.4555}\n" ] } ], "source": [ "# download and open a marker file\n", "markers = ctc.get_reconstruction_markers(cell_id) \n", "pprint.pprint(markers[0])" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "We can use this data to draw lines between each node and all its children to get a drawing of the cell. We'll do it looking at it from the front and from the side." ] }, { "cell_type": "code", "execution_count": 25, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "from allensdk.core.swc import Marker\n", "fig, axes = plt.subplots(1, 2, sharey=True, sharex=True)\n", "axes[0].set_aspect('equal', 'box-forced')\n", "axes[1].set_aspect('equal', 'box-forced')\n", "\n", "# Make a line drawing of x-y and y-z views\n", "for n in morphology.compartment_list:\n", " for c in morphology.children_of(n):\n", " axes[0].plot([n['x'], c['x']], [n['y'], c['y']], color='black')\n", " axes[1].plot([n['z'], c['z']], [n['y'], c['y']], color='black')\n", "\n", "# cut dendrite markers\n", "dm = [ m for m in markers if m['name'] == Marker.CUT_DENDRITE ]\n", "\n", "axes[0].scatter([m['x'] for m in dm], [m['y'] for m in dm], color='#3333ff')\n", "axes[1].scatter([m['z'] for m in dm], [m['y'] for m in dm], color='#3333ff')\n", "\n", "# no reconstruction markers\n", "nm = [ m for m in markers if m['name'] == Marker.NO_RECONSTRUCTION ]\n", "\n", "axes[0].scatter([m['x'] for m in nm], [m['y'] for m in nm], color='#333333')\n", "axes[1].scatter([m['z'] for m in nm], [m['y'] for m in nm], color='#333333')\n", "\n", "axes[0].set_ylabel('y')\n", "axes[0].set_xlabel('x')\n", "axes[1].set_xlabel('z')\n", "plt.show()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Electrophysiology Features\n", "\n", "The Cell Types Database contains a set of features that have already been computed, which could serve as good starting points for analysis. We can query the database using the SDK to get these features." ] }, { "cell_type": "code", "execution_count": 26, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Ephys. features available for 2223 cells\n" ] }, { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
adaptationavg_isielectrode_0_paf_i_curve_slopefast_trough_t_long_squarefast_trough_t_rampfast_trough_t_short_squarefast_trough_v_long_squarefast_trough_v_rampfast_trough_v_short_square...trough_t_ramptrough_t_short_squaretrough_v_long_squaretrough_v_ramptrough_v_short_squareupstroke_downstroke_ratio_long_squareupstroke_downstroke_ratio_rampupstroke_downstroke_ratio_short_squarevm_for_sagvrest
11110.0106650.912222-73.0906170.3859911.2435753.8726151.025798-58.406254-56.364585-61.026044...3.872971.273295-58.59375-56.635419-65.7291681.9156842.0455411.821178-90.46875-65.771713
\n", "

1 rows × 55 columns

\n", "
" ], "text/plain": [ " adaptation avg_isi electrode_0_pa f_i_curve_slope \\\n", "1111 0.01066 50.912222 -73.090617 0.385991 \n", "\n", " fast_trough_t_long_square fast_trough_t_ramp \\\n", "1111 1.243575 3.872615 \n", "\n", " fast_trough_t_short_square fast_trough_v_long_square \\\n", "1111 1.025798 -58.406254 \n", "\n", " fast_trough_v_ramp fast_trough_v_short_square ... \\\n", "1111 -56.364585 -61.026044 ... \n", "\n", " trough_t_ramp trough_t_short_square trough_v_long_square \\\n", "1111 3.87297 1.273295 -58.59375 \n", "\n", " trough_v_ramp trough_v_short_square \\\n", "1111 -56.635419 -65.729168 \n", "\n", " upstroke_downstroke_ratio_long_square upstroke_downstroke_ratio_ramp \\\n", "1111 1.915684 2.045541 \n", "\n", " upstroke_downstroke_ratio_short_square vm_for_sag vrest \n", "1111 1.821178 -90.46875 -65.771713 \n", "\n", "[1 rows x 55 columns]" ] }, "execution_count": 26, "metadata": {}, "output_type": "execute_result" } ], "source": [ "import pandas as pd\n", "\n", "# download all electrophysiology features for all cells\n", "ephys_features = ctc.get_ephys_features()\n", "ef_df = pd.DataFrame(ephys_features)\n", "\n", "print(\"Ephys. features available for %d cells\" % len(ef_df))\n", "\n", "# filter down to a specific cell\n", "specimen_id = 464212183\n", "cell_ephys_features = ef_df[ef_df['specimen_id']== specimen_id]\n", "cell_ephys_features" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "That's how to get all the ephys features for a given specimen - what if we want a particular feature for all cells?" ] }, { "cell_type": "code", "execution_count": 27, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "plt.figure()\n", "plt.scatter(ef_df['fast_trough_v_long_square'], \n", " ef_df['upstroke_downstroke_ratio_long_square'], color='#2ca25f')\n", "plt.ylabel(\"upstroke-downstroke ratio\")\n", "plt.xlabel(\"fast trough depth (mV)\")\n", "plt.show()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Let's use numpy to fit a regression line to these data and plot it." ] }, { "cell_type": "code", "execution_count": 28, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "First 5 rows of A:\n", "[[-56.37500381 1. ]\n", " [-54. 1. ]\n", " [-59.5 1. ]\n", " [-47.53125 1. ]\n", " [-48.43750381 1. ]]\n", "('m', 0.10564488387365452, 'c', 8.382167731219221)\n" ] }, { "data": { "image/png": "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\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "A = np.vstack([ef_df['fast_trough_v_long_square'], \n", " np.ones_like(ef_df['upstroke_downstroke_ratio_long_square'])]).T\n", "\n", "print(\"First 5 rows of A:\")\n", "print(A[:5, :])\n", "\n", "m, c = np.linalg.lstsq(A, ef_df['upstroke_downstroke_ratio_long_square'])[0]\n", "print(\"m\", m, \"c\", c)\n", "\n", "plt.figure()\n", "plt.scatter(ef_df['fast_trough_v_long_square'], \n", " ef_df['upstroke_downstroke_ratio_long_square'], \n", " color='#2ca25f')\n", "plt.plot(ef_df['fast_trough_v_long_square'],\n", " m * ef_df['fast_trough_v_long_square'] + c, c='gray')\n", "plt.ylabel(\"upstroke-downstroke ratio\")\n", "plt.xlabel(\"fast trough depth (mV)\")\n", "plt.show()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "It looks like there may be roughly two clusters in the data above. Maybe they relate to whether the cells are presumably excitatory (spiny) cells or inhibitory (aspiny) cells. Let's query the API and split up the two sets to see." ] }, { "cell_type": "code", "execution_count": 29, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "cells = ctc.get_cells()\n", "\n", "# we want to add dendrite type as a column to the ephys. features dataframe\n", "# first build an index on cell specimen ID, then create array of dendrite types\n", "cell_index = { c['id']: c for c in cells }\n", "dendrite_types = [ cell_index[cid]['dendrite_type'] for cid in ef_df['specimen_id'] ]\n", "\n", "# now add the new column\n", "ef_df['dendrite_type'] = pd.Series(dendrite_types, index=ef_df.index)\n", "\n", "fig = plt.figure()\n", "\n", "for d_type, color in [ [\"spiny\", \"#d95f02\"], [\"aspiny\", \"#7570b3\"] ]:\n", " df = ef_df[ef_df['dendrite_type'] == d_type]\n", " plt.scatter(df['fast_trough_v_long_square'], \n", " df['upstroke_downstroke_ratio_long_square'], \n", " color=color, label=d_type)\n", "\n", " plt.ylabel(\"upstroke-downstroke ratio\")\n", " plt.xlabel(\"fast trough depth (mV)\")\n", " plt.legend(loc='best')\n", " \n", "plt.show()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Morphology Features\n", "\n", "The Cell Types Database contains a set of precomputed morphological features for cells that have reconstructions. You can access morphology features by themselves, or combined with the electrophysiology features." ] }, { "cell_type": "code", "execution_count": 30, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "All features available for 568 cells\n" ] }, { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
adaptationaverage_bifurcation_angle_localaverage_bifurcation_angle_remoteaverage_contractionaverage_diameteraverage_fragmentationaverage_parent_daughter_ratioavg_isielectrode_0_paf_i_curve_slope...trough_t_ramptrough_t_short_squaretrough_v_long_squaretrough_v_ramptrough_v_short_squareupstroke_downstroke_ratio_long_squareupstroke_downstroke_ratio_rampupstroke_downstroke_ratio_short_squarevm_for_sagvrest
0NaN72.604110NaN0.8505610.52721375.1339290.966709134.70000022.6974988.335459e-02...13.2956801.13478-56.593754-57.739586-74.1437533.0296953.0616462.969821-80.468750-73.553391
1NaN68.499396NaN0.9340720.61413361.1724140.892380NaN-24.887498-3.913630e-19...20.6507351.16094-55.406254-55.242191-73.5000002.4418952.2456532.231575-84.406258-73.056595
20.04482577.679949NaN0.8956640.48886548.0277780.92851091.322222-46.7618762.238637e-01...3.8620071.80651-50.875000-50.989586-76.7916692.9927932.8178562.706951-96.906250-75.320374
30.00230373.926537NaN0.8962270.21638462.2826090.9939278.756140-33.7874976.366711e-01...16.7535401.29864-61.031254-65.000005-79.6250030.9872041.1917621.294996-85.593750-79.520042
40.09349289.985385NaN0.8211160.28954954.0000001.000000112.2450003.0150001.500000e-01...5.4839531.22590-51.406254-59.552087-81.8750082.1998722.2200312.235442-95.843758-81.065971
\n", "

5 rows × 83 columns

\n", "
" ], "text/plain": [ " adaptation average_bifurcation_angle_local \\\n", "0 NaN 72.604110 \n", "1 NaN 68.499396 \n", "2 0.044825 77.679949 \n", "3 0.002303 73.926537 \n", "4 0.093492 89.985385 \n", "\n", " average_bifurcation_angle_remote average_contraction average_diameter \\\n", "0 NaN 0.850561 0.527213 \n", "1 NaN 0.934072 0.614133 \n", "2 NaN 0.895664 0.488865 \n", "3 NaN 0.896227 0.216384 \n", "4 NaN 0.821116 0.289549 \n", "\n", " average_fragmentation average_parent_daughter_ratio avg_isi \\\n", "0 75.133929 0.966709 134.700000 \n", "1 61.172414 0.892380 NaN \n", "2 48.027778 0.928510 91.322222 \n", "3 62.282609 0.993927 8.756140 \n", "4 54.000000 1.000000 112.245000 \n", "\n", " electrode_0_pa f_i_curve_slope ... trough_t_ramp \\\n", "0 22.697498 8.335459e-02 ... 13.295680 \n", "1 -24.887498 -3.913630e-19 ... 20.650735 \n", "2 -46.761876 2.238637e-01 ... 3.862007 \n", "3 -33.787497 6.366711e-01 ... 16.753540 \n", "4 3.015000 1.500000e-01 ... 5.483953 \n", "\n", " trough_t_short_square trough_v_long_square trough_v_ramp \\\n", "0 1.13478 -56.593754 -57.739586 \n", "1 1.16094 -55.406254 -55.242191 \n", "2 1.80651 -50.875000 -50.989586 \n", "3 1.29864 -61.031254 -65.000005 \n", "4 1.22590 -51.406254 -59.552087 \n", "\n", " trough_v_short_square upstroke_downstroke_ratio_long_square \\\n", "0 -74.143753 3.029695 \n", "1 -73.500000 2.441895 \n", "2 -76.791669 2.992793 \n", "3 -79.625003 0.987204 \n", "4 -81.875008 2.199872 \n", "\n", " upstroke_downstroke_ratio_ramp upstroke_downstroke_ratio_short_square \\\n", "0 3.061646 2.969821 \n", "1 2.245653 2.231575 \n", "2 2.817856 2.706951 \n", "3 1.191762 1.294996 \n", "4 2.220031 2.235442 \n", "\n", " vm_for_sag vrest \n", "0 -80.468750 -73.553391 \n", "1 -84.406258 -73.056595 \n", "2 -96.906250 -75.320374 \n", "3 -85.593750 -79.520042 \n", "4 -95.843758 -81.065971 \n", "\n", "[5 rows x 83 columns]" ] }, "execution_count": 30, "metadata": {}, "output_type": "execute_result" } ], "source": [ "import pandas as pd\n", "\n", "# download all morphology features for cells with reconstructions\n", "morphology_features = ctc.get_morphology_features()\n", "\n", "# or download both morphology and ephys features\n", "all_features = ctc.get_all_features(require_reconstruction=True)\n", "\n", "# convert to a pandas DataFrame\n", "all_features = pd.DataFrame(all_features)\n", "print(\"All features available for %d cells\" % len(all_features))\n", "\n", "all_features.head()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Computing Electrophysiology Features\n", "\n", "The AllenSDK contains the code used to compute the electrophysiology features you accessed above. You can run it yourself like this." ] }, { "cell_type": "code", "execution_count": 31, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Avg spike threshold: -35.5 mV\n", "Avg spike width: 0.94 ms\n" ] } ], "source": [ "from allensdk.ephys.ephys_extractor import EphysSweepFeatureExtractor\n", "\n", "sweep_number = 35\n", "sweep_data = data_set.get_sweep(sweep_number)\n", "\n", "index_range = sweep_data[\"index_range\"]\n", "i = sweep_data[\"stimulus\"][0:index_range[1]+1] # in A\n", "v = sweep_data[\"response\"][0:index_range[1]+1] # in V\n", "i *= 1e12 # to pA\n", "v *= 1e3 # to mV\n", "\n", "sampling_rate = sweep_data[\"sampling_rate\"] # in Hz\n", "t = np.arange(0, len(v)) * (1.0 / sampling_rate)\n", "\n", "sweep_ext = EphysSweepFeatureExtractor(t=t, v=v, i=i, start=1.02, end=2.02)\n", "sweep_ext.process_spikes()\n", "\n", "print(\"Avg spike threshold: %.01f mV\" % sweep_ext.spike_feature(\"threshold_v\").mean())\n", "print(\"Avg spike width: %.02f ms\" % (1e3 * np.nanmean(sweep_ext.spike_feature(\"width\"))))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The method `spike_feature()` returns a NumPy array of features for each spike. You pass it the name of the feature that you want. Features that can't be calculated for a given spike are set to `NaN`. We can take a look at all the properties calculated for each spike by the extractor:" ] }, { "cell_type": "code", "execution_count": 32, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "['threshold_index',\n", " 'clipped',\n", " 'threshold_t',\n", " 'threshold_v',\n", " 'threshold_i',\n", " 'peak_index',\n", " 'peak_t',\n", " 'peak_v',\n", " 'peak_i',\n", " 'trough_index',\n", " 'trough_t',\n", " 'trough_v',\n", " 'trough_i',\n", " 'downstroke_index',\n", " 'downstroke',\n", " 'downstroke_t',\n", " 'downstroke_v',\n", " 'upstroke_index',\n", " 'upstroke',\n", " 'upstroke_t',\n", " 'upstroke_v',\n", " 'isi_type',\n", " 'fast_trough_index',\n", " 'fast_trough_t',\n", " 'fast_trough_v',\n", " 'fast_trough_i',\n", " 'slow_trough_index',\n", " 'slow_trough_t',\n", " 'slow_trough_v',\n", " 'slow_trough_i',\n", " 'adp_index',\n", " 'adp_t',\n", " 'adp_v',\n", " 'adp_i',\n", " 'width',\n", " 'upstroke_downstroke_ratio']" ] }, "execution_count": 32, "metadata": {}, "output_type": "execute_result" } ], "source": [ "sweep_ext.spike_feature_keys()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "We can look at when the spikes occur by looking at the `threshold_t` property (i.e., time of spike threshold)." ] }, { "cell_type": "code", "execution_count": 33, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "[1.02811 1.040935 1.053675 1.068645 1.082835]\n" ] } ], "source": [ "spike_times = sweep_ext.spike_feature(\"threshold_t\")\n", "\n", "print(spike_times[:5]) # print just the first 5 spike times" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "We can see that the first spikes happen just after the stimulus step begins at 1.02 sec. Let's plot the voltage trace and then put a dot at the time of each spike detected by the extractor." ] }, { "cell_type": "code", "execution_count": 34, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "(0.9, 1.2)" ] }, "execution_count": 34, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "fig = plt.figure()\n", "p = plt.plot(t, v, color='black')\n", "\n", "min_v = v.min()\n", "\n", "v_level = min_v - 5\n", "\n", "plt.scatter(spike_times, np.ones(len(spike_times)) * min_v, c='firebrick')\n", "plt.xlim(0.9, 1.2)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "We could also get the threshold voltages from the extractor and put dots where the extractor thinks the spikes begin (zooming in a little more to see better):" ] }, { "cell_type": "code", "execution_count": 35, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "(1.015, 1.08)" ] }, "execution_count": 35, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "fig = plt.figure()\n", "plt.plot(t, v, color='black')\n", "\n", "threshold_v = sweep_ext.spike_feature(\"threshold_v\")\n", "\n", "# setting zorder puts the dots on top of the trace\n", "plt.scatter(spike_times, threshold_v, s=50, c='firebrick', zorder=20)\n", "plt.xlim(1.015, 1.08)" ] } ], "metadata": { "kernelspec": { "display_name": "Python 3", "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.6.4" } }, "nbformat": 4, "nbformat_minor": 1 }