diff --git a/docs/source/tutorials/flywire_annotations.ipynb b/docs/source/tutorials/flywire_annotations.ipynb index 73accb3..e710534 100644 --- a/docs/source/tutorials/flywire_annotations.ipynb +++ b/docs/source/tutorials/flywire_annotations.ipynb @@ -2,7 +2,11 @@ "cells": [ { "cell_type": "raw", - "metadata": {}, + "metadata": { + "vscode": { + "languageId": "raw" + } + }, "source": [ ".. _flywire_annotations:\n", "\n", @@ -26,20 +30,19 @@ "the \"Community labels\" column while (2) and (3) are used to fill the \"Classification\"\n", "and \"Type\" columns.\n", "\n", - "Currently ``fafbseg`` allows you to query (1) and (2) programmatically.\n", - "(3) is not yet supported." + "Currently ``fafbseg`` allows you to query (1) and (2) programmatically. (3) is not yet supported." ] }, { "cell_type": "code", - "execution_count": 1, + "execution_count": 2, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ - "Default dataset set to \"public\"\n" + "Default dataset set to \"public\".\n" ] } ], @@ -59,15 +62,15 @@ }, { "cell_type": "code", - "execution_count": 2, + "execution_count": 3, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ - "Using materialization version 630\n", - "Caching community annotations for materialization version \"630\"... Done.\n" + "Using materialization version 783.\n", + "Caching community annotations for materialization version \"783\"... Done.\n" ] }, { @@ -92,75 +95,92 @@ " <tr style=\"text-align: right;\">\n", " <th></th>\n", " <th>id</th>\n", + " <th>created</th>\n", + " <th>superceded_id</th>\n", " <th>pt_position_x</th>\n", " <th>pt_position_y</th>\n", " <th>pt_position_z</th>\n", - " <th>pt_supervoxel_id</th>\n", - " <th>pt_root_id</th>\n", " <th>tag</th>\n", " <th>user</th>\n", " <th>user_id</th>\n", + " <th>pt_supervoxel_id</th>\n", + " <th>pt_root_id</th>\n", + " <th>user_name</th>\n", " </tr>\n", " </thead>\n", " <tbody>\n", " <tr>\n", - " <th>21364</th>\n", + " <th>0</th>\n", " <td>22248</td>\n", + " <td>2022-02-07 05:30:08.054976+00:00</td>\n", + " <td>NaN</td>\n", " <td>485772</td>\n", " <td>238836</td>\n", " <td>49920</td>\n", - " <td>78957304514692633</td>\n", - " <td>720575940625431866</td>\n", " <td>ALad1; right; acetylcholine</td>\n", " <td>Alexander Bates</td>\n", " <td>355</td>\n", + " <td>78957304514692633</td>\n", + " <td>720575940625431866</td>\n", + " <td>Alexander Bates</td>\n", " </tr>\n", " <tr>\n", - " <th>21365</th>\n", + " <th>1</th>\n", " <td>22249</td>\n", + " <td>2022-02-07 05:30:08.056123+00:00</td>\n", + " <td>NaN</td>\n", " <td>485772</td>\n", " <td>238836</td>\n", " <td>49920</td>\n", - " <td>78957304514692633</td>\n", - " <td>720575940625431866</td>\n", " <td>ALad1; right; acetylcholine</td>\n", " <td>Lab Members</td>\n", " <td>1063</td>\n", + " <td>78957304514692633</td>\n", + " <td>720575940625431866</td>\n", + " <td>Lab Members</td>\n", " </tr>\n", " <tr>\n", - " <th>51385</th>\n", + " <th>2</th>\n", " <td>49507</td>\n", + " <td>2022-04-27 14:36:19.985327+00:00</td>\n", + " <td>NaN</td>\n", " <td>485776</td>\n", " <td>238836</td>\n", " <td>49920</td>\n", - " <td>78957304514685298</td>\n", - " <td>720575940625431866</td>\n", " <td>ALPN,VM5v_adPN</td>\n", " <td>Philipp Schlegel</td>\n", " <td>62</td>\n", + " <td>78957304514685298</td>\n", + " <td>720575940625431866</td>\n", + " <td>Philipp Schlegel</td>\n", " </tr>\n", " </tbody>\n", "</table>\n", "</div>" ], "text/plain": [ - " id pt_position_x pt_position_y pt_position_z pt_supervoxel_id \\\n", - "21364 22248 485772 238836 49920 78957304514692633 \n", - "21365 22249 485772 238836 49920 78957304514692633 \n", - "51385 49507 485776 238836 49920 78957304514685298 \n", + " id created superceded_id pt_position_x \\\n", + "0 22248 2022-02-07 05:30:08.054976+00:00 NaN 485772 \n", + "1 22249 2022-02-07 05:30:08.056123+00:00 NaN 485772 \n", + "2 49507 2022-04-27 14:36:19.985327+00:00 NaN 485776 \n", "\n", - " pt_root_id tag user \\\n", - "21364 720575940625431866 ALad1; right; acetylcholine Alexander Bates \n", - "21365 720575940625431866 ALad1; right; acetylcholine Lab Members \n", - "51385 720575940625431866 ALPN,VM5v_adPN Philipp Schlegel \n", + " pt_position_y pt_position_z tag \\\n", + "0 238836 49920 ALad1; right; acetylcholine \n", + "1 238836 49920 ALad1; right; acetylcholine \n", + "2 238836 49920 ALPN,VM5v_adPN \n", "\n", - " user_id \n", - "21364 355 \n", - "21365 1063 \n", - "51385 62 " + " user user_id pt_supervoxel_id pt_root_id \\\n", + "0 Alexander Bates 355 78957304514692633 720575940625431866 \n", + "1 Lab Members 1063 78957304514692633 720575940625431866 \n", + "2 Philipp Schlegel 62 78957304514685298 720575940625431866 \n", + "\n", + " user_name \n", + "0 Alexander Bates \n", + "1 Lab Members \n", + "2 Philipp Schlegel " ] }, - "execution_count": 2, + "execution_count": 3, "metadata": {}, "output_type": "execute_result" } @@ -179,14 +199,15 @@ }, { "cell_type": "code", - "execution_count": 3, + "execution_count": 4, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ - "Using cached materialization version 630\n" + "Using annotation version \"latest commit\" (b2bceba) from https://github.com/flyconnectome/flywire_annotations.\n", + "Using materialization version 783.\n" ] }, { @@ -221,11 +242,11 @@ " <th>nucleus_id</th>\n", " <th>flow</th>\n", " <th>...</th>\n", - " <th>ito_lee_hemilineage</th>\n", - " <th>hartenstein_hemilineage</th>\n", " <th>morphology_group</th>\n", " <th>top_nt</th>\n", " <th>top_nt_conf</th>\n", + " <th>known_nt</th>\n", + " <th>known_nt_source</th>\n", " <th>side</th>\n", " <th>nerve</th>\n", " <th>vfb_id</th>\n", @@ -247,11 +268,11 @@ " <td>4518783.0</td>\n", " <td>intrinsic</td>\n", " <td>...</td>\n", - " <td>ALad1</td>\n", - " <td>BAmv3</td>\n", " <td>ALad1__1</td>\n", " <td>acetylcholine</td>\n", " <td>0.957189</td>\n", + " <td>acetylcholine</td>\n", + " <td>Tanaka et al., 2012</td>\n", " <td>left</td>\n", " <td>NaN</td>\n", " <td>fw036274</td>\n", @@ -260,26 +281,26 @@ " </tr>\n", " </tbody>\n", "</table>\n", - "<p>1 rows × 25 columns</p>\n", + "<p>1 rows × 27 columns</p>\n", "</div>" ], "text/plain": [ " supervoxel_id root_id pos_x pos_y pos_z soma_x \\\n", "0 78957304514685298 720575940625431866 121444 59709 1248 125088.0 \n", "\n", - " soma_y soma_z nucleus_id flow ... ito_lee_hemilineage \\\n", - "0 52048.0 782.0 4518783.0 intrinsic ... ALad1 \n", + " soma_y soma_z nucleus_id flow ... morphology_group \\\n", + "0 52048.0 782.0 4518783.0 intrinsic ... ALad1__1 \n", "\n", - " hartenstein_hemilineage morphology_group top_nt top_nt_conf side \\\n", - "0 BAmv3 ALad1__1 acetylcholine 0.957189 left \n", + " top_nt top_nt_conf known_nt known_nt_source side nerve \\\n", + "0 acetylcholine 0.957189 acetylcholine Tanaka et al., 2012 left NaN \n", "\n", - " nerve vfb_id fbbt_id status \n", - "0 NaN fw036274 FBbt_00100386 NaN \n", + " vfb_id fbbt_id status \n", + "0 fw036274 FBbt_00100386 NaN \n", "\n", - "[1 rows x 25 columns]" + "[1 rows x 27 columns]" ] }, - "execution_count": 3, + "execution_count": 4, "metadata": {}, "output_type": "execute_result" } @@ -299,41 +320,43 @@ }, { "cell_type": "code", - "execution_count": 4, + "execution_count": 5, "metadata": {}, "outputs": [ { "data": { "text/plain": [ - "supervoxel_id 78957304514685298\n", - "root_id 720575940625431866\n", - "pos_x 121444\n", - "pos_y 59709\n", - "pos_z 1248\n", - "soma_x 125088.0\n", - "soma_y 52048.0\n", - "soma_z 782.0\n", - "nucleus_id 4518783.0\n", - "flow intrinsic\n", - "super_class central\n", - "cell_class ALPN\n", - "cell_sub_class uniglomerular\n", - "cell_type NaN\n", - "hemibrain_type VM5v_adPN\n", - "ito_lee_hemilineage ALad1\n", - "hartenstein_hemilineage BAmv3\n", - "morphology_group ALad1__1\n", - "top_nt acetylcholine\n", - "top_nt_conf 0.957189\n", - "side left\n", - "nerve NaN\n", - "vfb_id fw036274\n", - "fbbt_id FBbt_00100386\n", - "status NaN\n", + "supervoxel_id 78957304514685298\n", + "root_id 720575940625431866\n", + "pos_x 121444\n", + "pos_y 59709\n", + "pos_z 1248\n", + "soma_x 125088.0\n", + "soma_y 52048.0\n", + "soma_z 782.0\n", + "nucleus_id 4518783.0\n", + "flow intrinsic\n", + "super_class central\n", + "cell_class ALPN\n", + "cell_sub_class uniglomerular\n", + "cell_type NaN\n", + "hemibrain_type VM5v_adPN\n", + "ito_lee_hemilineage ALad1\n", + "hartenstein_hemilineage BAmv3\n", + "morphology_group ALad1__1\n", + "top_nt acetylcholine\n", + "top_nt_conf 0.957189\n", + "known_nt acetylcholine\n", + "known_nt_source Tanaka et al., 2012\n", + "side left\n", + "nerve NaN\n", + "vfb_id fw036274\n", + "fbbt_id FBbt_00100386\n", + "status NaN\n", "Name: 0, dtype: object" ] }, - "execution_count": 4, + "execution_count": 5, "metadata": {}, "output_type": "execute_result" } @@ -353,14 +376,14 @@ }, { "cell_type": "code", - "execution_count": 5, + "execution_count": 6, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ - "Caching community annotations for materialization version \"630\"... Done.\n" + "Caching community annotations for materialization version \"783\"... Done.\n" ] }, { @@ -385,98 +408,123 @@ " <tr style=\"text-align: right;\">\n", " <th></th>\n", " <th>id</th>\n", + " <th>created</th>\n", + " <th>superceded_id</th>\n", " <th>pos_x</th>\n", " <th>pos_y</th>\n", " <th>pos_z</th>\n", - " <th>supervoxel_id</th>\n", - " <th>root_id</th>\n", " <th>tag</th>\n", " <th>user</th>\n", " <th>user_id</th>\n", + " <th>supervoxel_id</th>\n", + " <th>root_id</th>\n", + " <th>user_name</th>\n", " </tr>\n", " </thead>\n", " <tbody>\n", " <tr>\n", - " <th>51343</th>\n", + " <th>0</th>\n", " <td>48935</td>\n", + " <td>2022-04-27 14:21:54.766389+00:00</td>\n", + " <td>NaN</td>\n", " <td>142332</td>\n", " <td>61350</td>\n", " <td>928</td>\n", - " <td>80435185514499960</td>\n", - " <td>720575940622287142</td>\n", " <td>ALPN,VM5v_adPN</td>\n", " <td>Philipp Schlegel</td>\n", " <td>62</td>\n", - " </tr>\n", - " <tr>\n", - " <th>51385</th>\n", - " <td>49507</td>\n", - " <td>121444</td>\n", - " <td>59709</td>\n", - " <td>1248</td>\n", - " <td>78957304514685298</td>\n", - " <td>720575940625431866</td>\n", - " <td>ALPN,VM5v_adPN</td>\n", - " <td>Philipp Schlegel</td>\n", - " <td>62</td>\n", - " </tr>\n", - " <tr>\n", - " <th>51389</th>\n", - " <td>49514</td>\n", - " <td>142668</td>\n", - " <td>61600</td>\n", - " <td>891</td>\n", - " <td>80435185514491668</td>\n", - " <td>720575940624661552</td>\n", - " <td>ALPN,VM5v_adPN</td>\n", + " <td>80435185514499960</td>\n", + " <td>720575940622287142</td>\n", " <td>Philipp Schlegel</td>\n", - " <td>62</td>\n", " </tr>\n", " <tr>\n", - " <th>51620</th>\n", + " <th>1</th>\n", " <td>49092</td>\n", + " <td>2022-04-27 14:26:00.639112+00:00</td>\n", + " <td>NaN</td>\n", " <td>120504</td>\n", " <td>60065</td>\n", " <td>1194</td>\n", - " <td>78887004489925320</td>\n", - " <td>720575940620189790</td>\n", " <td>ALPN,VM5v_adPN</td>\n", " <td>Philipp Schlegel</td>\n", " <td>62</td>\n", + " <td>78887004489925320</td>\n", + " <td>720575940620189790</td>\n", + " <td>Philipp Schlegel</td>\n", " </tr>\n", " <tr>\n", - " <th>51998</th>\n", + " <th>2</th>\n", " <td>49429</td>\n", + " <td>2022-04-27 14:34:21.735996+00:00</td>\n", + " <td>NaN</td>\n", " <td>142744</td>\n", " <td>62078</td>\n", " <td>944</td>\n", + " <td>ALPN,VM5v_adPN</td>\n", + " <td>Philipp Schlegel</td>\n", + " <td>62</td>\n", " <td>80435185514524409</td>\n", " <td>720575940619637780</td>\n", + " <td>Philipp Schlegel</td>\n", + " </tr>\n", + " <tr>\n", + " <th>3</th>\n", + " <td>49507</td>\n", + " <td>2022-04-27 14:36:19.985327+00:00</td>\n", + " <td>NaN</td>\n", + " <td>121444</td>\n", + " <td>59709</td>\n", + " <td>1248</td>\n", " <td>ALPN,VM5v_adPN</td>\n", " <td>Philipp Schlegel</td>\n", " <td>62</td>\n", + " <td>78957304514685298</td>\n", + " <td>720575940625431866</td>\n", + " <td>Philipp Schlegel</td>\n", + " </tr>\n", + " <tr>\n", + " <th>4</th>\n", + " <td>49495</td>\n", + " <td>2022-04-27 14:36:02.233129+00:00</td>\n", + " <td>NaN</td>\n", + " <td>121284</td>\n", + " <td>59660</td>\n", + " <td>1036</td>\n", + " <td>ALPN,VM5v_adPN</td>\n", + " <td>Philipp Schlegel</td>\n", + " <td>62</td>\n", + " <td>78957304447921539</td>\n", + " <td>720575940610505170</td>\n", + " <td>Philipp Schlegel</td>\n", " </tr>\n", " </tbody>\n", "</table>\n", "</div>" ], "text/plain": [ - " id pos_x pos_y pos_z supervoxel_id root_id \\\n", - "51343 48935 142332 61350 928 80435185514499960 720575940622287142 \n", - "51385 49507 121444 59709 1248 78957304514685298 720575940625431866 \n", - "51389 49514 142668 61600 891 80435185514491668 720575940624661552 \n", - "51620 49092 120504 60065 1194 78887004489925320 720575940620189790 \n", - "51998 49429 142744 62078 944 80435185514524409 720575940619637780 \n", + " id created superceded_id pos_x pos_y \\\n", + "0 48935 2022-04-27 14:21:54.766389+00:00 NaN 142332 61350 \n", + "1 49092 2022-04-27 14:26:00.639112+00:00 NaN 120504 60065 \n", + "2 49429 2022-04-27 14:34:21.735996+00:00 NaN 142744 62078 \n", + "3 49507 2022-04-27 14:36:19.985327+00:00 NaN 121444 59709 \n", + "4 49495 2022-04-27 14:36:02.233129+00:00 NaN 121284 59660 \n", "\n", - " tag user user_id \n", - "51343 ALPN,VM5v_adPN Philipp Schlegel 62 \n", - "51385 ALPN,VM5v_adPN Philipp Schlegel 62 \n", - "51389 ALPN,VM5v_adPN Philipp Schlegel 62 \n", - "51620 ALPN,VM5v_adPN Philipp Schlegel 62 \n", - "51998 ALPN,VM5v_adPN Philipp Schlegel 62 " + " pos_z tag user user_id supervoxel_id \\\n", + "0 928 ALPN,VM5v_adPN Philipp Schlegel 62 80435185514499960 \n", + "1 1194 ALPN,VM5v_adPN Philipp Schlegel 62 78887004489925320 \n", + "2 944 ALPN,VM5v_adPN Philipp Schlegel 62 80435185514524409 \n", + "3 1248 ALPN,VM5v_adPN Philipp Schlegel 62 78957304514685298 \n", + "4 1036 ALPN,VM5v_adPN Philipp Schlegel 62 78957304447921539 \n", + "\n", + " root_id user_name \n", + "0 720575940622287142 Philipp Schlegel \n", + "1 720575940620189790 Philipp Schlegel \n", + "2 720575940619637780 Philipp Schlegel \n", + "3 720575940625431866 Philipp Schlegel \n", + "4 720575940610505170 Philipp Schlegel " ] }, - "execution_count": 5, + "execution_count": 6, "metadata": {}, "output_type": "execute_result" } @@ -489,14 +537,14 @@ }, { "cell_type": "code", - "execution_count": 6, + "execution_count": 7, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ - "Using materialization version 630\n" + "Using materialization version 783.\n" ] }, { @@ -531,21 +579,21 @@ " <th>nucleus_id</th>\n", " <th>flow</th>\n", " <th>...</th>\n", - " <th>hemibrain_type</th>\n", - " <th>ito_lee_hemilineage</th>\n", - " <th>hartenstein_hemilineage</th>\n", " <th>morphology_group</th>\n", " <th>top_nt</th>\n", " <th>top_nt_conf</th>\n", + " <th>known_nt</th>\n", + " <th>known_nt_source</th>\n", " <th>side</th>\n", " <th>nerve</th>\n", + " <th>vfb_id</th>\n", " <th>fbbt_id</th>\n", " <th>status</th>\n", " </tr>\n", " </thead>\n", " <tbody>\n", " <tr>\n", - " <th>561</th>\n", + " <th>0</th>\n", " <td>80435185514499960</td>\n", " <td>720575940622287142</td>\n", " <td>142332</td>\n", @@ -557,19 +605,19 @@ " <td>5057638.0</td>\n", " <td>intrinsic</td>\n", " <td>...</td>\n", - " <td>VM5v_adPN</td>\n", - " <td>ALad1</td>\n", - " <td>BAmv3</td>\n", - " <td>ALad1_1</td>\n", + " <td>ALad1__1</td>\n", " <td>acetylcholine</td>\n", - " <td>0.938421</td>\n", + " <td>0.943605</td>\n", + " <td>acetylcholine</td>\n", + " <td>Tanaka et al., 2012</td>\n", " <td>right</td>\n", " <td>NaN</td>\n", + " <td>fw000568</td>\n", " <td>FBbt_00100386</td>\n", " <td>NaN</td>\n", " </tr>\n", " <tr>\n", - " <th>11874</th>\n", + " <th>1</th>\n", " <td>78887004489925320</td>\n", " <td>720575940620189790</td>\n", " <td>120504</td>\n", @@ -581,19 +629,19 @@ " <td>4518437.0</td>\n", " <td>intrinsic</td>\n", " <td>...</td>\n", - " <td>VM5v_adPN</td>\n", - " <td>ALad1</td>\n", - " <td>BAmv3</td>\n", - " <td>ALad1_1</td>\n", + " <td>ALad1__1</td>\n", " <td>acetylcholine</td>\n", - " <td>0.948491</td>\n", + " <td>0.950719</td>\n", + " <td>acetylcholine</td>\n", + " <td>Tanaka et al., 2012</td>\n", " <td>left</td>\n", " <td>NaN</td>\n", + " <td>fw012119</td>\n", " <td>FBbt_00100386</td>\n", " <td>NaN</td>\n", " </tr>\n", " <tr>\n", - " <th>34685</th>\n", + " <th>2</th>\n", " <td>80435185514524409</td>\n", " <td>720575940619637780</td>\n", " <td>142744</td>\n", @@ -605,19 +653,19 @@ " <td>5739285.0</td>\n", " <td>intrinsic</td>\n", " <td>...</td>\n", - " <td>VM5v_adPN</td>\n", - " <td>ALad1</td>\n", - " <td>BAmv3</td>\n", - " <td>ALad1_1</td>\n", + " <td>ALad1__1</td>\n", + " <td>acetylcholine</td>\n", + " <td>0.920976</td>\n", " <td>acetylcholine</td>\n", - " <td>0.918128</td>\n", + " <td>Tanaka et al., 2012</td>\n", " <td>right</td>\n", " <td>NaN</td>\n", + " <td>fw034817</td>\n", " <td>FBbt_00100386</td>\n", " <td>NaN</td>\n", " </tr>\n", " <tr>\n", - " <th>35972</th>\n", + " <th>3</th>\n", " <td>78957304447921539</td>\n", " <td>720575940610505170</td>\n", " <td>121284</td>\n", @@ -629,19 +677,19 @@ " <td>4515954.0</td>\n", " <td>intrinsic</td>\n", " <td>...</td>\n", - " <td>VM5v_adPN</td>\n", - " <td>ALad1</td>\n", - " <td>BAmv3</td>\n", - " <td>ALad1_1</td>\n", + " <td>ALad1__1</td>\n", + " <td>acetylcholine</td>\n", + " <td>0.951816</td>\n", " <td>acetylcholine</td>\n", - " <td>0.949083</td>\n", + " <td>Tanaka et al., 2012</td>\n", " <td>left</td>\n", " <td>NaN</td>\n", + " <td>fw036072</td>\n", " <td>FBbt_00100386</td>\n", " <td>NaN</td>\n", " </tr>\n", " <tr>\n", - " <th>36182</th>\n", + " <th>4</th>\n", " <td>78957304514685298</td>\n", " <td>720575940625431866</td>\n", " <td>121444</td>\n", @@ -653,55 +701,55 @@ " <td>4518783.0</td>\n", " <td>intrinsic</td>\n", " <td>...</td>\n", - " <td>VM5v_adPN</td>\n", - " <td>ALad1</td>\n", - " <td>BAmv3</td>\n", - " <td>ALad1_1</td>\n", + " <td>ALad1__1</td>\n", + " <td>acetylcholine</td>\n", + " <td>0.957189</td>\n", " <td>acetylcholine</td>\n", - " <td>0.954871</td>\n", + " <td>Tanaka et al., 2012</td>\n", " <td>left</td>\n", " <td>NaN</td>\n", + " <td>fw036274</td>\n", " <td>FBbt_00100386</td>\n", " <td>NaN</td>\n", " </tr>\n", " </tbody>\n", "</table>\n", - "<p>5 rows × 24 columns</p>\n", + "<p>5 rows × 27 columns</p>\n", "</div>" ], "text/plain": [ - " supervoxel_id root_id pos_x pos_y pos_z soma_x \\\n", - "561 80435185514499960 720575940622287142 142332 61350 928 139912.0 \n", - "11874 78887004489925320 720575940620189790 120504 60065 1194 124824.0 \n", - "34685 80435185514524409 720575940619637780 142744 62078 944 140752.0 \n", - "35972 78957304447921539 720575940610505170 121284 59660 1036 124040.0 \n", - "36182 78957304514685298 720575940625431866 121444 59709 1248 125088.0 \n", + " supervoxel_id root_id pos_x pos_y pos_z soma_x \\\n", + "0 80435185514499960 720575940622287142 142332 61350 928 139912.0 \n", + "1 78887004489925320 720575940620189790 120504 60065 1194 124824.0 \n", + "2 80435185514524409 720575940619637780 142744 62078 944 140752.0 \n", + "3 78957304447921539 720575940610505170 121284 59660 1036 124040.0 \n", + "4 78957304514685298 720575940625431866 121444 59709 1248 125088.0 \n", "\n", - " soma_y soma_z nucleus_id flow ... hemibrain_type \\\n", - "561 51768.0 698.0 5057638.0 intrinsic ... VM5v_adPN \n", - "11874 49920.0 998.0 4518437.0 intrinsic ... VM5v_adPN \n", - "34685 52368.0 374.0 5739285.0 intrinsic ... VM5v_adPN \n", - "35972 49616.0 906.0 4515954.0 intrinsic ... VM5v_adPN \n", - "36182 52048.0 782.0 4518783.0 intrinsic ... VM5v_adPN \n", + " soma_y soma_z nucleus_id flow ... morphology_group \\\n", + "0 51768.0 698.0 5057638.0 intrinsic ... ALad1__1 \n", + "1 49920.0 998.0 4518437.0 intrinsic ... ALad1__1 \n", + "2 52368.0 374.0 5739285.0 intrinsic ... ALad1__1 \n", + "3 49616.0 906.0 4515954.0 intrinsic ... ALad1__1 \n", + "4 52048.0 782.0 4518783.0 intrinsic ... ALad1__1 \n", "\n", - " ito_lee_hemilineage hartenstein_hemilineage morphology_group \\\n", - "561 ALad1 BAmv3 ALad1_1 \n", - "11874 ALad1 BAmv3 ALad1_1 \n", - "34685 ALad1 BAmv3 ALad1_1 \n", - "35972 ALad1 BAmv3 ALad1_1 \n", - "36182 ALad1 BAmv3 ALad1_1 \n", + " top_nt top_nt_conf known_nt known_nt_source side nerve \\\n", + "0 acetylcholine 0.943605 acetylcholine Tanaka et al., 2012 right NaN \n", + "1 acetylcholine 0.950719 acetylcholine Tanaka et al., 2012 left NaN \n", + "2 acetylcholine 0.920976 acetylcholine Tanaka et al., 2012 right NaN \n", + "3 acetylcholine 0.951816 acetylcholine Tanaka et al., 2012 left NaN \n", + "4 acetylcholine 0.957189 acetylcholine Tanaka et al., 2012 left NaN \n", "\n", - " top_nt top_nt_conf side nerve fbbt_id status \n", - "561 acetylcholine 0.938421 right NaN FBbt_00100386 NaN \n", - "11874 acetylcholine 0.948491 left NaN FBbt_00100386 NaN \n", - "34685 acetylcholine 0.918128 right NaN FBbt_00100386 NaN \n", - "35972 acetylcholine 0.949083 left NaN FBbt_00100386 NaN \n", - "36182 acetylcholine 0.954871 left NaN FBbt_00100386 NaN \n", + " vfb_id fbbt_id status \n", + "0 fw000568 FBbt_00100386 NaN \n", + "1 fw012119 FBbt_00100386 NaN \n", + "2 fw034817 FBbt_00100386 NaN \n", + "3 fw036072 FBbt_00100386 NaN \n", + "4 fw036274 FBbt_00100386 NaN \n", "\n", - "[5 rows x 24 columns]" + "[5 rows x 27 columns]" ] }, - "execution_count": 6, + "execution_count": 7, "metadata": {}, "output_type": "execute_result" } @@ -721,14 +769,14 @@ }, { "cell_type": "code", - "execution_count": 6, + "execution_count": 8, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ - "Using materialization version 630\n" + "Using materialization version 783.\n" ] }, { @@ -763,11 +811,11 @@ " <th>nucleus_id</th>\n", " <th>flow</th>\n", " <th>...</th>\n", - " <th>ito_lee_hemilineage</th>\n", - " <th>hartenstein_hemilineage</th>\n", " <th>morphology_group</th>\n", " <th>top_nt</th>\n", " <th>top_nt_conf</th>\n", + " <th>known_nt</th>\n", + " <th>known_nt_source</th>\n", " <th>side</th>\n", " <th>nerve</th>\n", " <th>vfb_id</th>\n", @@ -790,10 +838,10 @@ " <td>afferent</td>\n", " <td>...</td>\n", " <td>NaN</td>\n", - " <td>NaN</td>\n", - " <td>NaN</td>\n", " <td>acetylcholine</td>\n", " <td>0.701929</td>\n", + " <td>NaN</td>\n", + " <td>NaN</td>\n", " <td>left</td>\n", " <td>PhN</td>\n", " <td>fw039687</td>\n", @@ -814,10 +862,10 @@ " <td>afferent</td>\n", " <td>...</td>\n", " <td>NaN</td>\n", - " <td>NaN</td>\n", - " <td>NaN</td>\n", " <td>acetylcholine</td>\n", " <td>0.623311</td>\n", + " <td>NaN</td>\n", + " <td>NaN</td>\n", " <td>left</td>\n", " <td>MxLbN</td>\n", " <td>fw043484</td>\n", @@ -838,10 +886,10 @@ " <td>afferent</td>\n", " <td>...</td>\n", " <td>NaN</td>\n", - " <td>NaN</td>\n", - " <td>NaN</td>\n", " <td>acetylcholine</td>\n", " <td>0.716926</td>\n", + " <td>NaN</td>\n", + " <td>NaN</td>\n", " <td>left</td>\n", " <td>MxLbN</td>\n", " <td>fw043485</td>\n", @@ -862,10 +910,10 @@ " <td>afferent</td>\n", " <td>...</td>\n", " <td>NaN</td>\n", - " <td>NaN</td>\n", - " <td>NaN</td>\n", " <td>acetylcholine</td>\n", " <td>0.747361</td>\n", + " <td>NaN</td>\n", + " <td>NaN</td>\n", " <td>left</td>\n", " <td>MxLbN</td>\n", " <td>fw043486</td>\n", @@ -886,10 +934,10 @@ " <td>afferent</td>\n", " <td>...</td>\n", " <td>NaN</td>\n", - " <td>NaN</td>\n", - " <td>NaN</td>\n", " <td>acetylcholine</td>\n", " <td>0.727190</td>\n", + " <td>NaN</td>\n", + " <td>NaN</td>\n", " <td>left</td>\n", " <td>MxLbN</td>\n", " <td>fw043487</td>\n", @@ -898,7 +946,7 @@ " </tr>\n", " </tbody>\n", "</table>\n", - "<p>5 rows × 25 columns</p>\n", + "<p>5 rows × 27 columns</p>\n", "</div>" ], "text/plain": [ @@ -909,31 +957,24 @@ "3 78888516385974174 720575940635791167 120512 82676 2063 NaN \n", "4 78747710244640262 720575940629270339 118458 82316 2109 NaN \n", "\n", - " soma_y soma_z nucleus_id flow ... ito_lee_hemilineage \\\n", - "0 NaN NaN NaN afferent ... NaN \n", - "1 NaN NaN NaN afferent ... NaN \n", - "2 NaN NaN NaN afferent ... NaN \n", - "3 NaN NaN NaN afferent ... NaN \n", - "4 NaN NaN NaN afferent ... NaN \n", - "\n", - " hartenstein_hemilineage morphology_group top_nt top_nt_conf side \\\n", - "0 NaN NaN acetylcholine 0.701929 left \n", - "1 NaN NaN acetylcholine 0.623311 left \n", - "2 NaN NaN acetylcholine 0.716926 left \n", - "3 NaN NaN acetylcholine 0.747361 left \n", - "4 NaN NaN acetylcholine 0.727190 left \n", + " soma_y soma_z nucleus_id flow ... morphology_group top_nt \\\n", + "0 NaN NaN NaN afferent ... NaN acetylcholine \n", + "1 NaN NaN NaN afferent ... NaN acetylcholine \n", + "2 NaN NaN NaN afferent ... NaN acetylcholine \n", + "3 NaN NaN NaN afferent ... NaN acetylcholine \n", + "4 NaN NaN NaN afferent ... NaN acetylcholine \n", "\n", - " nerve vfb_id fbbt_id status \n", - "0 PhN fw039687 NaN NaN \n", - "1 MxLbN fw043484 NaN NaN \n", - "2 MxLbN fw043485 NaN NaN \n", - "3 MxLbN fw043486 NaN NaN \n", - "4 MxLbN fw043487 NaN NaN \n", + " top_nt_conf known_nt known_nt_source side nerve vfb_id fbbt_id status \n", + "0 0.701929 NaN NaN left PhN fw039687 NaN NaN \n", + "1 0.623311 NaN NaN left MxLbN fw043484 NaN NaN \n", + "2 0.716926 NaN NaN left MxLbN fw043485 NaN NaN \n", + "3 0.747361 NaN NaN left MxLbN fw043486 NaN NaN \n", + "4 0.727190 NaN NaN left MxLbN fw043487 NaN NaN \n", "\n", - "[5 rows x 25 columns]" + "[5 rows x 27 columns]" ] }, - "execution_count": 6, + "execution_count": 8, "metadata": {}, "output_type": "execute_result" } @@ -962,7 +1003,7 @@ "output_type": "stream", "text": [ "Found 8 neurons matching the given criteria.\n", - "Using cached materialization version 630\n" + "Using materialization version 783.\n" ] }, { @@ -997,11 +1038,11 @@ " <th>nucleus_id</th>\n", " <th>flow</th>\n", " <th>...</th>\n", - " <th>ito_lee_hemilineage</th>\n", - " <th>hartenstein_hemilineage</th>\n", " <th>morphology_group</th>\n", " <th>top_nt</th>\n", " <th>top_nt_conf</th>\n", + " <th>known_nt</th>\n", + " <th>known_nt_source</th>\n", " <th>side</th>\n", " <th>nerve</th>\n", " <th>vfb_id</th>\n", @@ -1023,11 +1064,11 @@ " <td>2469243.0</td>\n", " <td>intrinsic</td>\n", " <td>...</td>\n", - " <td>ALl1_ventral</td>\n", - " <td>BAlc_ventral</td>\n", " <td>ALl1_ventral__7</td>\n", " <td>acetylcholine</td>\n", " <td>0.929829</td>\n", + " <td>acetylcholine</td>\n", + " <td>Tanaka et al., 2012</td>\n", " <td>left</td>\n", " <td>NaN</td>\n", " <td>fw012440</td>\n", @@ -1047,11 +1088,11 @@ " <td>2469812.0</td>\n", " <td>intrinsic</td>\n", " <td>...</td>\n", - " <td>ALl1_ventral</td>\n", - " <td>BAlc_ventral</td>\n", " <td>ALl1_ventral__7</td>\n", " <td>acetylcholine</td>\n", " <td>0.909374</td>\n", + " <td>acetylcholine</td>\n", + " <td>Tanaka et al., 2012</td>\n", " <td>left</td>\n", " <td>NaN</td>\n", " <td>fw032945</td>\n", @@ -1071,11 +1112,11 @@ " <td>2468760.0</td>\n", " <td>intrinsic</td>\n", " <td>...</td>\n", - " <td>ALl1_ventral</td>\n", - " <td>BAlc_ventral</td>\n", " <td>ALl1_ventral__7</td>\n", " <td>acetylcholine</td>\n", " <td>0.894545</td>\n", + " <td>acetylcholine</td>\n", + " <td>Tanaka et al., 2012</td>\n", " <td>left</td>\n", " <td>NaN</td>\n", " <td>fw033427</td>\n", @@ -1095,11 +1136,11 @@ " <td>2471407.0</td>\n", " <td>intrinsic</td>\n", " <td>...</td>\n", - " <td>ALl1_ventral</td>\n", - " <td>BAlc_ventral</td>\n", " <td>ALl1_ventral__7</td>\n", " <td>acetylcholine</td>\n", " <td>0.930650</td>\n", + " <td>acetylcholine</td>\n", + " <td>Tanaka et al., 2012</td>\n", " <td>left</td>\n", " <td>NaN</td>\n", " <td>fw033526</td>\n", @@ -1119,11 +1160,11 @@ " <td>2468972.0</td>\n", " <td>intrinsic</td>\n", " <td>...</td>\n", - " <td>ALl1_ventral</td>\n", - " <td>BAlc_ventral</td>\n", " <td>ALl1_ventral__7</td>\n", " <td>acetylcholine</td>\n", " <td>0.916676</td>\n", + " <td>acetylcholine</td>\n", + " <td>Tanaka et al., 2012</td>\n", " <td>left</td>\n", " <td>NaN</td>\n", " <td>fw034548</td>\n", @@ -1143,11 +1184,11 @@ " <td>2476421.0</td>\n", " <td>intrinsic</td>\n", " <td>...</td>\n", - " <td>ALl1_ventral</td>\n", - " <td>BAlc_ventral</td>\n", " <td>ALl1_ventral__7</td>\n", " <td>acetylcholine</td>\n", " <td>0.928285</td>\n", + " <td>acetylcholine</td>\n", + " <td>Tanaka et al., 2012</td>\n", " <td>left</td>\n", " <td>NaN</td>\n", " <td>fw035057</td>\n", @@ -1167,11 +1208,11 @@ " <td>2468593.0</td>\n", " <td>intrinsic</td>\n", " <td>...</td>\n", - " <td>ALl1_ventral</td>\n", - " <td>BAlc_ventral</td>\n", " <td>ALl1_ventral__7</td>\n", " <td>acetylcholine</td>\n", " <td>0.938961</td>\n", + " <td>acetylcholine</td>\n", + " <td>Tanaka et al., 2012</td>\n", " <td>left</td>\n", " <td>NaN</td>\n", " <td>fw035224</td>\n", @@ -1191,11 +1232,11 @@ " <td>2532594.0</td>\n", " <td>intrinsic</td>\n", " <td>...</td>\n", - " <td>ALl1_ventral</td>\n", - " <td>BAlc_ventral</td>\n", " <td>ALl1_ventral__7</td>\n", " <td>acetylcholine</td>\n", " <td>0.899551</td>\n", + " <td>acetylcholine</td>\n", + " <td>Tanaka et al., 2012</td>\n", " <td>left</td>\n", " <td>NaN</td>\n", " <td>fw036329</td>\n", @@ -1204,7 +1245,7 @@ " </tr>\n", " </tbody>\n", "</table>\n", - "<p>8 rows × 25 columns</p>\n", + "<p>8 rows × 27 columns</p>\n", "</div>" ], "text/plain": [ @@ -1218,37 +1259,37 @@ "6 78323779658618911 720575940603231916 112038 56471 1216 100672.0 \n", "7 78464654585926444 720575940605102694 113795 58276 1223 103744.0 \n", "\n", - " soma_y soma_z nucleus_id flow ... ito_lee_hemilineage \\\n", - "0 57432.0 1311.0 2469243.0 intrinsic ... ALl1_ventral \n", - "1 55568.0 1655.0 2469812.0 intrinsic ... ALl1_ventral \n", - "2 56608.0 1386.0 2468760.0 intrinsic ... ALl1_ventral \n", - "3 55800.0 1508.0 2471407.0 intrinsic ... ALl1_ventral \n", - "4 54536.0 1584.0 2468972.0 intrinsic ... ALl1_ventral \n", - "5 55088.0 1687.0 2476421.0 intrinsic ... ALl1_ventral \n", - "6 54976.0 1388.0 2468593.0 intrinsic ... ALl1_ventral \n", - "7 60904.0 1295.0 2532594.0 intrinsic ... ALl1_ventral \n", + " soma_y soma_z nucleus_id flow ... morphology_group \\\n", + "0 57432.0 1311.0 2469243.0 intrinsic ... ALl1_ventral__7 \n", + "1 55568.0 1655.0 2469812.0 intrinsic ... ALl1_ventral__7 \n", + "2 56608.0 1386.0 2468760.0 intrinsic ... ALl1_ventral__7 \n", + "3 55800.0 1508.0 2471407.0 intrinsic ... ALl1_ventral__7 \n", + "4 54536.0 1584.0 2468972.0 intrinsic ... ALl1_ventral__7 \n", + "5 55088.0 1687.0 2476421.0 intrinsic ... ALl1_ventral__7 \n", + "6 54976.0 1388.0 2468593.0 intrinsic ... ALl1_ventral__7 \n", + "7 60904.0 1295.0 2532594.0 intrinsic ... ALl1_ventral__7 \n", "\n", - " hartenstein_hemilineage morphology_group top_nt top_nt_conf side \\\n", - "0 BAlc_ventral ALl1_ventral__7 acetylcholine 0.929829 left \n", - "1 BAlc_ventral ALl1_ventral__7 acetylcholine 0.909374 left \n", - "2 BAlc_ventral ALl1_ventral__7 acetylcholine 0.894545 left \n", - "3 BAlc_ventral ALl1_ventral__7 acetylcholine 0.930650 left \n", - "4 BAlc_ventral ALl1_ventral__7 acetylcholine 0.916676 left \n", - "5 BAlc_ventral ALl1_ventral__7 acetylcholine 0.928285 left \n", - "6 BAlc_ventral ALl1_ventral__7 acetylcholine 0.938961 left \n", - "7 BAlc_ventral ALl1_ventral__7 acetylcholine 0.899551 left \n", + " top_nt top_nt_conf known_nt known_nt_source side nerve \\\n", + "0 acetylcholine 0.929829 acetylcholine Tanaka et al., 2012 left NaN \n", + "1 acetylcholine 0.909374 acetylcholine Tanaka et al., 2012 left NaN \n", + "2 acetylcholine 0.894545 acetylcholine Tanaka et al., 2012 left NaN \n", + "3 acetylcholine 0.930650 acetylcholine Tanaka et al., 2012 left NaN \n", + "4 acetylcholine 0.916676 acetylcholine Tanaka et al., 2012 left NaN \n", + "5 acetylcholine 0.928285 acetylcholine Tanaka et al., 2012 left NaN \n", + "6 acetylcholine 0.938961 acetylcholine Tanaka et al., 2012 left NaN \n", + "7 acetylcholine 0.899551 acetylcholine Tanaka et al., 2012 left NaN \n", "\n", - " nerve vfb_id fbbt_id status \n", - "0 NaN fw012440 FBbt_00067363 NaN \n", - "1 NaN fw032945 FBbt_00067363 NaN \n", - "2 NaN fw033427 FBbt_00067363 NaN \n", - "3 NaN fw033526 FBbt_00067363 NaN \n", - "4 NaN fw034548 FBbt_00067363 NaN \n", - "5 NaN fw035057 FBbt_00067363 NaN \n", - "6 NaN fw035224 FBbt_00067363 NaN \n", - "7 NaN fw036329 FBbt_00067363 NaN \n", + " vfb_id fbbt_id status \n", + "0 fw012440 FBbt_00067363 NaN \n", + "1 fw032945 FBbt_00067363 NaN \n", + "2 fw033427 FBbt_00067363 NaN \n", + "3 fw033526 FBbt_00067363 NaN \n", + "4 fw034548 FBbt_00067363 NaN \n", + "5 fw035057 FBbt_00067363 NaN \n", + "6 fw035224 FBbt_00067363 NaN \n", + "7 fw036329 FBbt_00067363 NaN \n", "\n", - "[8 rows x 25 columns]" + "[8 rows x 27 columns]" ] }, "execution_count": 9, @@ -1288,7 +1329,7 @@ "output_type": "stream", "text": [ "Found 8 neurons matching the given criteria.\n", - "Using materialization version 630\n" + "Using materialization version 783.\n" ] }, { @@ -1333,7 +1374,7 @@ " <tr>\n", " <th>2</th>\n", " <td>720575940603231916</td>\n", - " <td>720575940630610425</td>\n", + " <td>720575940635945919</td>\n", " <td>46</td>\n", " </tr>\n", " <tr>\n", @@ -1345,7 +1386,7 @@ " <tr>\n", " <th>4</th>\n", " <td>720575940614309535</td>\n", - " <td>720575940630610425</td>\n", + " <td>720575940635945919</td>\n", " <td>39</td>\n", " </tr>\n", " </tbody>\n", @@ -1356,9 +1397,9 @@ " pre post weight\n", "0 720575940605102694 720575940646122804 64\n", "1 720575940603231916 720575940629163931 50\n", - "2 720575940603231916 720575940630610425 46\n", + "2 720575940603231916 720575940635945919 46\n", "3 720575940603231916 720575940646122804 42\n", - "4 720575940614309535 720575940630610425 39" + "4 720575940614309535 720575940635945919 39" ] }, "execution_count": 10, @@ -1382,7 +1423,7 @@ }, { "cell_type": "code", - "execution_count": 13, + "execution_count": 12, "metadata": {}, "outputs": [ { @@ -1395,7 +1436,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "94b6e7a5f99b4e82896b43df392d3caf", + "model_id": "b4e78c34b33946cfa3f8d6c10160248b", "version_major": 2, "version_minor": 0 }, @@ -1409,7 +1450,7 @@ { "data": { "text/html": [ - "<class 'navis.core.neuronlist.NeuronList'> containing 8 neurons (663.5KiB)<div>\n", + "<class 'navis.core.neuronlist.NeuronList'> containing 8 neurons (827.5KiB)<div>\n", "<style scoped>\n", " .dataframe tbody tr th:only-of-type {\n", " vertical-align: middle;\n", @@ -1445,12 +1486,12 @@ " <td>navis.TreeNeuron</td>\n", " <td>skeleton</td>\n", " <td>720575940603231916</td>\n", - " <td>2499</td>\n", + " <td>3588</td>\n", " <td>None</td>\n", - " <td>594</td>\n", - " <td>652</td>\n", - " <td>1995934.875</td>\n", - " <td>[104, 311, 313, 315, 317, 318, 320, 323, 894, ...</td>\n", + " <td>586</td>\n", + " <td>645</td>\n", + " <td>2050971.75</td>\n", + " <td>[141, 458, 460, 462, 464, 466, 467, 469, 470, ...</td>\n", " <td>1 nanometer</td>\n", " </tr>\n", " <tr>\n", @@ -1458,12 +1499,12 @@ " <td>navis.TreeNeuron</td>\n", " <td>skeleton</td>\n", " <td>720575940605102694</td>\n", - " <td>3291</td>\n", + " <td>4596</td>\n", " <td>None</td>\n", - " <td>914</td>\n", - " <td>1026</td>\n", - " <td>2545239.250</td>\n", - " <td>[9, 71, 75, 83, 86, 95, 111, 112, 115, 128, 15...</td>\n", + " <td>856</td>\n", + " <td>971</td>\n", + " <td>2598267.50</td>\n", + " <td>[121, 125, 128, 130, 131, 149, 161, 173, 183, ...</td>\n", " <td>1 nanometer</td>\n", " </tr>\n", " <tr>\n", @@ -1484,12 +1525,12 @@ " <td>navis.TreeNeuron</td>\n", " <td>skeleton</td>\n", " <td>720575940626034819</td>\n", - " <td>2387</td>\n", + " <td>3519</td>\n", " <td>None</td>\n", - " <td>531</td>\n", - " <td>578</td>\n", - " <td>1940427.250</td>\n", - " <td>[21, 153, 158, 252, 253, 254, 256, 912, 958, 9...</td>\n", + " <td>522</td>\n", + " <td>570</td>\n", + " <td>1986607.75</td>\n", + " <td>[15, 19, 21, 22, 239, 242, 384, 385, 387, 389,...</td>\n", " <td>1 nanometer</td>\n", " </tr>\n", " <tr>\n", @@ -1497,12 +1538,12 @@ " <td>navis.TreeNeuron</td>\n", " <td>skeleton</td>\n", " <td>720575940637208718</td>\n", - " <td>2857</td>\n", + " <td>4143</td>\n", " <td>None</td>\n", - " <td>694</td>\n", - " <td>758</td>\n", - " <td>2260301.500</td>\n", - " <td>[187, 565, 572, 582, 981, 1017, 1042, 1045, 10...</td>\n", + " <td>688</td>\n", + " <td>750</td>\n", + " <td>2318905.00</td>\n", + " <td>[280, 535, 656, 692, 729, 751, 829, 1355, 1396...</td>\n", " <td>1 nanometer</td>\n", " </tr>\n", " </tbody>\n", @@ -1510,30 +1551,30 @@ "</div>" ], "text/plain": [ - "<class 'navis.core.neuronlist.NeuronList'> containing 8 neurons (663.5KiB)\n", + "<class 'navis.core.neuronlist.NeuronList'> containing 8 neurons (827.5KiB)\n", " type name id n_nodes n_connectors \\\n", - "0 navis.TreeNeuron skeleton 720575940603231916 2499 None \n", - "1 navis.TreeNeuron skeleton 720575940605102694 3291 None \n", + "0 navis.TreeNeuron skeleton 720575940603231916 3588 None \n", + "1 navis.TreeNeuron skeleton 720575940605102694 4596 None \n", ".. ... ... ... ... ... \n", - "6 navis.TreeNeuron skeleton 720575940626034819 2387 None \n", - "7 navis.TreeNeuron skeleton 720575940637208718 2857 None \n", + "6 navis.TreeNeuron skeleton 720575940626034819 3519 None \n", + "7 navis.TreeNeuron skeleton 720575940637208718 4143 None \n", "\n", " n_branches n_leafs cable_length \\\n", - "0 594 652 1995934.875 \n", - "1 914 1026 2545239.250 \n", + "0 586 645 2050971.75 \n", + "1 856 971 2598267.50 \n", ".. ... ... ... \n", - "6 531 578 1940427.250 \n", - "7 694 758 2260301.500 \n", + "6 522 570 1986607.75 \n", + "7 688 750 2318905.00 \n", "\n", " soma units \n", - "0 [104, 311, 313, 315, 317, 318, 320, 323, 894, ... 1 nanometer \n", - "1 [9, 71, 75, 83, 86, 95, 111, 112, 115, 128, 15... 1 nanometer \n", + "0 [141, 458, 460, 462, 464, 466, 467, 469, 470, ... 1 nanometer \n", + "1 [121, 125, 128, 130, 131, 149, 161, 173, 183, ... 1 nanometer \n", ".. ... ... \n", - "6 [21, 153, 158, 252, 253, 254, 256, 912, 958, 9... 1 nanometer \n", - "7 [187, 565, 572, 582, 981, 1017, 1042, 1045, 10... 1 nanometer " + "6 [15, 19, 21, 22, 239, 242, 384, 385, 387, 389,... 1 nanometer \n", + "7 [280, 535, 656, 692, 729, 751, 829, 1355, 1396... 1 nanometer " ] }, - "execution_count": 13, + "execution_count": 12, "metadata": {}, "output_type": "execute_result" } @@ -1541,14 +1582,17 @@ "source": [ ">>> sk = flywire.get_skeletons(NC(type='DA1_lPN',\n", "... side='left',\n", - "... materialization=630),\n", - "... dataset=630)\n", + "... materialization=783))\n", ">>> sk" ] }, { "cell_type": "raw", - "metadata": {}, + "metadata": { + "vscode": { + "languageId": "raw" + } + }, "source": [ "Please see the :ref:`API reference <api_annotations>` for a full list\n", "of annotation-related functions.\n", @@ -1565,7 +1609,7 @@ "At the time of writing, the repository already contains 3 versions of the annotations\n", "(`v1.0.0`, `v1.1.0` and `v2.0.0`; see \"Releases\" on the repository) and we're\n", "planning to release new versions with updated labels in the future. By default,\n", - "``fafbseg`` will use the latest available version but you can also specify which\n", + "``fafbseg`` will use the latest available data but you can also specify which\n", "version you want to use (see :func:`~fafbseg.flywire.set_default_annotation_version`).\n", "\n", "These annotation versions are _technically_ independent of the segmentation since\n", @@ -1598,7 +1642,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.9.9" + "version": "3.11.8" }, "orig_nbformat": 4 }, diff --git a/fafbseg/flywire/annotations.py b/fafbseg/flywire/annotations.py index 19966ad..27c6a31 100644 --- a/fafbseg/flywire/annotations.py +++ b/fafbseg/flywire/annotations.py @@ -84,6 +84,7 @@ # The default annotation version DEFAULT_ANNOTATION_VERSION = os.environ.get('FLYWIRE_DEFAULT_ANNOTATION_VERSION', None) +_CURRENT_ANNOTATION_COMMIT = None # this is to keep track of the current commit def parse_neuroncriteria(allow_all=True, allow_empty=False): @@ -1110,9 +1111,9 @@ def search_annotations(x, - if `None` (default), will use in order: 1. The version set by ``flywire.set_default_annotation_version()`` 2. The version set by environment variable ``FLYWIRE_DEFAULT_ANNOTATION_VERSION`` - 3. The latest commit available on the "main" branch - - if `latest_commit` will use the latest available release - - if `latest_tag` will use the latest available tag + 3. The latest tagged release available on the "main" branch + - if `latest_commit` will use the latest available commit + - if `latest_tag` will use the latest available tag (release) Please see the online tutorial on annotations for details. materialization : "auto" | "live" | "latest" | int | bool Which materialization version to search: @@ -1309,53 +1310,76 @@ def search_annotations(x, def version_to_commit(annotation_version): """Map version to commit.""" - if annotation_version == 'latest_commit': - return _get_available_commits()[0]['sha'] - # Get available tags for the repo tags = _get_available_annotation_versions() # If no version specified in this function + annotation_version_str = "unspecified" if annotation_version is None: # If no default annotation version if DEFAULT_ANNOTATION_VERSION is None: - # Use latest tagged release + # Use latest commit + annotation_version_str = "latest tagged release" annotation_version = tags[0]['name'] + #annotation_version = _get_available_commits()[0]['sha'] else: + annotation_version_str = f"default ({DEFAULT_ANNOTATION_VERSION})" annotation_version = DEFAULT_ANNOTATION_VERSION - elif annotation_version == 'latest_tag': + + if annotation_version == 'latest_tag': + annotation_version_str = "latest tagged release" annotation_version = tags[0]['name'] + elif annotation_version == 'latest_commit': + annotation_version_str = "latest commit" + annotation_version = _get_available_commits()[0]['sha'] + + # Now map the annotation version to the actual commit sha + sha = None - # Map annotation version to commit - commit = None # See if any of the tags match `annotation_version` for t in tags: if annotation_version == t['name']: - commit = t['commit']['sha'] + sha = t['commit']['sha'] break - # If no commit, look for a branch - if not commit: + # If still no commit, look for a branch + if not sha: branches = _get_available_branches() for b in branches: if annotation_version == b['name']: - commit = b['commit']['sha'] + sha = b['commit']['sha'] break - # If no commit, look for an actual commit - if not commit: + # If still no commit, look for an actual commit + if not sha: all_commits = _get_available_commits() for c in all_commits: if c['sha'].startswith(annotation_version): - commit = c['sha'] + sha = c['sha'] break # If still no commit, raise error - if not commit: + if not sha: raise ValueError(f'`annotation_version="{annotation_version}"` could not ' 'be mapped to a commit.\n' f'Available versions are: {", ".join([t["name"] for t in tags])}\n' f'Available branches are: {", ".join([b["name"] for b in branches])}') - return commit + # Report which version we are using on first call + global _CURRENT_ANNOTATION_COMMIT + if _CURRENT_ANNOTATION_COMMIT != sha: + all_commits = _get_available_commits() + for c in all_commits: + if c['sha'] == sha: + commit = c + break + try: + # This works if we have a commit date + date = f" from {dt.datetime.fromisoformat(commit['commit']['author']['date']).date()}" + except BaseException: + date = '' + print(f'Using annotation version "{annotation_version_str}" ({sha[:7]}{date}) from https://github.com/flyconnectome/flywire_annotations.') + _CURRENT_ANNOTATION_COMMIT = sha + + return sha def clear_cached_annotations(): @@ -1399,9 +1423,9 @@ def get_hierarchical_annotations(annotation_version=None, - if `None` (default), will use in order: 1. The version set by ``flywire.set_default_annotation_version()`` 2. The version set by environment variable ``FLYWIRE_DEFAULT_ANNOTATION_VERSION`` - 3. The latest commit available on the "main" branch - - if `latest_commit` will use the latest available release - - if `latest_tag` will use the latest available tag + 3. The latest tagged release available on the "main" branch + - if `latest_commit` will use the latest available commit + - if `latest_tag` will use the latest available tag (release) Please see the online tutorial on annotations for details. materialization : "live" | "latest" | int, optional Which materialization you want the root IDs to correspond to: @@ -2243,7 +2267,9 @@ def set_default_annotation_version(version): tags = [t['name'] for t in _get_available_annotation_versions()] if version: - if version in branches: + if version in ('latest_commit', 'latest_tag'): + pass + elif version in branches: print(f'Default annotation version set to latest commit in branch "{version}".') elif version in tags: print(f'Default annotation version set to tag "{version}".') @@ -2254,5 +2280,5 @@ def set_default_annotation_version(version): else: print('Default annotation version set to `None` (will use latest release on "main" branch).') - global FLYWIRE_DEFAULT_ANNOTATION_VERSION - FLYWIRE_DEFAULT_ANNOTATION_VERSION = version + global DEFAULT_ANNOTATION_VERSION + DEFAULT_ANNOTATION_VERSION = version