|
@@ -5,7 +5,7 @@
|
|
|
"metadata": {},
|
|
|
"source": [
|
|
|
"# Quantitative comparison of experimental data sets with NetworkUnit\n",
|
|
|
- "Supplementary notebook for *Gutzen et al. (2018) Reproducible neural network simulations: statistical methods for model validation on the level of network activity data, Frontiers in Neuroinformatics, 2018*."
|
|
|
+ "Supplementary notebook for *Gutzen et al. (2018) Reproducible neural network simulations: statistical methods for model validation on the level of network activity data, Frontiers in Neuroinformatics*."
|
|
|
]
|
|
|
},
|
|
|
{
|
|
@@ -40,20 +40,8 @@
|
|
|
"source": [
|
|
|
"# Setup <a id='setup'></a>\n",
|
|
|
"## Requirements\n",
|
|
|
- "* Download the [multielectrode_grasp](https://web.gin.g-node.org/doi/multielectrode_grasp) repository into the current folder.\n",
|
|
|
- "* In order to load the experimental data from the gin repository [multielectrode_grasp](https://web.gin.g-node.org/doi/multielectrode_grasp) you need the [*gin-client*](https://web.gin.g-node.org/G-Node/Info/wiki/GinCli#quickstart).\n",
|
|
|
- "* This notebook works with Python 2.7 and Python 3. The required modules are listed in `requirements.txt` within the gin repository [**network_validation**](https://web.gin.g-node.org/INM-6/network_validation).\n",
|
|
|
- "\n",
|
|
|
- "The requirements are (>= Python 2.7.14):\n",
|
|
|
- "\n",
|
|
|
- " numpy == 1.15.3\n",
|
|
|
- " elephant == 0.5.0\n",
|
|
|
- " sciunit == 0.2.0.2\n",
|
|
|
- " jupyter == 1.0.0\n",
|
|
|
- " tabulate == 0.8.2\n",
|
|
|
- " networkx == 2.1\n",
|
|
|
- " fastcluster == 1.1.24\n",
|
|
|
- " seaborn == 0.8.1"
|
|
|
+ "* This notebook downloads the experimental data from the gin repository [multielectrode_grasp](https://web.gin.g-node.org/doi/multielectrode_grasp). For that matter you need the [*gin-client*](https://web.gin.g-node.org/G-Node/Info/wiki/GinCli#quickstart). Alternatively, you can download the data repository manually from its homepage.\n",
|
|
|
+ "* This notebook works with Python 2.7 and Python 3. The required modules are listed in `requirements.txt` within the gin repository [**network_validation**](https://web.gin.g-node.org/INM-6/network_validation)."
|
|
|
]
|
|
|
},
|
|
|
{
|
|
@@ -69,8 +57,8 @@
|
|
|
"execution_count": 1,
|
|
|
"metadata": {
|
|
|
"ExecuteTime": {
|
|
|
- "end_time": "2018-10-24T10:03:28.322093Z",
|
|
|
- "start_time": "2018-10-24T10:03:26.738113Z"
|
|
|
+ "end_time": "2018-10-24T10:22:55.962414Z",
|
|
|
+ "start_time": "2018-10-24T10:22:52.610372Z"
|
|
|
}
|
|
|
},
|
|
|
"outputs": [
|
|
@@ -78,20 +66,24 @@
|
|
|
"name": "stdout",
|
|
|
"output_type": "stream",
|
|
|
"text": [
|
|
|
- "fatal: Zielpfad 'NetworkUnit' existiert bereits und ist kein leeres Verzeichnis.\n",
|
|
|
- "Von https://github.com/INM-6/NetworkUnit\n",
|
|
|
- " * branch master -> FETCH_HEAD\n",
|
|
|
+ "Klone nach 'NetworkUnit' ...\n",
|
|
|
+ "remote: Enumerating objects: 5, done.\u001b[K\n",
|
|
|
+ "remote: Counting objects: 100% (5/5), done.\u001b[K\n",
|
|
|
+ "remote: Compressing objects: 100% (5/5), done.\u001b[K\n",
|
|
|
+ "remote: Total 522 (delta 0), reused 1 (delta 0), pack-reused 517\u001b[K\n",
|
|
|
+ "Empfange Objekte: 100% (522/522), 4.50 MiB | 2.44 MiB/s, Fertig.\n",
|
|
|
+ "Löse Unterschiede auf: 100% (339/339), Fertig.\n",
|
|
|
+ "Prüfe Konnektivität ... Fertig.\n",
|
|
|
"Already up-to-date.\n"
|
|
|
]
|
|
|
}
|
|
|
],
|
|
|
"source": [
|
|
|
- "# %%capture\n",
|
|
|
"import sys, os\n",
|
|
|
"\n",
|
|
|
"# Clone repository and pull latest version\n",
|
|
|
"!git clone https://github.com/INM-6/NetworkUnit.git\n",
|
|
|
- "!cd NetworkUnit/; git fetch; git pull origin master\n",
|
|
|
+ "!cd NetworkUnit/; git fetch; git pull\n",
|
|
|
"\n",
|
|
|
"# add to path\n",
|
|
|
"sys.path.insert(0, './NetworkUnit')"
|
|
@@ -102,11 +94,30 @@
|
|
|
"metadata": {},
|
|
|
"source": [
|
|
|
"## Clone experimental data repository\n",
|
|
|
- "Clone the newest version of the repository multielectrode_grasp to current directory. This has to be done using ssh and therefore needs to be handled outside this notebook. Simply go into the directory of this gin repository and execute\n",
|
|
|
- "\n",
|
|
|
- "`git clone git@gin.g-node.org:/doi/multielectrode_grasp`\n",
|
|
|
- "\n",
|
|
|
- "This will not download any large data files. These will be downloaded using `gin` (or alternatively using `git-annex`). If you experience problems with `git-annex` or `gin`, you can also download the complete data repository from its [homepage](https://web.gin.g-node.org/doi/multielectrode_grasp)."
|
|
|
+ "Clone the newest version of the repository multielectrode_grasp to current directory. This will not download any large data files. These will be downloaded using `gin` (or alternatively using `git-annex`). If you experience problems with `git-annex` or `gin`, you can also download the complete data repository from its [homepage](https://web.gin.g-node.org/doi/multielectrode_grasp)."
|
|
|
+ ]
|
|
|
+ },
|
|
|
+ {
|
|
|
+ "cell_type": "code",
|
|
|
+ "execution_count": 2,
|
|
|
+ "metadata": {
|
|
|
+ "ExecuteTime": {
|
|
|
+ "end_time": "2018-10-24T10:22:58.254941Z",
|
|
|
+ "start_time": "2018-10-24T10:22:55.970446Z"
|
|
|
+ }
|
|
|
+ },
|
|
|
+ "outputs": [
|
|
|
+ {
|
|
|
+ "name": "stdout",
|
|
|
+ "output_type": "stream",
|
|
|
+ "text": [
|
|
|
+ "Downloading repository doi/multielectrode_grasp \u001b[32mOK\u001b[0m \n",
|
|
|
+ "Initialising local storage \u001b[32mOK\u001b[0m\n"
|
|
|
+ ]
|
|
|
+ }
|
|
|
+ ],
|
|
|
+ "source": [
|
|
|
+ "!gin get doi/multielectrode_grasp"
|
|
|
]
|
|
|
},
|
|
|
{
|
|
@@ -118,11 +129,11 @@
|
|
|
},
|
|
|
{
|
|
|
"cell_type": "code",
|
|
|
- "execution_count": 2,
|
|
|
+ "execution_count": 3,
|
|
|
"metadata": {
|
|
|
"ExecuteTime": {
|
|
|
- "end_time": "2018-10-24T10:04:58.166866Z",
|
|
|
- "start_time": "2018-10-24T10:03:28.326812Z"
|
|
|
+ "end_time": "2018-10-24T10:24:26.671464Z",
|
|
|
+ "start_time": "2018-10-24T10:22:58.263256Z"
|
|
|
}
|
|
|
},
|
|
|
"outputs": [
|
|
@@ -173,23 +184,14 @@
|
|
|
},
|
|
|
{
|
|
|
"cell_type": "code",
|
|
|
- "execution_count": 3,
|
|
|
+ "execution_count": null,
|
|
|
"metadata": {
|
|
|
"ExecuteTime": {
|
|
|
- "end_time": "2018-10-24T10:05:00.480054Z",
|
|
|
- "start_time": "2018-10-24T10:04:58.174829Z"
|
|
|
+ "end_time": "2018-10-24T10:24:27.986194Z",
|
|
|
+ "start_time": "2018-10-24T10:24:26.679945Z"
|
|
|
}
|
|
|
},
|
|
|
- "outputs": [
|
|
|
- {
|
|
|
- "name": "stderr",
|
|
|
- "output_type": "stream",
|
|
|
- "text": [
|
|
|
- "/home/papen/.local/lib/python2.7/site-packages/h5py/__init__.py:36: FutureWarning: Conversion of the second argument of issubdtype from `float` to `np.floating` is deprecated. In future, it will be treated as `np.float64 == np.dtype(float).type`.\n",
|
|
|
- " from ._conv import register_converters as _register_converters\n"
|
|
|
- ]
|
|
|
- }
|
|
|
- ],
|
|
|
+ "outputs": [],
|
|
|
"source": [
|
|
|
"%matplotlib inline\n",
|
|
|
"from __future__ import print_function\n",
|
|
@@ -214,11 +216,11 @@
|
|
|
},
|
|
|
{
|
|
|
"cell_type": "code",
|
|
|
- "execution_count": 4,
|
|
|
+ "execution_count": 5,
|
|
|
"metadata": {
|
|
|
"ExecuteTime": {
|
|
|
- "end_time": "2018-10-24T10:05:00.495877Z",
|
|
|
- "start_time": "2018-10-24T10:05:00.483083Z"
|
|
|
+ "end_time": "2018-10-24T10:24:28.002908Z",
|
|
|
+ "start_time": "2018-10-24T10:24:27.989987Z"
|
|
|
}
|
|
|
},
|
|
|
"outputs": [],
|
|
@@ -257,11 +259,11 @@
|
|
|
},
|
|
|
{
|
|
|
"cell_type": "code",
|
|
|
- "execution_count": 5,
|
|
|
+ "execution_count": 6,
|
|
|
"metadata": {
|
|
|
"ExecuteTime": {
|
|
|
- "end_time": "2018-10-24T10:05:00.551900Z",
|
|
|
- "start_time": "2018-10-24T10:05:00.500744Z"
|
|
|
+ "end_time": "2018-10-24T10:24:28.058751Z",
|
|
|
+ "start_time": "2018-10-24T10:24:28.006288Z"
|
|
|
}
|
|
|
},
|
|
|
"outputs": [],
|
|
@@ -342,11 +344,11 @@
|
|
|
},
|
|
|
{
|
|
|
"cell_type": "code",
|
|
|
- "execution_count": 6,
|
|
|
+ "execution_count": 7,
|
|
|
"metadata": {
|
|
|
"ExecuteTime": {
|
|
|
- "end_time": "2018-10-24T10:05:00.565788Z",
|
|
|
- "start_time": "2018-10-24T10:05:00.555762Z"
|
|
|
+ "end_time": "2018-10-24T10:24:28.072772Z",
|
|
|
+ "start_time": "2018-10-24T10:24:28.063645Z"
|
|
|
}
|
|
|
},
|
|
|
"outputs": [],
|
|
@@ -362,11 +364,11 @@
|
|
|
},
|
|
|
{
|
|
|
"cell_type": "code",
|
|
|
- "execution_count": 7,
|
|
|
+ "execution_count": 8,
|
|
|
"metadata": {
|
|
|
"ExecuteTime": {
|
|
|
- "end_time": "2018-10-24T10:06:35.578754Z",
|
|
|
- "start_time": "2018-10-24T10:05:00.570291Z"
|
|
|
+ "end_time": "2018-10-24T10:26:07.603350Z",
|
|
|
+ "start_time": "2018-10-24T10:24:28.077722Z"
|
|
|
},
|
|
|
"scrolled": false
|
|
|
},
|
|
@@ -396,11 +398,11 @@
|
|
|
},
|
|
|
{
|
|
|
"cell_type": "code",
|
|
|
- "execution_count": 8,
|
|
|
+ "execution_count": 9,
|
|
|
"metadata": {
|
|
|
"ExecuteTime": {
|
|
|
- "end_time": "2018-10-24T10:06:35.591266Z",
|
|
|
- "start_time": "2018-10-24T10:06:35.584658Z"
|
|
|
+ "end_time": "2018-10-24T10:26:07.616361Z",
|
|
|
+ "start_time": "2018-10-24T10:26:07.608895Z"
|
|
|
}
|
|
|
},
|
|
|
"outputs": [],
|
|
@@ -416,11 +418,11 @@
|
|
|
},
|
|
|
{
|
|
|
"cell_type": "code",
|
|
|
- "execution_count": 9,
|
|
|
+ "execution_count": 10,
|
|
|
"metadata": {
|
|
|
"ExecuteTime": {
|
|
|
- "end_time": "2018-10-24T10:07:52.434190Z",
|
|
|
- "start_time": "2018-10-24T10:06:35.593314Z"
|
|
|
+ "end_time": "2018-10-24T10:27:22.916995Z",
|
|
|
+ "start_time": "2018-10-24T10:26:07.621533Z"
|
|
|
},
|
|
|
"scrolled": false
|
|
|
},
|
|
@@ -450,11 +452,11 @@
|
|
|
},
|
|
|
{
|
|
|
"cell_type": "code",
|
|
|
- "execution_count": 10,
|
|
|
+ "execution_count": 11,
|
|
|
"metadata": {
|
|
|
"ExecuteTime": {
|
|
|
- "end_time": "2018-10-24T10:07:52.445943Z",
|
|
|
- "start_time": "2018-10-24T10:07:52.439296Z"
|
|
|
+ "end_time": "2018-10-24T10:27:22.926496Z",
|
|
|
+ "start_time": "2018-10-24T10:27:22.920404Z"
|
|
|
}
|
|
|
},
|
|
|
"outputs": [],
|
|
@@ -467,11 +469,11 @@
|
|
|
},
|
|
|
{
|
|
|
"cell_type": "code",
|
|
|
- "execution_count": 11,
|
|
|
+ "execution_count": 12,
|
|
|
"metadata": {
|
|
|
"ExecuteTime": {
|
|
|
- "end_time": "2018-10-24T10:07:52.457140Z",
|
|
|
- "start_time": "2018-10-24T10:07:52.448668Z"
|
|
|
+ "end_time": "2018-10-24T10:27:22.940822Z",
|
|
|
+ "start_time": "2018-10-24T10:27:22.931552Z"
|
|
|
}
|
|
|
},
|
|
|
"outputs": [
|
|
@@ -512,11 +514,11 @@
|
|
|
},
|
|
|
{
|
|
|
"cell_type": "code",
|
|
|
- "execution_count": 12,
|
|
|
+ "execution_count": 13,
|
|
|
"metadata": {
|
|
|
"ExecuteTime": {
|
|
|
- "end_time": "2018-10-24T10:08:10.857363Z",
|
|
|
- "start_time": "2018-10-24T10:07:52.460725Z"
|
|
|
+ "end_time": "2018-10-24T10:27:43.226424Z",
|
|
|
+ "start_time": "2018-10-24T10:27:22.945067Z"
|
|
|
},
|
|
|
"scrolled": false
|
|
|
},
|
|
@@ -563,11 +565,11 @@
|
|
|
},
|
|
|
{
|
|
|
"cell_type": "code",
|
|
|
- "execution_count": 13,
|
|
|
+ "execution_count": 14,
|
|
|
"metadata": {
|
|
|
"ExecuteTime": {
|
|
|
- "end_time": "2018-10-24T10:08:10.874271Z",
|
|
|
- "start_time": "2018-10-24T10:08:10.862104Z"
|
|
|
+ "end_time": "2018-10-24T10:27:43.240116Z",
|
|
|
+ "start_time": "2018-10-24T10:27:43.230534Z"
|
|
|
}
|
|
|
},
|
|
|
"outputs": [],
|
|
@@ -598,11 +600,11 @@
|
|
|
},
|
|
|
{
|
|
|
"cell_type": "code",
|
|
|
- "execution_count": 14,
|
|
|
+ "execution_count": 15,
|
|
|
"metadata": {
|
|
|
"ExecuteTime": {
|
|
|
- "end_time": "2018-10-24T10:08:29.492720Z",
|
|
|
- "start_time": "2018-10-24T10:08:10.878540Z"
|
|
|
+ "end_time": "2018-10-24T10:28:02.566817Z",
|
|
|
+ "start_time": "2018-10-24T10:27:43.243732Z"
|
|
|
},
|
|
|
"scrolled": false
|
|
|
},
|
|
@@ -634,11 +636,11 @@
|
|
|
},
|
|
|
{
|
|
|
"cell_type": "code",
|
|
|
- "execution_count": 15,
|
|
|
+ "execution_count": 16,
|
|
|
"metadata": {
|
|
|
"ExecuteTime": {
|
|
|
- "end_time": "2018-10-24T10:09:06.323908Z",
|
|
|
- "start_time": "2018-10-24T10:08:29.498708Z"
|
|
|
+ "end_time": "2018-10-24T10:28:38.890372Z",
|
|
|
+ "start_time": "2018-10-24T10:28:02.573001Z"
|
|
|
}
|
|
|
},
|
|
|
"outputs": [
|
|
@@ -683,11 +685,11 @@
|
|
|
},
|
|
|
{
|
|
|
"cell_type": "code",
|
|
|
- "execution_count": 16,
|
|
|
+ "execution_count": 17,
|
|
|
"metadata": {
|
|
|
"ExecuteTime": {
|
|
|
- "end_time": "2018-10-24T10:09:06.347347Z",
|
|
|
- "start_time": "2018-10-24T10:09:06.328300Z"
|
|
|
+ "end_time": "2018-10-24T10:28:38.909566Z",
|
|
|
+ "start_time": "2018-10-24T10:28:38.893567Z"
|
|
|
}
|
|
|
},
|
|
|
"outputs": [],
|
|
@@ -726,11 +728,11 @@
|
|
|
},
|
|
|
{
|
|
|
"cell_type": "code",
|
|
|
- "execution_count": 17,
|
|
|
+ "execution_count": 18,
|
|
|
"metadata": {
|
|
|
"ExecuteTime": {
|
|
|
- "end_time": "2018-10-24T10:09:11.018803Z",
|
|
|
- "start_time": "2018-10-24T10:09:06.352088Z"
|
|
|
+ "end_time": "2018-10-24T10:28:43.179511Z",
|
|
|
+ "start_time": "2018-10-24T10:28:38.916033Z"
|
|
|
},
|
|
|
"scrolled": false
|
|
|
},
|
|
@@ -762,11 +764,11 @@
|
|
|
},
|
|
|
{
|
|
|
"cell_type": "code",
|
|
|
- "execution_count": 18,
|
|
|
+ "execution_count": 19,
|
|
|
"metadata": {
|
|
|
"ExecuteTime": {
|
|
|
- "end_time": "2018-10-24T10:09:19.030865Z",
|
|
|
- "start_time": "2018-10-24T10:09:11.023793Z"
|
|
|
+ "end_time": "2018-10-24T10:28:50.602625Z",
|
|
|
+ "start_time": "2018-10-24T10:28:43.183706Z"
|
|
|
}
|
|
|
},
|
|
|
"outputs": [
|
|
@@ -811,11 +813,11 @@
|
|
|
},
|
|
|
{
|
|
|
"cell_type": "code",
|
|
|
- "execution_count": 19,
|
|
|
+ "execution_count": 20,
|
|
|
"metadata": {
|
|
|
"ExecuteTime": {
|
|
|
- "end_time": "2018-10-24T10:09:19.049326Z",
|
|
|
- "start_time": "2018-10-24T10:09:19.034124Z"
|
|
|
+ "end_time": "2018-10-24T10:28:50.620295Z",
|
|
|
+ "start_time": "2018-10-24T10:28:50.606497Z"
|
|
|
}
|
|
|
},
|
|
|
"outputs": [],
|
|
@@ -854,11 +856,11 @@
|
|
|
},
|
|
|
{
|
|
|
"cell_type": "code",
|
|
|
- "execution_count": 20,
|
|
|
+ "execution_count": 21,
|
|
|
"metadata": {
|
|
|
"ExecuteTime": {
|
|
|
- "end_time": "2018-10-24T10:09:21.564887Z",
|
|
|
- "start_time": "2018-10-24T10:09:19.054088Z"
|
|
|
+ "end_time": "2018-10-24T10:28:53.248127Z",
|
|
|
+ "start_time": "2018-10-24T10:28:50.626661Z"
|
|
|
},
|
|
|
"scrolled": false
|
|
|
},
|
|
@@ -890,11 +892,11 @@
|
|
|
},
|
|
|
{
|
|
|
"cell_type": "code",
|
|
|
- "execution_count": 21,
|
|
|
+ "execution_count": 22,
|
|
|
"metadata": {
|
|
|
"ExecuteTime": {
|
|
|
- "end_time": "2018-10-24T10:09:27.753977Z",
|
|
|
- "start_time": "2018-10-24T10:09:21.566949Z"
|
|
|
+ "end_time": "2018-10-24T10:28:58.960013Z",
|
|
|
+ "start_time": "2018-10-24T10:28:53.255238Z"
|
|
|
}
|
|
|
},
|
|
|
"outputs": [
|
|
@@ -961,7 +963,7 @@
|
|
|
"# References<a id='ref'></a>\n",
|
|
|
"\n",
|
|
|
"Brochier et al. (2018) [Massively parallel recordings in macaque motor cortex during an instructed delayed reach-to-grasp task](https://www.nature.com/articles/sdata201855), Scientific Data, 5, pp. 1–23. doi: 10.1038/sdata.2018.55.<a id='brochier2018'></a> \n",
|
|
|
- "Gutzen et al. (2018) Reproducible neural network simulations: model validation on the level of network activity data, Frontiers in Neuroinformatics, submitted<a id='gutzen2018'></a> \n",
|
|
|
+ "Gutzen et al. (2018) Reproducible neural network simulations: model validation on the level of network activity data, Frontiers in Neuroinformatics<a id='gutzen2018'></a> \n",
|
|
|
"Riehle et al. (2013) [Mapping the spatio-temporal structure of motor cortical LFP and spiking activities during reach-to-grasp movements](https://www.frontiersin.org/articles/10.3389/fncir.2013.00048/full), Frontiers in Neural Circuits, 7(48). doi: 10.3389/fncir.2013.00048.<a id='riehle2013'></a> "
|
|
|
]
|
|
|
},
|