Connectomic mapping of pharyngeal and gut sensory circuits in adult <i>Drosophila</i>.
The 14 matches
- [1] § STAR★Methods › Method details › Clustering sensory axons based on their output connectivity ↔ analyses/3_Coconatfly_aPhN_Cosine.ipynb, lines 1–74 · score 0.79 · Ward D2, hierarchical clustering, FAFB v783, Coconatfly, FlyWire, Notebook
- [2] § STAR★Methods › Method details › Clustering sensory axons based on their output connectivity ↔ analyses/2_Coconatfly_PhN_Cosine.ipynb, lines 1–55 · score 0.78 · Ward D2, hierarchical clustering, FAFB v783, FlyWire, Notebook, Coconatfly
- [3] § Results › Monosynaptic connections between internal sensory axons and motor or endocrine output neurons ↔ analyses/hops_visualization.ipynb, lines 851–993 · score 0.78 · taste peg, Ir94e, motor neuron, aPhN2, water, bitter
- [4] § Results › Monosynaptic connections between internal sensory axons and motor or endocrine output neurons ↔ analyses/hops_visualization.ipynb, lines 851–993 · score 0.75 · taste peg, Ir94e, motor neuron, aPhN1, aPhN2, bitter
- [5] § Results › Monosynaptic connections between internal sensory axons and motor or endocrine output neurons ↔ analyses/Full_hops_figure.ipynb, lines 994–1076 · score 0.72 · taste peg, Ir94e, aPhN2, S4, water, bitter
- [6] § Results › Monosynaptic connections between internal sensory axons and motor or endocrine output neurons ↔ analyses/Full_hops_figure.ipynb, lines 994–1076 · score 0.67 · taste peg, Ir94e, aPhN1, aPhN2, bitter, sugar
- [7] § STAR★Methods › Method details › Identifying putative gut and pharyngeal sensory axons ↔ analyses/1_Coconatfly_aPhN_PhN_Cosine.ipynb, lines 1–55 · score 0.66 · accessory pharyngeal nerve, FlyWire, aPhN, root IDs, sensory neurons, retrieved
- [8] § STAR★Methods › Method details › Identifying putative gut and pharyngeal sensory axons ↔ analyses/2_Coconatfly_PhN_Cosine.ipynb, lines 1–55 · score 0.66 · accessory pharyngeal nerve, FlyWire, aPhN, root IDs, retrieved, metadata
- [9] § Results › Identification of putative gut and pharyngeal sensory axons in the FAFB connectome ↔ analyses/1_Coconatfly_aPhN_PhN_Cosine.ipynb, lines 1–55 · score 0.64 · accessory pharyngeal nerves, ventral cibarial, dorsal cibarial, labral, rows, LSO
- [10] § Results › Identification of putative gut and pharyngeal sensory axons in the FAFB connectome ↔ analyses/5_aPhN_DCSO_connectome_analysis_v2.ipynb, lines 3035–3107 · score 0.59 · SEZ region, aPhN1, aPhN2, PRW, DCSO, neuropil
- [11] § STAR★Methods › Method details › Analyzing the minimum number of synaptic hops to motor or endocrine neurons ↔ analyses/Full_hops_figure.ipynb, lines 154–262 · score 0.55 · Sankey diagrams, flow, thickness, hops, node, connections
- [12] § STAR★Methods › Method details › Analyzing the minimum number of synaptic hops to motor or endocrine neurons ↔ analyses/5_aPhN_DCSO_connectome_analysis_v2.ipynb, lines 3939–4551 · score 0.53 · root IDs, queries, cell, FlyWire, endocrine, neuron
- [13] § Results › Identification of putative gut and pharyngeal sensory axons in the FAFB connectome ↔ analyses/3_Coconatfly_aPhN_Cosine.ipynb, lines 1–74 · score 0.52 · putative DCSO, aPhN1, aPhN2, cosine, LSO, VCSO
- [14] § Results › Downstream circuits of the pharyngeal sensory axons ↔ analyses/5_aPhN_DCSO_connectome_analysis_v2.ipynb, lines 3324–3461 · score 0.52 · aPhN1, aPhN2, S2, descending, ascending, DCSO
Paper
Loaded from Europe PMC by your browser, not stored by OSCR: doi.org · Europe PMC
The paper is loaded when this pane is shown.
The authors' code
Jupyter notebook · 1,080 lines · 41 KB · no license · 3 matches
- # %% [markdown]
- # ## Workflow overview (from exploratory checks to final portrait figure)
- #
- # ### Task (what this notebook does)
- # This notebook builds **multi-hop synaptic flow summaries** from curated **sensory neuron sets** and visualizes them as **Sankey diagrams**. The earlier cells are **exploratory** (single-panel Sankeys for individual sets and minor variants), while the last section assembles the **final multi-panel portrait figure** (all Sankeys stacked and exported as one SVG for Illustrator).
- #
- # ---
- #
- # ### Abbreviations / naming
- # - **FlyWire**: the connectome dataset used here.
- # - **GRN**: gustatory receptor neuron (input lists loaded from CSVs; each has a `root_id` column).
- # - **PhN**: pharyngeal nerve (here: **PhN-SA_v2** sets; 6 CSVs). NOTE: the PhN contains the stomodeal nerve (StN) gut sensory afferents.
- # - **PSO**: presumed pharyngeal sensory organ group (here: **aPhN-SA** sets; 3 CSVs labeled `DCSO`, `aPhN1`, `aPhN2`).
- # - **MxLbN**: maxillary labellar nerve group (here: 4 GRN lists: `Sugar/Water`, `Bitter`, `Ir94e`, `Taste Peg`).
- # - **SA**: sensory axon (used in dataset naming).
- # - **`root_id`**: unique neuron identifier (node ID).
- # - **`pre_root_id` / `post_root_id`**: presynaptic / postsynaptic neuron IDs in `connections`.
- # - **`syn_count`**: number of synapses between a pre→post pair.
- # - **Superclass / `super_class`**: broad anatomical/functional category (used to label nodes and color them).
- # - **Hop**: one step of directed connectivity (pre→post).
- # - **Hop 1**: directly downstream of the input set
- # - **Hop 2**: downstream of Hop 1 targets
- # - **Hop 3**: downstream of Hop 2 targets
- #
- # ---
- #
- # ### Inputs (tables and lists)
- # - **Connectome edges**: `flywire_data/connections.csv.(gz|zip)` with columns like `pre_root_id`, `post_root_id`, `syn_count`.
- # - **Neuron metadata**: `flywire_data/classification.csv.gz` (subset used: `root_id`, `super_class`).
- # - **Seed neuron sets (CSV lists)**:
- # - **PhN-SA_v2**: `input/PhN/set_1.csv` … `set_6.csv`
- # - **PSO/aPhN-SA**: `input/aPhN-SA/set_1.csv` … `set_3.csv` (mapped to `DCSO`, `aPhN1`, `aPhN2`)
- # - **MxLbN-SA**: `input/MxLbN-SA/*.csv` (4 stimulus/modality lists)
- #
- # ---
- #
- # ### Core computation (how a Sankey is built)
- # 1. **Filter edges by seed set**
- # Select rows where `pre_root_id ∈ seed_root_ids`.
- #
- # 2. **Aggregate to pair-level synapses**
- # Group by `(pre_root_id, post_root_id)` and sum `syn_count` so each directed pair has a total weight.
- #
- # 3. **Threshold weak connections**
- # Keep only pairs with **total `syn_count ≥ min_syn`** (default used throughout: `min_syn = 5`).
- #
- # 4. **Annotate targets with superclass**
- # Merge `post_root_id` with `classification` to get `output_super_class`.
- #
- # 5. **Repeat for downstream hops (1→3)**
- # Hop 1 uses the seed IDs; Hop 2 uses Hop 1 target IDs; Hop 3 uses Hop 2 target IDs.
- #
- # 6. **Summarize flows at the superclass level**
- # Convert hop-level edges into flow tables:
- # - **Seed → Hop1 superclass totals**
- # - **Hop1 superclass → Hop2 superclass totals**
- # - **Hop2 superclass → Hop3 superclass totals**
- #
- # 7. **Plot Sankey with consistent labeling and colors**
- # Nodes are labeled by hop, e.g. `1: central`, `2: motor`, `3: endocrine`.
- # Colors are assigned by `super_class` so the same superclass has the same color within a figure (and, where implemented, globally).
- #
- # ---
- #
- # ### Notebook structure (exploratory → final)
- # - **Exploratory section(s)**:
- # - Generate **single Sankey diagrams** per set for:
- # - the 6 **PhN-SA_v2** sets,
- # - the 3 **PSO/aPhN-SA** sets,
- # - the 4 **MxLbN-SA** sets.
- # - These cells help validate thresholds, hop logic, labels, and layout.
- #
- # - **Final figure section (for Supplementary Fig. S4)**:
- # - Defines `make_sankey_trace(...)` to return a Plotly Sankey trace.
- # - Loads **all 13 datasets** (6 PhN + 3 PSO + 4 MxLbN).
- # - Uses `plotly.subplots.make_subplots` to stack them into a **13×1 portrait layout**.
- # - Exports a **single SVG** (intended for Adobe Illustrator edits).
- #
- # ---
- #
- # ### Outputs
- # - Individual Sankey panels are shown interactively, and the final portrait figure is written to:
- # - `./Giakoumas-et-al/output/figures/fig_S4/all_sankeys_portrait.svg`
- # %%
- from pathlib import Path
- import pandas as pd
- import numpy as np
- import plotly.graph_objects as go
- import plotly.express as px
- def find_project_root() -> Path:
- current = Path.cwd().resolve()
- for candidate in (current, *current.parents):
- if (candidate / 'flywire_data').exists() and (candidate / 'input').exists():
- return candidate
- raise FileNotFoundError('Could not find the Giakoumas-et-al project root from the current working directory.')
- PROJECT_ROOT = find_project_root()
- DATA_DIR = PROJECT_ROOT / 'flywire_data'
- INPUT_DIR = PROJECT_ROOT / 'input'
- OUTPUT_DIR = PROJECT_ROOT / 'output' / 'figures' / 'fig_S4'
- OUTPUT_DIR.mkdir(parents=True, exist_ok=True)
- CONNECTIONS_PATH = DATA_DIR / 'connections.csv'
- if not CONNECTIONS_PATH.exists():
- CONNECTIONS_PATH = DATA_DIR / 'connections.csv.zip'
- CLASSIFICATION_PATH = DATA_DIR / 'classification.csv.gz'
- # ----------------------------------------------------------------------------
- # 0. Load FlyWire connectome and super_class classification
- # ----------------------------------------------------------------------------
- connections = pd.read_csv(CONNECTIONS_PATH)
- classification = pd.read_csv(CLASSIFICATION_PATH)[['root_id','super_class']]
- # ----------------------------------------------------------------------------
- # 1. Build a GLOBAL color map for every superclass once, up-front
- # ----------------------------------------------------------------------------
- all_classes_global = sorted(classification['super_class'].unique())
- palette = px.colors.qualitative.Safe
- GLOBAL_COLOR_MAP = {
- cls: palette[i % len(palette)]
- for i, cls in enumerate(all_classes_global)
- }
- # ----------------------------------------------------------------------------
- # 2. Load your six PhN-SA_v2 sets (each CSV has a 'root_id' column)
- # ----------------------------------------------------------------------------
- sets = {
- f'Set{i}': pd.read_csv(INPUT_DIR / 'PhN' / f'set_{i}.csv')
- for i in range(1, 7)
- }
- # ----------------------------------------------------------------------------
- # Helper: filter connections by source IDs, threshold syn_count, attach superclass
- # ----------------------------------------------------------------------------
- def build_hop_df(src_ids, connections, classification, min_syn=5):
- df = connections[connections['pre_root_id'].isin(src_ids)]
- summed = (
- df.groupby(['pre_root_id','post_root_id'], as_index=False)
- .agg({'syn_count':'sum'})
- .query('syn_count >= @min_syn')
- )
- merged = pd.merge(
- summed,
- classification.rename(
- columns={'root_id':'post_root_id','super_class':'output_super_class'}
- ),
- on='post_root_id', how='left'
- )
- return merged[['pre_root_id','post_root_id','output_super_class','syn_count']]
- # ----------------------------------------------------------------------------
- # Core: build and show a Sankey diagram with consistent colors
- # ----------------------------------------------------------------------------
- def plot_sankey_dynamic(grn_df, title, connections, classification, min_syn=5):
- # hops
- df1 = build_hop_df(grn_df['root_id'], connections, classification, min_syn)
- df2 = build_hop_df(df1['post_root_id'].unique(), connections, classification, min_syn)
- df3 = build_hop_df(df2['post_root_id'].unique(), connections, classification, min_syn)
- # summarize flows
- flow1 = (
- df1.groupby('output_super_class')['syn_count']
- .sum().reset_index(name='count')
- .assign(source=title)
- )
- m12 = pd.merge(df1, df2,
- left_on='post_root_id', right_on='pre_root_id',
- suffixes=('_1','_2'))
- flow2 = (
- m12.groupby(['output_super_class_1','output_super_class_2'])['syn_count_2']
- .sum().reset_index(name='count')
- )
- m23 = pd.merge(df2, df3,
- left_on='post_root_id', right_on='pre_root_id',
- suffixes=('_2','_3'))
- flow3 = (
- m23.groupby(['output_super_class_2','output_super_class_3'])['syn_count_3']
- .sum().reset_index(name='count')
- )
- # nodes
- col1 = [title]
- col2 = [f"1: {c}" for c in sorted(df1['output_super_class'].unique())]
- col3 = [f"2: {c}" for c in sorted(df2['output_super_class'].unique())]
- col4 = [f"3: {c}" for c in sorted(df3['output_super_class'].unique())]
- nodes = col1 + col2 + col3 + col4
- idx = {node:i for i,node in enumerate(nodes)}
- # colors: reuse the GLOBAL_COLOR_MAP
- node_colors = [
- 'lightgrey' if n == title else GLOBAL_COLOR_MAP[n.split(': ',1)[1]]
- for n in nodes
- ]
- # links
- source, target, value, link_colors = [], [], [], []
- def add_links(df, src_col, tgt_col):
- for _, r in df.iterrows():
- s = idx[r[src_col]]
- t = idx[r[tgt_col]]
- source.append(s)
- target.append(t)
- value.append(r['count'])
- link_colors.append(node_colors[s].replace('rgb','rgba').replace(')',',0.5)'))
- # flow1 → 1:class
- flow1 = flow1.rename(columns={'source':'src','output_super_class':'dst'})
- flow1['dst'] = flow1['dst'].map(lambda c: f"1: {c}")
- add_links(flow1, 'src', 'dst')
- # flow2 → 2:class
- flow2 = flow2.rename(columns={
- 'output_super_class_1':'src','output_super_class_2':'dst'
- })
- flow2['src'] = flow2['src'].map(lambda c: f"1: {c}")
- flow2['dst'] = flow2['dst'].map(lambda c: f"2: {c}")
- add_links(flow2, 'src', 'dst')
- # flow3 → 3:class
- flow3 = flow3.rename(columns={
- 'output_super_class_2':'src','output_super_class_3':'dst'
- })
- flow3['src'] = flow3['src'].map(lambda c: f"2: {c}")
- flow3['dst'] = flow3['dst'].map(lambda c: f"3: {c}")
- add_links(flow3, 'src', 'dst')
- # hover
- incoming = dict.fromkeys(nodes, 0)
- outgoing = dict.fromkeys(nodes, 0)
- for s,t,v in zip(source, target, value):
- outgoing[nodes[s]] += v
- incoming[nodes[t]] += v
- customdata = [f"Incoming: {incoming[n]}<br>Outgoing: {outgoing[n]}" for n in nodes]
- # positions
- x = [0.0]*len(col1) + [0.33]*len(col2) + [0.66]*len(col3) + [1.0]*len(col4)
- y = []
- for col in (col1, col2, col3, col4):
- n = len(col)
- y.extend([0.5] if n==1 else list(np.linspace(0,1,n)))
- # draw
- fig = go.Figure(go.Sankey(
- arrangement='snap',
- node=dict(
- label=nodes,
- x=x, y=y,
- color=node_colors,
- pad=15,
- thickness=20,
- line=dict(color='black', width=0.5),
- customdata=customdata,
- hovertemplate='%{customdata}<extra>%{label}</extra>'
- ),
- link=dict(source=source, target=target, value=value, color=link_colors)
- ))
- fig.update_layout(title_text=f"{title}", font_size=14)
- fig.write_image(OUTPUT_DIR / f"{title.replace('/','_')}.svg", width=1200, height=800, scale=2)
- fig.show()
- # ----------------------------------------------------------------------------
- # 3. Generate a Sankey for each of the six PhN-SA_v2 sets
- # ----------------------------------------------------------------------------
- for label, df in sets.items():
- plot_sankey_dynamic(df, label, connections, classification)
- # %% [markdown]
- # ### Generate a Sankey for each PSO set
- # %%
- from pathlib import Path
- import pandas as pd
- import numpy as np
- import plotly.graph_objects as go
- import plotly.express as px
- if 'find_project_root' not in globals():
- def find_project_root() -> Path:
- current = Path.cwd().resolve()
- for candidate in (current, *current.parents):
- if (candidate / 'flywire_data').exists() and (candidate / 'input').exists():
- return candidate
- raise FileNotFoundError('Could not find the Giakoumas-et-al project root from the current working directory.')
- PROJECT_ROOT = find_project_root()
- DATA_DIR = PROJECT_ROOT / 'flywire_data'
- INPUT_DIR = PROJECT_ROOT / 'input'
- OUTPUT_DIR = PROJECT_ROOT / 'output' / 'figures' / 'fig_S4'
- OUTPUT_DIR.mkdir(parents=True, exist_ok=True)
- CONNECTIONS_PATH = DATA_DIR / 'connections.csv'
- if not CONNECTIONS_PATH.exists():
- CONNECTIONS_PATH = DATA_DIR / 'connections.csv.zip'
- # ----------------------------------------------------------------------------
- # 0. Load FlyWire connectome and super_class classification
- # ----------------------------------------------------------------------------
- connections = pd.read_csv(CONNECTIONS_PATH)
- classification = pd.read_csv(DATA_DIR / 'classification.csv.gz')[['root_id','super_class']]
- # ----------------------------------------------------------------------------
- # 1. Load your three PSO sets (each CSV has a 'root_id' column)
- # ----------------------------------------------------------------------------
- set_1 = pd.read_csv(INPUT_DIR / 'PSO_SA' / 'set_1.csv')
- set_2 = pd.read_csv(INPUT_DIR / 'PSO_SA' / 'set_2.csv')
- set_3 = pd.read_csv(INPUT_DIR / 'PSO_SA' / 'set_3.csv')
- sets = {
- 'DCSO': set_1,
- 'aPhN1': set_2,
- 'aPhN2': set_3,
- }
- # ----------------------------------------------------------------------------
- # Helper: filter connections by source IDs, threshold syn_count, attach superclass
- # ----------------------------------------------------------------------------
- def build_hop_df(src_ids, connections, classification, min_syn=5):
- df = connections[connections['pre_root_id'].isin(src_ids)]
- summed = (
- df.groupby(['pre_root_id','post_root_id'], as_index=False)
- .agg({'syn_count':'sum'})
- .query('syn_count >= @min_syn')
- )
- merged = pd.merge(
- summed,
- classification.rename(
- columns={'root_id':'post_root_id','super_class':'output_super_class'}
- ),
- on='post_root_id', how='left'
- )
- return merged[['pre_root_id','post_root_id','output_super_class','syn_count']]
- # ----------------------------------------------------------------------------
- # Core: build and show a Sankey diagram with maximal vertical spacing
- # ----------------------------------------------------------------------------
- def plot_sankey_dynamic(grn_df, title, connections, classification, min_syn=5):
- # 1) build hops
- df1 = build_hop_df(grn_df['root_id'], connections, classification, min_syn)
- df2 = build_hop_df(df1['post_root_id'].unique(), connections, classification, min_syn)
- df3 = build_hop_df(df2['post_root_id'].unique(), connections, classification, min_syn)
- # 2) summarize flows
- flow1 = (
- df1.groupby('output_super_class')['syn_count']
- .sum().reset_index(name='count')
- .assign(source=title)
- )
- m12 = pd.merge(df1, df2, left_on='post_root_id', right_on='pre_root_id', suffixes=('_1','_2'))
- flow2 = (
- m12.groupby(['output_super_class_1','output_super_class_2'])['syn_count_2']
- .sum().reset_index(name='count')
- )
- m23 = pd.merge(df2, df3, left_on='post_root_id', right_on='pre_root_id', suffixes=('_2','_3'))
- flow3 = (
- m23.groupby(['output_super_class_2','output_super_class_3'])['syn_count_3']
- .sum().reset_index(name='count')
- )
- # 3) build node labels
- col1 = [title]
- col2 = [f"1: {c}" for c in sorted(df1['output_super_class'].unique())]
- col3 = [f"2: {c}" for c in sorted(df2['output_super_class'].unique())]
- col4 = [f"3: {c}" for c in sorted(df3['output_super_class'].unique())]
- nodes = col1 + col2 + col3 + col4
- idx = {n:i for i,n in enumerate(nodes)}
- # 4) color mapping
- palette = px.colors.qualitative.Safe
- all_classes = sorted(
- set(df1['output_super_class']) |
- set(df2['output_super_class']) |
- set(df3['output_super_class'])
- )
- color_map = {cls: palette[i % len(palette)] for i,cls in enumerate(all_classes)}
- node_colors = ['lightgrey' if n==title else color_map[n.split(': ',1)[1]] for n in nodes]
- # 5) assemble links
- source, target, value, link_colors = [], [], [], []
- def add_links(flow_df, src_col, tgt_col):
- for _, r in flow_df.iterrows():
- s = idx[r[src_col]]
- t = idx[r[tgt_col]]
- source.append(s)
- target.append(t)
- value.append(r['count'])
- link_colors.append(node_colors[s].replace('rgb','rgba').replace(')',',0.5)'))
- flow1 = flow1.rename(columns={'source':'src','output_super_class':'dst'})
- flow1['dst'] = flow1['dst'].map(lambda c: f"1: {c}")
- add_links(flow1, 'src','dst')
- flow2 = flow2.rename(columns={'output_super_class_1':'src','output_super_class_2':'dst'})
- flow2['src'] = flow2['src'].map(lambda c: f"1: {c}")
- flow2['dst'] = flow2['dst'].map(lambda c: f"2: {c}")
- add_links(flow2, 'src','dst')
- flow3 = flow3.rename(columns={'output_super_class_2':'src','output_super_class_3':'dst'})
- flow3['src'] = flow3['src'].map(lambda c: f"2: {c}")
- flow3['dst'] = flow3['dst'].map(lambda c: f"3: {c}")
- add_links(flow3, 'src','dst')
- # 6) hover info
- incoming = dict.fromkeys(nodes,0)
- outgoing = dict.fromkeys(nodes,0)
- for s,t,v in zip(source,target,value):
- outgoing[nodes[s]] += v
- incoming[nodes[t]] += v
- customdata = [f"Incoming: {incoming[n]}<br>Outgoing: {outgoing[n]}" for n in nodes]
- # 7) x positions
- x = [0.0]*len(col1) + [0.33]*len(col2) + [0.66]*len(col3) + [1.0]*len(col4)
- # 8) y positions: spread evenly down the column
- y = []
- for col in (col1, col2, col3, col4):
- n = len(col)
- if n == 1:
- y.append(0.5)
- else:
- y.extend(np.linspace(0, 1, n))
- # 9) draw Sankey with freeform arrangement
- fig = go.Figure(go.Sankey(
- arrangement='snap',
- node=dict(
- label=nodes,
- x=x, y=y,
- color=node_colors,
- pad=15, thickness=20,
- line=dict(color='black', width=0.5),
- customdata=customdata,
- hovertemplate='%{customdata}<extra>%{label}</extra>'
- ),
- link=dict(source=source, target=target, value=value, color=link_colors)
- ))
- fig.update_layout(title_text=f"{title}", font_size=14)
- fig.write_image(OUTPUT_DIR / f"{title.replace('/','_')}.svg", width=1200, height=800, scale=2)
- fig.show()
- # ----------------------------------------------------------------------------
- # 10. Generate a Sankey for each PSO set
- # ----------------------------------------------------------------------------
- for label, df in sets.items():
- plot_sankey_dynamic(df, label, connections, classification)
- # %% [markdown]
- # ### Generate Sankey for each MxLbN set
- # %%
- import pandas as pd
- import plotly.graph_objects as go
- from pathlib import Path
- import plotly.express as px
- if 'find_project_root' not in globals():
- def find_project_root() -> Path:
- current = Path.cwd().resolve()
- for candidate in (current, *current.parents):
- if (candidate / 'flywire_data').exists() and (candidate / 'input').exists():
- return candidate
- raise FileNotFoundError('Could not find the Giakoumas-et-al project root from the current working directory.')
- PROJECT_ROOT = find_project_root()
- DATA_DIR = PROJECT_ROOT / 'flywire_data'
- INPUT_DIR = PROJECT_ROOT / 'input'
- CONNECTIONS_PATH = DATA_DIR / 'connections.csv'
- if not CONNECTIONS_PATH.exists():
- CONNECTIONS_PATH = DATA_DIR / 'connections.csv.zip'
- # ----------------------------------------------------------------------------
- # 0. Load FlyWire connectome and classification
- # ----------------------------------------------------------------------------
- connections = pd.read_csv(CONNECTIONS_PATH)
- classification = pd.read_csv(DATA_DIR / 'classification.csv.gz')[['root_id','super_class']]
- # ----------------------------------------------------------------------------
- # 1. Load your four MxLbN GRN lists (each CSV has a 'root_id' column).
- # ----------------------------------------------------------------------------
- sugar_water = pd.read_csv(INPUT_DIR / 'MxLbN-SA' / 'sugar_water_GRNs.csv')
- bitter = pd.read_csv(INPUT_DIR / 'MxLbN-SA' / 'bitter_GRNs.csv')
- ir94e = pd.read_csv(INPUT_DIR / 'MxLbN-SA' / 'Ir94e_GRNs.csv')
- taste_peg = pd.read_csv(INPUT_DIR / 'MxLbN-SA' / 'taste_peg_GRNs.csv')
- sets = {
- 'Sugar/Water': sugar_water,
- 'Bitter': bitter,
- 'Ir94e': ir94e,
- 'Taste Peg': taste_peg,
- }
- # ----------------------------------------------------------------------------
- # Helper: filter connections by source IDs, threshold syn_count, attach superclass
- # ----------------------------------------------------------------------------
- def build_hop_df(src_ids, connections, classification, min_syn=5):
- df = connections[connections['pre_root_id'].isin(src_ids)]
- summed = (
- df.groupby(['pre_root_id','post_root_id'], as_index=False)
- .agg({'syn_count':'sum'})
- .query('syn_count >= @min_syn')
- )
- merged = pd.merge(
- summed,
- classification.rename(columns={'root_id':'post_root_id','super_class':'output_super_class'}),
- on='post_root_id', how='left'
- )
- return merged[['pre_root_id','post_root_id','output_super_class','syn_count']]
- # ----------------------------------------------------------------------------
- # Core: build and show a Sankey diagram using Plotly's Safe palette
- # ----------------------------------------------------------------------------
- def plot_sankey_dynamic(grn_df, title, connections, classification, min_syn=5):
- # build hop-level dataframes
- df1 = build_hop_df(grn_df['root_id'], connections, classification, min_syn)
- df2 = build_hop_df(df1['post_root_id'].unique(), connections, classification, min_syn)
- df3 = build_hop_df(df2['post_root_id'].unique(), connections, classification, min_syn)
- # summarize flows
- flow1 = (
- df1.groupby('output_super_class')['syn_count']
- .sum()
- .reset_index(name='count')
- .assign(source=title)
- )
- m12 = pd.merge(
- df1, df2,
- left_on='post_root_id', right_on='pre_root_id',
- suffixes=('_1','_2')
- )
- flow2 = (
- m12.groupby(['output_super_class_1','output_super_class_2'])['syn_count_2']
- .sum()
- .reset_index(name='count')
- )
- m23 = pd.merge(
- df2, df3,
- left_on='post_root_id', right_on='pre_root_id',
- suffixes=('_2','_3')
- )
- flow3 = (
- m23.groupby(['output_super_class_2','output_super_class_3'])['syn_count_3']
- .sum()
- .reset_index(name='count')
- )
- # assemble nodes
- col1 = [title]
- col2 = [f"1: {c}" for c in sorted(df1['output_super_class'].unique())]
- col3 = [f"2: {c}" for c in sorted(df2['output_super_class'].unique())]
- col4 = [f"3: {c}" for c in sorted(df3['output_super_class'].unique())]
- nodes = col1 + col2 + col3 + col4
- idx = {node:i for i,node in enumerate(nodes)}
- # assign colors via Safe palette
- palette = px.colors.qualitative.Safe
- all_classes = sorted(
- set(df1['output_super_class'])
- | set(df2['output_super_class'])
- | set(df3['output_super_class'])
- )
- color_map = {cls: palette[i % len(palette)] for i,cls in enumerate(all_classes)}
- node_colors = [
- 'lightgrey' if n == title else color_map[n.split(': ',1)[1]]
- for n in nodes
- ]
- # build link lists
- source, target, value, link_colors = [], [], [], []
- # flow1 links
- for _, r in flow1.iterrows():
- s = idx[title]
- t = idx[f"1: {r['output_super_class']}"]
- source.append(s); target.append(t); value.append(r['count'])
- link_colors.append(node_colors[s].replace('rgb','rgba').replace(')',',0.5)'))
- # flow2 links
- for _, r in flow2.iterrows():
- s = idx[f"1: {r['output_super_class_1']}"]
- t = idx[f"2: {r['output_super_class_2']}"]
- source.append(s); target.append(t); value.append(r['count'])
- link_colors.append(node_colors[s].replace('rgb','rgba').replace(')',',0.5)'))
- # flow3 links
- for _, r in flow3.iterrows():
- s = idx[f"2: {r['output_super_class_2']}"]
- t = idx[f"3: {r['output_super_class_3']}"]
- source.append(s); target.append(t); value.append(r['count'])
- link_colors.append(node_colors[s].replace('rgb','rgba').replace(')',',0.5)'))
- # compute hover info
- incoming, outgoing = dict.fromkeys(nodes,0), dict.fromkeys(nodes,0)
- for s,t,v in zip(source,target,value):
- outgoing[nodes[s]] += v
- incoming[nodes[t]] += v
- customdata = [
- f"Incoming: {incoming[n]}<br>Outgoing: {outgoing[n]}"
- for n in nodes
- ]
- # set x-positions
- x = [0.0]*len(col1) + [0.33]*len(col2) + [0.66]*len(col3) + [1.0]*len(col4)
- # plot Sankey
- fig = go.Figure(go.Sankey(
- arrangement='snap',
- node=dict(
- label=nodes,
- x=x,
- color=node_colors,
- pad=15,
- thickness=20,
- line=dict(color='black', width=0.5),
- customdata=customdata,
- hovertemplate='%{customdata}<extra>%{label}</extra>'
- ),
- link=dict(source=source, target=target, value=value, color=link_colors)
- ))
- fig.update_layout(title_text=title, font_size=14)
- fig.show()
- # ----------------------------------------------------------------------------
- # Generate Sankey for each MxLbN set
- # ----------------------------------------------------------------------------
- datasets = [
- ('Sugar/Water', sugar_water),
- ('Bitter', bitter),
- ('Ir94e', ir94e),
- ('Taste Peg', taste_peg),
- ]
- for label, df in datasets:
- plot_sankey_dynamic(df, label, connections, classification)
- # %% [markdown]
- # ### Generate Sankey for each PSOS set
- # %%
- from pathlib import Path
- import pandas as pd
- import numpy as np
- import plotly.graph_objects as go
- import plotly.express as px
- from plotly.subplots import make_subplots
- if 'find_project_root' not in globals():
- def find_project_root() -> Path:
- current = Path.cwd().resolve()
- for candidate in (current, *current.parents):
- if (candidate / 'flywire_data').exists() and (candidate / 'input').exists():
- return candidate
- raise FileNotFoundError('Could not find the Giakoumas-et-al project root from the current working directory.')
- PROJECT_ROOT = find_project_root()
- DATA_DIR = PROJECT_ROOT / 'flywire_data'
- INPUT_DIR = PROJECT_ROOT / 'input'
- CONNECTIONS_PATH = DATA_DIR / 'connections.csv'
- if not CONNECTIONS_PATH.exists():
- CONNECTIONS_PATH = DATA_DIR / 'connections.csv.zip'
- if 'connections' not in globals():
- connections = pd.read_csv(CONNECTIONS_PATH)
- if 'classification' not in globals():
- classification = pd.read_csv(DATA_DIR / 'classification.csv.gz')[['root_id','super_class']]
- if 'make_sankey_trace' not in globals():
- def make_sankey_trace(grn_df, title, connections, classification, min_syn=5):
- def build_hop_df(src_ids):
- df = connections[connections['pre_root_id'].isin(src_ids)]
- summed = (
- df.groupby(['pre_root_id', 'post_root_id'], as_index=False)
- .agg({'syn_count': 'sum'})
- )
- summed = summed[summed['syn_count'] >= min_syn]
- merged = pd.merge(
- summed,
- classification.rename(
- columns={'root_id': 'post_root_id', 'super_class': 'output_super_class'}
- ),
- on='post_root_id', how='left'
- )
- return merged[['pre_root_id', 'post_root_id', 'output_super_class', 'syn_count']]
- df1 = build_hop_df(grn_df['root_id'])
- df2 = build_hop_df(df1['post_root_id'].unique())
- df3 = build_hop_df(df2['post_root_id'].unique())
- flow1 = (
- df1.groupby('output_super_class')['syn_count']
- .sum().reset_index(name='count')
- .assign(source=title)
- )
- m12 = pd.merge(
- df1, df2,
- left_on='post_root_id', right_on='pre_root_id',
- suffixes=('_1', '_2')
- )
- flow2 = (
- m12.groupby(['output_super_class_1', 'output_super_class_2'])['syn_count_2']
- .sum().reset_index(name='count')
- )
- m23 = pd.merge(
- df2, df3,
- left_on='post_root_id', right_on='pre_root_id',
- suffixes=('_2', '_3')
- )
- flow3 = (
- m23.groupby(['output_super_class_2', 'output_super_class_3'])['syn_count_3']
- .sum().reset_index(name='count')
- )
- col1 = [title]
- col2 = [f"1: {c}" for c in sorted(df1['output_super_class'].unique())]
- col3 = [f"2: {c}" for c in sorted(df2['output_super_class'].unique())]
- col4 = [f"3: {c}" for c in sorted(df3['output_super_class'].unique())]
- nodes = col1 + col2 + col3 + col4
- idx = {n: i for i, n in enumerate(nodes)}
- palette = px.colors.qualitative.Safe
- all_classes = sorted(
- set(df1['output_super_class']) |
- set(df2['output_super_class']) |
- set(df3['output_super_class'])
- )
- color_map = {cls: palette[i % len(palette)] for i, cls in enumerate(all_classes)}
- node_colors = [
- 'lightgrey' if n == title else color_map[n.split(': ', 1)[1]]
- for n in nodes
- ]
- source, target, value, link_colors = [], [], [], []
- flow1 = flow1.rename(columns={'source': 'src', 'output_super_class': 'dst'})
- flow1['dst'] = flow1['dst'].map(lambda c: f"1: {c}")
- for _, r in flow1.iterrows():
- s = idx[r['src']]
- t = idx[r['dst']]
- source.append(s)
- target.append(t)
- value.append(r['count'])
- link_colors.append(node_colors[s].replace('rgb', 'rgba').replace(')', ',0.5)'))
- flow2 = flow2.rename(columns={'output_super_class_1': 'src', 'output_super_class_2': 'dst'})
- flow2['src'] = flow2['src'].map(lambda c: f"1: {c}")
- flow2['dst'] = flow2['dst'].map(lambda c: f"2: {c}")
- for _, r in flow2.iterrows():
- s = idx[r['src']]
- t = idx[r['dst']]
- source.append(s)
- target.append(t)
- value.append(r['count'])
- link_colors.append(node_colors[s].replace('rgb', 'rgba').replace(')', ',0.5)'))
- flow3 = flow3.rename(columns={'output_super_class_2': 'src', 'output_super_class_3': 'dst'})
- flow3['src'] = flow3['src'].map(lambda c: f"2: {c}")
- flow3['dst'] = flow3['dst'].map(lambda c: f"3: {c}")
- for _, r in flow3.iterrows():
- s = idx[r['src']]
- t = idx[r['dst']]
- source.append(s)
- target.append(t)
- value.append(r['count'])
- link_colors.append(node_colors[s].replace('rgb', 'rgba').replace(')', ',0.5)'))
- incoming = dict.fromkeys(nodes, 0)
- outgoing = dict.fromkeys(nodes, 0)
- for s_, t_, v_ in zip(source, target, value):
- outgoing[nodes[s_]] += v_
- incoming[nodes[t_]] += v_
- customdata = [f"Incoming: {incoming[n]}<br>Outgoing: {outgoing[n]}" for n in nodes]
- x = [0.0] * len(col1) + [0.33] * len(col2) + [0.66] * len(col3) + [1.0] * len(col4)
- y = []
- for col in (col1, col2, col3, col4):
- n = len(col)
- if n == 1:
- y.append(0.5)
- else:
- y.extend(list(np.linspace(0, 1, n)))
- return go.Sankey(
- name=title,
- arrangement='snap',
- node=dict(
- label=nodes,
- x=x,
- y=y,
- color=node_colors,
- pad=8,
- thickness=12,
- line=dict(color='black', width=0.3),
- customdata=customdata,
- hovertemplate='%{customdata}<extra>%{label}</extra>'
- ),
- link=dict(source=source, target=target, value=value, color=link_colors)
- )
- # Only PSOs:
- psos = [
- ('DCSO', pd.read_csv(INPUT_DIR / 'PSO_SA' / 'set_1.csv')),
- ('aPhN1', pd.read_csv(INPUT_DIR / 'PSO_SA' / 'set_2.csv')),
- ('aPhN2', pd.read_csv(INPUT_DIR / 'PSO_SA' / 'set_3.csv')),
- ]
- fig = make_subplots(
- rows=3, cols=1,
- vertical_spacing=0.02,
- specs=[[{"type": "sankey"}]] * 3
- )
- for i, (label, df) in enumerate(psos, start=1):
- sankey_trace = make_sankey_trace(
- grn_df=df,
- title=label,
- connections=connections,
- classification=classification,
- min_syn=5,
- )
- fig.add_trace(sankey_trace, row=i, col=1)
- fig.update_layout(
- height=800,
- width=600,
- margin=dict(l=20, r=20, t=30, b=20),
- font=dict(size=10),
- title="PSO Sets Sankeys (stacked)",
- )
- fig.show()
- # %% [markdown]
- # ### Main figure for Supplementary Figure S4 to be edited in Adobe Illustrator: all 13 Sankey diagrams in one portrait figure
- # %%
- import pandas as pd
- import numpy as np
- import plotly.graph_objects as go
- from plotly.subplots import make_subplots
- import plotly.express as px
- def make_sankey_trace(grn_df, title, connections, classification, min_syn=5):
- # Build hop‐level dataframes without using .query()
- def build_hop_df(src_ids):
- df = connections[connections['pre_root_id'].isin(src_ids)]
- summed = (
- df.groupby(['pre_root_id', 'post_root_id'], as_index=False)
- .agg({'syn_count': 'sum'})
- )
- summed = summed[summed['syn_count'] >= min_syn]
- merged = pd.merge(
- summed,
- classification.rename(
- columns={'root_id': 'post_root_id', 'super_class': 'output_super_class'}
- ),
- on='post_root_id', how='left'
- )
- return merged[['pre_root_id', 'post_root_id', 'output_super_class', 'syn_count']]
- # 1) Build the three hops
- df1 = build_hop_df(grn_df['root_id'])
- df2 = build_hop_df(df1['post_root_id'].unique())
- df3 = build_hop_df(df2['post_root_id'].unique())
- # 2) Summarize flows
- flow1 = (
- df1.groupby('output_super_class')['syn_count']
- .sum().reset_index(name='count')
- .assign(source=title)
- )
- m12 = pd.merge(
- df1, df2,
- left_on='post_root_id', right_on='pre_root_id',
- suffixes=('_1', '_2')
- )
- flow2 = (
- m12.groupby(['output_super_class_1', 'output_super_class_2'])['syn_count_2']
- .sum().reset_index(name='count')
- )
- m23 = pd.merge(
- df2, df3,
- left_on='post_root_id', right_on='pre_root_id',
- suffixes=('_2', '_3')
- )
- flow3 = (
- m23.groupby(['output_super_class_2', 'output_super_class_3'])['syn_count_3']
- .sum().reset_index(name='count')
- )
- # 3) Node labels
- col1 = [title]
- col2 = [f"1: {c}" for c in sorted(df1['output_super_class'].unique())]
- col3 = [f"2: {c}" for c in sorted(df2['output_super_class'].unique())]
- col4 = [f"3: {c}" for c in sorted(df3['output_super_class'].unique())]
- nodes = col1 + col2 + col3 + col4
- idx = {n: i for i, n in enumerate(nodes)}
- # 4) Node colors
- palette = px.colors.qualitative.Safe
- all_classes = sorted(
- set(df1['output_super_class']) |
- set(df2['output_super_class']) |
- set(df3['output_super_class'])
- )
- color_map = {cls: palette[i % len(palette)] for i, cls in enumerate(all_classes)}
- node_colors = [
- 'lightgrey' if n == title else color_map[n.split(': ', 1)[1]]
- for n in nodes
- ]
- # 5) Build link lists
- source, target, value, link_colors = [], [], [], []
- # flow1 → “1:Class”
- flow1 = flow1.rename(columns={'source': 'src', 'output_super_class': 'dst'})
- flow1['dst'] = flow1['dst'].map(lambda c: f"1: {c}")
- for _, r in flow1.iterrows():
- s = idx[r['src']]
- t = idx[r['dst']]
- source.append(s)
- target.append(t)
- value.append(r['count'])
- link_colors.append(node_colors[s].replace('rgb', 'rgba').replace(')', ',0.5)'))
- # flow2 → “2:Class”
- flow2 = flow2.rename(columns={'output_super_class_1': 'src', 'output_super_class_2': 'dst'})
- flow2['src'] = flow2['src'].map(lambda c: f"1: {c}")
- flow2['dst'] = flow2['dst'].map(lambda c: f"2: {c}")
- for _, r in flow2.iterrows():
- s = idx[r['src']]
- t = idx[r['dst']]
- source.append(s)
- target.append(t)
- value.append(r['count'])
- link_colors.append(node_colors[s].replace('rgb', 'rgba').replace(')', ',0.5)'))
- # flow3 → “3:Class”
- flow3 = flow3.rename(columns={'output_super_class_2': 'src', 'output_super_class_3': 'dst'})
- flow3['src'] = flow3['src'].map(lambda c: f"2: {c}")
- flow3['dst'] = flow3['dst'].map(lambda c: f"3: {c}")
- for _, r in flow3.iterrows():
- s = idx[r['src']]
- t = idx[r['dst']]
- source.append(s)
- target.append(t)
- value.append(r['count'])
- link_colors.append(node_colors[s].replace('rgb', 'rgba').replace(')', ',0.5)'))
- # 6) Compute hover info
- incoming = dict.fromkeys(nodes, 0)
- outgoing = dict.fromkeys(nodes, 0)
- for s_, t_, v_ in zip(source, target, value):
- outgoing[nodes[s_]] += v_
- incoming[nodes[t_]] += v_
- customdata = [f"Incoming: {incoming[n]}<br>Outgoing: {outgoing[n]}" for n in nodes]
- # 7) X positions
- x0 = [0.0] * len(col1)
- x1 = [0.33] * len(col2)
- x2 = [0.66] * len(col3)
- x3 = [1.0] * len(col4)
- x = x0 + x1 + x2 + x3
- # 8) Y positions
- y = []
- for col in (col1, col2, col3, col4):
- n = len(col)
- if n == 1:
- y.append(0.5)
- else:
- y.extend(list(np.linspace(0, 1, n)))
- # 9) **Return the Sankey trace directly** (no go.Trace wrapping)
- sankey = go.Sankey(
- name=title,
- arrangement='snap',
- node=dict(
- label=nodes,
- x=x,
- y=y,
- color=node_colors,
- pad=8,
- thickness=12,
- line=dict(color='black', width=0.3),
- customdata=customdata,
- hovertemplate='%{customdata}<extra>%{label}</extra>'
- ),
- link=dict(source=source, target=target, value=value, color=link_colors)
- )
- return sankey
- # %%
- # Now stack all 13 Sankey traces in a single portrait figure:
- if 'find_project_root' not in globals():
- from pathlib import Path
- def find_project_root() -> Path:
- current = Path.cwd().resolve()
- for candidate in (current, *current.parents):
- if (candidate / 'flywire_data').exists() and (candidate / 'input').exists():
- return candidate
- raise FileNotFoundError('Could not find the Giakoumas-et-al project root from the current working directory.')
- PROJECT_ROOT = find_project_root()
- INPUT_DIR = PROJECT_ROOT / 'input'
- OUTPUT_DIR = PROJECT_ROOT / 'output' / 'figures' / 'fig_S4'
- OUTPUT_DIR.mkdir(parents=True, exist_ok=True)
- if 'connections' not in globals() or 'classification' not in globals():
- DATA_DIR = PROJECT_ROOT / 'flywire_data'
- CONNECTIONS_PATH = DATA_DIR / 'connections.csv'
- if not CONNECTIONS_PATH.exists():
- CONNECTIONS_PATH = DATA_DIR / 'connections.csv.zip'
- connections = pd.read_csv(CONNECTIONS_PATH)
- classification = pd.read_csv(DATA_DIR / 'classification.csv.gz')[['root_id', 'super_class']]
- # (A) Gather all dataframes:
- sets_phn_sa = {
- f'PhN-SA_v2_{i}': pd.read_csv(INPUT_DIR / 'PhN' / f'set_{i}.csv')
- for i in range(1, 7)
- }
- sets_pso = {
- 'DCSO': pd.read_csv(INPUT_DIR / 'PSO_SA' / 'set_1.csv'),
- 'aPhN1': pd.read_csv(INPUT_DIR / 'PSO_SA' / 'set_2.csv'),
- 'aPhN2': pd.read_csv(INPUT_DIR / 'PSO_SA' / 'set_3.csv'),
- }
- sets_mxlbn = {
- 'Sugar/Water': pd.read_csv(INPUT_DIR / 'MxLbN-SA' / 'sugar_water_GRNs.csv'),
- 'Bitter': pd.read_csv(INPUT_DIR / 'MxLbN-SA' / 'bitter_GRNs.csv'),
- 'Ir94e': pd.read_csv(INPUT_DIR / 'MxLbN-SA' / 'Ir94e_GRNs.csv'),
- 'Taste Peg': pd.read_csv(INPUT_DIR / 'MxLbN-SA' / 'taste_peg_GRNs.csv'),
- }
- all_sets = []
- all_sets += list(sets_phn_sa.items())
- all_sets += list(sets_pso.items())
- all_sets += list(sets_mxlbn.items())
- n_plots = len(all_sets) # 13
- # (B) Create subplots (13 rows × 1 column, each type="sankey")
- fig = make_subplots(
- rows = n_plots,
- cols = 1,
- shared_xaxes = False,
- shared_yaxes = False,
- vertical_spacing = 0.02,
- specs = [[{"type": "sankey"}] for _ in range(n_plots)],
- )
- # (C) Add each Sankey trace into its own row
- for i, (label, df) in enumerate(all_sets, start=1):
- sankey_trace = make_sankey_trace(
- grn_df = df,
- title = label,
- connections = connections,
- classification = classification,
- min_syn = 5
- )
- fig.add_trace(sankey_trace, row=i, col=1)
- # (D) Layout tweaks for portrait
- fig.update_layout(
- height = 300 * n_plots, # Still 3900 px for 13 plots
- width = 534, # One third of original 1600 px
- margin = dict(l=20, r=20, t=40, b=20),
- font = dict(size=10),
- title = "All Sankey Panels in One Portrait Figure",
- )
- fig.show()
- # To export as a single SVG:
- fig.write_image(OUTPUT_DIR / 'all_sankeys_portrait.svg')
- # %%
Full_hops_figure.ipynb at commit 9a82bcc, no license · at the source
Overview
- Department of Biology, University of Florida, Gainesville, FL 32611, USA
- Pine Crest School, Fort Lauderdale, FL 33334, USA
- Florida Chemical Senses Institute, University of Florida, Gainesville, FL 32611, USA
- McKnight Brain Institute, University of Florida, Gainesville, FL 32611, USA
- Genetics Institute, University of Florida, Gainesville, FL 32611, USA
Abstract
The abstract is not reproduced here: the paper's license (CC BY-NC-ND) does not allow it. Read it in the paper, at the publisher or on Europe PMC.
Repositories
Its files are read in the Code ↔ Paper reader above, with 14 matches between paragraphs and lines of code.
google/neuroglancer
da443d25610b23c40c4a46ed9b92129e6203e68e, 22 September 2026Availability: 1 check, the latest on 27 September 2026: the link answers
- 27 September 2026: the link answers
904 files
- build_tools/
after-version-change.ts , TypeScript, 48 lines - build_tools/
build-package.ts , TypeScript, 247 lines - build_tools/
cli.ts , TypeScript, 266 lines - build_tools/
postpack.ts , TypeScript, 9 lines - build_tools/
rspack/ , JavaScript, 13 linesconfiguration_with_defin e.js - build_tools/
rspack/ , JavaScript, 12 linesrspack_config_from_cli.j s - build_tools/
update-conditions.ts , TypeScript, 147 lines - build_tools/
update-example-dependenc , TypeScript, 30 linesies.ts - build_tools/
vitest/ , TypeScript, 57 linesbuild_fake_gcs_server.ts - build_tools/
vitest/ , TypeScript, 98 linesfake_ngauth_server.ts - build_tools/
vitest/ , TypeScript, 16 linespolyfill-browser-globals -in-node.ts - build_tools/
vitest/ , TypeScript, 26 linespython_tools.ts - build_tools/
vitest/ , TypeScript, 51 linestest_data_server.ts - build_tools/
vitest/ , TypeScript, 50 linesvitest-environment-jsdom -patched/ index.ts - cors_webserver.py, Python, 62 lines
- docs/
concepts/ , Python, 59 linesdata_source_coordinate_s pace.screenshot.py - docs/
concepts/ , Python, 59 linesdata_source_coordinate_t ransform.screenshot.py - docs/
conf.py , Python, 344 lines - docs/
generate_logo.py , Python, 122 lines - docs/
update_intersphinx_inven , Python, 42 linestories.py - docs/
user-guide/ , Python, 28 linesnavigation_mouse_cross_s ection_translate.video.p y - docs/
user-guide/ , Python, 30 linesnavigation_mouse_cross_s ection_zoom.video.py - eslint.config.js, JavaScript, 124 lines
- examples/
parcel/ , JavaScript, 3 linesparcel-project-built/ src/ index.js - examples/
parcel/ , JavaScript, 3 linesparcel-project-source/ src/ index.js - examples/
rsbuild/ , TypeScript, 45 linesrsbuild-project-built/ rsbuild.config.ts - examples/
rsbuild/ , JavaScript, 3 linesrsbuild-project-built/ src/ index.js - examples/
rsbuild/ , TypeScript, 60 linesrsbuild-project-source/ rsbuild.config.ts - examples/
rsbuild/ , JavaScript, 3 linesrsbuild-project-source/ src/ index.js - examples/
rspack/ , JavaScript, 46 linesrspack-project-built/ rspack.config.js - examples/
rspack/ , JavaScript, 3 linesrspack-project-built/ src/ index.js - examples/
rspack/ , JavaScript, 61 linesrspack-project-source/ rspack.config.js - examples/
rspack/ , JavaScript, 3 linesrspack-project-source/ src/ index.js - examples/
vite/ , TypeScript, 47 linesvite-project-built/ vite.config.ts - examples/
vite/ , TypeScript, 51 linesvite-project-source/ vite.config.ts - examples/
webpack/ , JavaScript, 3 lineswebpack-project-built/ src/ index.js - examples/
webpack/ , JavaScript, 48 lineswebpack-project-built/ webpack.config.js - examples/
webpack/ , JavaScript, 3 lineswebpack-project-source/ src/ index.js - examples/
webpack/ , JavaScript, 58 lineswebpack-project-source/ webpack.config.js - ngauth_server/
auth.go , Go, 521 lines - ngauth_server/
bounded_access_token.go , Go, 95 lines - ngauth_server/
go.mod , NEURON, 30 lines - ngauth_server/
main.go , Go, 52 lines - noxfile.py, Python, 195 lines
- playwright.config.ts, TypeScript, 22 lines
- python/
build_tools/ , Shell, 12 linescibuildwheel_linux_cache _setup.sh - python/
copy_openmesh_deps.py , Python, 49 lines - python/
examples/ , Python, 83 linesagglomeration_split_tool _csv_to_sqlite.py - python/
examples/ , Python, 70 linesexample.py - python/
examples/ , Python, 30 linesexample_action.py - python/
examples/ , Python, 55 linesexample_add_cube.py - python/
examples/ , Python, 66 linesexample_annotation_prope rties.py - python/
examples/ , Python, 58 linesexample_cdf.py - python/
examples/ , Python, 58 linesexample_coordinate_array s.py - python/
examples/ , Python, 46 linesexample_coordinate_trans form.py - python/
examples/ , Python, 40 linesexample_cross_section.py - python/
examples/ , Python, 53 linesexample_dask.py - python/
examples/ , Python, 20 linesexample_fixed_token.py - python/
examples/ , Python, 39 linesexample_grid_layout.py - python/
examples/ , Python, 39 linesexample_layer_side_panel s.py - python/
examples/ , Python, 63 linesexample_local_volume_coo rdinate_arrays.py - python/
examples/ , Python, 49 linesexample_overlay.py - python/
examples/ , Python, 87 linesexample_partial_viewport .py - python/
examples/ , Python, 16 linesexample_precomputed_gcs. py - python/
examples/ , Python, 23 linesexample_read_precomputed _annotations.py - python/
examples/ , Python, 29 linesexample_row_layout.py - python/
examples/ , Python, 45 linesexample_signed_int.py - python/
examples/ , Python, 16 linesexample_single_mesh_laye r.py - python/
examples/ , Python, 76 linesexample_skeletons.py - python/
examples/ , Python, 51 linesexample_toggle_visibilit y.py - python/
examples/ , Python, 24 linesexample_tool.py - python/
examples/ , Python, 290 linesextend_segments_tool.py - python/
examples/ , Python, 250 linesflood_filling_simulation .py - python/
examples/ , Python, 115 linesinteractive_inference.py - python/
examples/ , Jupyter, 177 linesjupyter-notebook-demo.ip ynb - python/
examples/ , Python, 192 linessynaptic_partners.py - python/
examples/ , Python, 32 lineswebdriver_example.py - python/
examples/ , Python, 207 lineswrite_annotations.py - python/
ext/ , C++, 208 linessrc/ _neuroglancer.cc - python/
ext/ , C++, 232 linessrc/ compress_segmentation.cc - python/
ext/ , C/C++, 173 linessrc/ compress_segmentation.h - python/
ext/ , C++, 229 linessrc/ compress_segmentation_te st.cc - python/
ext/ , Python, 72 linessrc/ generate_marching_cubes_ tables.py - python/
ext/ , C++, 147 linessrc/ mesh_objects.cc - python/
ext/ , C/C++, 38 linessrc/ mesh_objects.h - python/
ext/ , C++, 226 linessrc/ on_demand_object_mesh_ge nerator.cc - python/
ext/ , C/C++, 61 linessrc/ on_demand_object_mesh_ge nerator.h - python/
ext/ , C++, 22 linessrc/ openmesh_dependencies.cc - python/
ext/ , C++, 479 linessrc/ voxel_mesh_generator.cc - python/
ext/ , C/C++, 246 linessrc/ voxel_mesh_generator.h - python/
ext/ , C++, 260 linesthird_party/ openmesh/ OpenMesh/ src/ OpenMesh/ Core/ Mesh/ ArrayKernel.cc - python/
ext/ , C++, 315 linesthird_party/ openmesh/ OpenMesh/ src/ OpenMesh/ Core/ Mesh/ ArrayKernelT.cc - python/
ext/ , C++, 1,233 linesthird_party/ openmesh/ OpenMesh/ src/ OpenMesh/ Core/ Mesh/ PolyConnectivity.cc - python/
ext/ , C++, 458 linesthird_party/ openmesh/ OpenMesh/ src/ OpenMesh/ Core/ Mesh/ PolyMeshT.cc - python/
ext/ , C++, 500 linesthird_party/ openmesh/ OpenMesh/ src/ OpenMesh/ Core/ Mesh/ TriConnectivity.cc - python/
ext/ , C++, 93 linesthird_party/ openmesh/ OpenMesh/ src/ OpenMesh/ Core/ Mesh/ TriMeshT.cc - python/
ext/ , C/C++, 111 linesthird_party/ openmesh/ OpenMesh/ src/ OpenMesh/ Core/ System/ config.h - python/
ext/ , C++, 107 linesthird_party/ openmesh/ OpenMesh/ src/ OpenMesh/ Core/ System/ omstream.cc - python/
ext/ , C++, 59 linesthird_party/ openmesh/ OpenMesh/ src/ OpenMesh/ Core/ Utils/ BaseProperty.cc - python/
ext/ , C++, 85 linesthird_party/ openmesh/ OpenMesh/ src/ OpenMesh/ Core/ Utils/ SingletonT.cc - python/
ext/ , C++, 310 linesthird_party/ openmesh/ OpenMesh/ src/ OpenMesh/ Tools/ Decimater/ BaseDecimaterT.cc - python/
ext/ , C++, 369 linesthird_party/ openmesh/ OpenMesh/ src/ OpenMesh/ Tools/ Decimater/ DecimaterT.cc - python/
ext/ , C++, 159 linesthird_party/ openmesh/ OpenMesh/ src/ OpenMesh/ Tools/ Decimater/ ModQuadricT.cc - python/
ext/ , C++, 98 linesthird_party/ openmesh/ OpenMesh/ src/ OpenMesh/ Tools/ Decimater/ Observer.cc - python/
neuroglancer/ , Python, 122 lines__init__.py - python/
neuroglancer/ , Python, 86 linesasync_util.py - python/
neuroglancer/ , Python, 55 linesboss_credentials.py - python/
neuroglancer/ , Python, 39 lineschunks.py - python/
neuroglancer/ , Python, 93 linescli.py - python/
neuroglancer/ , Python, 320 linescoordinate_space.py - python/
neuroglancer/ , Python, 69 linescredentials_provider.py - python/
neuroglancer/ , Python, 56 linesdefault_credentials_mana ger.py - python/
neuroglancer/ , Python, 42 linesdownsample.py - python/
neuroglancer/ , Python, 101 linesdownsample_scales.py - python/
neuroglancer/ , Python, 57 linesdvid_credentials.py - python/
neuroglancer/ , Python, 193 linesequivalence_map.py - python/
neuroglancer/ , Python, 63 linesfutures.py - python/
neuroglancer/ , Python, 85 linesgoogle_credentials.py - python/
neuroglancer/ , Python, 59 linesjson_utils.py - python/
neuroglancer/ , Python, 649 linesjson_wrappers.py - python/
neuroglancer/ , Python, 386 lineslocal_volume.py - python/
neuroglancer/ , Python, 21 linesrandom_token.py - python/
neuroglancer/ , Python, 642 linesread_precomputed_annotat ions.py - python/
neuroglancer/ , Python, 94 linesread_precomputed_segment _properties.py - python/
neuroglancer/ , Python, 102 linesread_precomputed_skeleto ns.py - python/
neuroglancer/ , Python, 51 linesscreenshot.py - python/
neuroglancer/ , Python, 91 linessegment_colors.py - python/
neuroglancer/ , Python, 653 linesserver.py - python/
neuroglancer/ , Python, 101 linesskeleton.py - python/
neuroglancer/ , Python, 102 linesstatic/ __init__.py - python/
neuroglancer/ , Python, 64 linesstatic_file_server.py - python/
neuroglancer/ , Python, 13 linestest_util.py - python/
neuroglancer/ , Python, 47 linestest_utils.py - python/
neuroglancer/ , Python, 1 linetool/ __init__.py - python/
neuroglancer/ , Python, 904 linestool/ agglomeration_split_tool .py - python/
neuroglancer/ , Python, 68 linestool/ cube.py - python/
neuroglancer/ , Python, 139 linestool/ edit_states.py - python/
neuroglancer/ , Python, 217 linestool/ filter_bodies.py - python/
neuroglancer/ , Python, 319 linestool/ mask_tool.py - python/
neuroglancer/ , Python, 526 linestool/ merge_tool.py - python/
neuroglancer/ , Python, 92 linestool/ save_meshes.py - python/
neuroglancer/ , Python, 815 linestool/ screenshot.py - python/
neuroglancer/ , Python, 664 linestool/ video_tool.py - python/
neuroglancer/ , Python, 217 linestrackable_state.py - python/
neuroglancer/ , Python, 158 linesurl_state.py - python/
neuroglancer/ , Python, 56 linesviewer.py - python/
neuroglancer/ , Python, 507 linesviewer_base.py - python/
neuroglancer/ , Python, 360 linesviewer_config_state.py - python/
neuroglancer/ , Python, 1,996 linesviewer_state.py - python/
neuroglancer/ , Python, 189 lineswebdriver.py - python/
neuroglancer/ , Python, 376 lineswrite_annotations.py - python/
tests/ , Python, 113 linesannotation_properties_te st.py - python/
tests/ , Python, 100 linesannotation_tool_test.py - python/
tests/ , Python, 186 linesconftest.py - python/
tests/ , Python, 59 linescontext_lost_test.py - python/
tests/ , Python, 64 linesdisplay_dimensions_test. py - python/
tests/ , Python, 78 linesequivalence_map_test.py - python/
tests/ , Python, 104 linesfill_value_test.py - python/
tests/ , Python, 59 linesjson_wrappers_test.py - python/
tests/ , Python, 64 lineslinked_segment_group_tes t.py - python/
tests/ , Python, 81 lineslocal_volume_test.py - python/
tests/ , Python, 10 linesmanaged_layer_test.py - python/
tests/ , Python, 84 linesmerge_tool_test.py - python/
tests/ , Python, 74 linesn5_test.py - python/
tests/ , Python, 56 lineson_demand_mesh_generator _test.py - python/
tests/ , Python, 259 linespicking_test.py - python/
tests/ , Python, 93 linesprecomputed_test.py - python/
tests/ , Python, 41 linesscreenshot_test.py - python/
tests/ , Python, 132 linessegment_colors_test.py - python/
tests/ , Python, 97 linesselected_values_test.py - python/
tests/ , Python, 186 linesshader_controls_test.py - python/
tests/ , Python, 79 linesskeleton_options_test.py - python/
tests/ , Python, 49 linestitle_test.py - python/
tests/ , Python, 50 linesurl_state_test.py - python/
tests/ , Python, 30 linesviewer_config_state_test .py - python/
tests/ , Python, 73 linesviewer_state_roundtrip_t est.py - python/
tests/ , Python, 118 linesviewer_state_test.py - python/
tests/ , Python, 172 linesvolume_rendering_test.py - python/
tests/ , Python, 151 lineswrite_annotations_test.p y - python/
tests/ , Python, 668 lineszarr_test.py - rspack.config.ts, TypeScript, 128 lines
- setup.py, Python, 293 lines
- src/
annotation/ , TypeScript, 244 linesannotation_layer_state.t s - src/
annotation/ , TypeScript, 574 linesbackend.ts - src/
annotation/ , TypeScript, 170 linesbase.ts - src/
annotation/ , TypeScript, 704 linesbounding_box.ts - src/
annotation/ , TypeScript, 361 linesellipsoid.ts - src/
annotation/ , TypeScript, 152 linesfrontend_source.browser_ test.ts - src/
annotation/ , TypeScript, 1,058 linesfrontend_source.ts - src/
annotation/ , TypeScript, 1,940 linesindex.ts - src/
annotation/ , TypeScript, 300 linesline.ts - src/
annotation/ , TypeScript, 237 linespoint.ts - src/
annotation/ , TypeScript, 342 linespolyline.ts - src/
annotation/ , TypeScript, 1,217 linesrenderlayer.ts - src/
annotation/ , TypeScript, 49 linesselection.ts - src/
annotation/ , TypeScript, 854 linestype_handler.ts - src/
async_computation.bundle , JavaScript, 8 lines.js - src/
async_computation/ , TypeScript, 25 linesdecode_blosc.ts - src/
async_computation/ , TypeScript, 22 linesdecode_blosc_request.ts - src/
async_computation/ , TypeScript, 24 linesdecode_compresso.ts - src/
async_computation/ , TypeScript, 22 linesdecode_compresso_request .ts - src/
async_computation/ , TypeScript, 24 linesdecode_crackle.ts - src/
async_computation/ , TypeScript, 21 linesdecode_crackle_request.t s - src/
async_computation/ , TypeScript, 88 linesdecode_jpeg.ts - src/
async_computation/ , TypeScript, 29 linesdecode_jpeg_request.ts - src/
async_computation/ , TypeScript, 37 linesdecode_jxl.ts - src/
async_computation/ , TypeScript, 27 linesdecode_jxl_request.ts - src/
async_computation/ , TypeScript, 44 linesdecode_png.ts - src/
async_computation/ , TypeScript, 36 linesdecode_png_request.ts - src/
async_computation/ , TypeScript, 25 linesdecode_zstd.ts - src/
async_computation/ , TypeScript, 30 linesdecode_zstd_node.ts - src/
async_computation/ , TypeScript, 22 linesdecode_zstd_request.ts - src/
async_computation/ , TypeScript, 44 linesencode_compressed_segmen tation.ts - src/
async_computation/ , TypeScript, 33 linesencode_compressed_segmen tation_request.ts - src/
async_computation/ , TypeScript, 58 lineshandler.ts - src/
async_computation/ , TypeScript, 33 linesindex.ts - src/
async_computation/ , TypeScript, 76 linesobj_mesh.ts - src/
async_computation/ , TypeScript, 25 linesobj_mesh_request.ts - src/
async_computation/ , TypeScript, 124 linesrequest.ts - src/
async_computation/ , TypeScript, 35 linesvtk_mesh.ts - src/
async_computation/ , TypeScript, 25 linesvtk_mesh_request.ts - src/
axes_lines.ts , TypeScript, 163 lines - src/
chunk_manager/ , TypeScript, 1,391 linesbackend.ts - src/
chunk_manager/ , TypeScript, 121 linesbase.ts - src/
chunk_manager/ , TypeScript, 533 linesfrontend.ts - src/
chunk_manager/ , TypeScript, 150 linesgeneric_file_source.ts - src/
chunk_worker.bundle.js , JavaScript, 14 lines - src/
coordinate_transform.spe , TypeScript, 517 linesc.ts - src/
coordinate_transform.ts , TypeScript, 1,976 lines - src/
credentials_provider/ , TypeScript, 99 lineschunk_source_frontend.ts - src/
credentials_provider/ , TypeScript, 40 linesdefault_manager.ts - src/
credentials_provider/ , TypeScript, 85 lineshttp_request.ts - src/
credentials_provider/ , TypeScript, 207 linesindex.ts - src/
credentials_provider/ , TypeScript, 129 linesinteractive_credentials_ provider.ts - src/
credentials_provider/ , TypeScript, 94 linesoauth2.ts - src/
credentials_provider/ , TypeScript, 117 linesshared.ts - src/
credentials_provider/ , TypeScript, 20 linesshared_common.ts - src/
credentials_provider/ , TypeScript, 131 linesshared_counterpart.ts - src/
data_management_context. , TypeScript, 79 linests - src/
data_panel_layout.ts , TypeScript, 978 lines - src/
datasource/ , TypeScript, 63 linesboss/ api.ts - src/
datasource/ , TypeScript, 1 lineboss/ async_computation.ts - src/
datasource/ , TypeScript, 143 linesboss/ backend.ts - src/
datasource/ , TypeScript, 46 linesboss/ base.ts - src/
datasource/ , TypeScript, 172 linesboss/ credentials_provider.ts - src/
datasource/ , TypeScript, 980 linesboss/ frontend.ts - src/
datasource/ , TypeScript, 24 linesboss/ register_credentials_pro vider.ts - src/
datasource/ , TypeScript, 20 linesboss/ register_default.ts - src/
datasource/ , TypeScript, 108 linesbrainmaps/ api.ts - src/
datasource/ , TypeScript, 1 linebrainmaps/ async_computation.ts - src/
datasource/ , TypeScript, 1,264 linesbrainmaps/ backend.ts - src/
datasource/ , TypeScript, 123 linesbrainmaps/ base.ts - src/
datasource/ , TypeScript, 37 linesbrainmaps/ credentials_provider.ts - src/
datasource/ , TypeScript, 1,267 linesbrainmaps/ frontend.ts - src/
datasource/ , TypeScript, 29 linesbrainmaps/ register_credentials_pro vider.ts - src/
datasource/ , TypeScript, 36 linesbrainmaps/ register_default.ts - src/
datasource/ , TypeScript, 2 linesdeepzoom/ async_computation.ts - src/
datasource/ , TypeScript, 151 linesdeepzoom/ backend.ts - src/
datasource/ , TypeScript, 31 linesdeepzoom/ base.ts - src/
datasource/ , TypeScript, 345 linesdeepzoom/ frontend.ts - src/
datasource/ , TypeScript, 31 linesdeepzoom/ register_default.ts - src/
datasource/ , TypeScript, 64 linesdefault_provider.ts - src/
datasource/ , TypeScript, 102 linesdvid/ api.ts - src/
datasource/ , TypeScript, 1 linedvid/ async_computation.ts - src/
datasource/ , TypeScript, 214 linesdvid/ backend.ts - src/
datasource/ , TypeScript, 44 linesdvid/ base.ts - src/
datasource/ , TypeScript, 86 linesdvid/ credentials_provider.ts - src/
datasource/ , TypeScript, 778 linesdvid/ frontend.ts - src/
datasource/ , TypeScript, 29 linesdvid/ register_credentials_pro vider.ts - src/
datasource/ , TypeScript, 20 linesdvid/ register_default.ts - src/
datasource/ , TypeScript, 12 linesenabled_async_computatio n_modules.ts - src/
datasource/ , TypeScript, 14 linesenabled_backend_modules. ts - src/
datasource/ , TypeScript, 18 linesenabled_frontend_modules .ts - src/
datasource/ , TypeScript, 1 linegraphene/ async_computation.ts - src/
datasource/ , TypeScript, 644 linesgraphene/ backend.ts - src/
datasource/ , TypeScript, 174 linesgraphene/ base.ts - src/
datasource/ , TypeScript, 3,124 linesgraphene/ frontend.ts - src/
datasource/ , TypeScript, 23 linesgraphene/ register_default.ts - src/
datasource/ , TypeScript, 686 linesindex.ts - src/
datasource/ , TypeScript, 218 lineskvstore_completions.ts - src/
datasource/ , TypeScript, 132 lineslocal.ts - src/
datasource/ , TypeScript, 2 linesn5/ async_computation.ts - src/
datasource/ , TypeScript, 120 linesn5/ backend.ts - src/
datasource/ , TypeScript, 30 linesn5/ base.ts - src/
datasource/ , TypeScript, 723 linesn5/ frontend.ts - src/
datasource/ , TypeScript, 31 linesn5/ register_default.ts - src/
datasource/ , TypeScript, 100 linesnggraph/ credentials_provider.ts - src/
datasource/ , TypeScript, 798 linesnggraph/ frontend.ts - src/
datasource/ , TypeScript, 20 linesnggraph/ register_default.ts - src/
datasource/ , TypeScript, 316 linesnifti/ backend.ts - src/
datasource/ , TypeScript, 38 linesnifti/ base.ts - src/
datasource/ , TypeScript, 260 linesnifti/ frontend.ts - src/
datasource/ , TypeScript, 31 linesnifti/ register_default.ts - src/
datasource/ , TypeScript, 1 lineobj/ async_computation.ts - src/
datasource/ , TypeScript, 45 linesobj/ backend.ts - src/
datasource/ , TypeScript, 26 linesobj/ register_default.ts - src/
datasource/ , TypeScript, 5 linesprecomputed/ async_computation.ts - src/
datasource/ , TypeScript, 1,095 linesprecomputed/ backend.ts - src/
datasource/ , TypeScript, 118 linesprecomputed/ base.ts - src/
datasource/ , TypeScript, 1,426 linesprecomputed/ frontend.ts - src/
datasource/ , TypeScript, 30 linesprecomputed/ register_default.ts - src/
datasource/ , TypeScript, 312 linesprecomputed/ sharded.ts - src/
datasource/ , TypeScript, 137 linespython/ backend.ts - src/
datasource/ , TypeScript, 45 linespython/ base.ts - src/
datasource/ , TypeScript, 43 linespython/ frontend.browser_test.ts - src/
datasource/ , TypeScript, 671 linespython/ frontend.ts - src/
datasource/ , TypeScript, 20 linespython/ register_default.ts - src/
datasource/ , TypeScript, 1 linerender/ async_computation.ts - src/
datasource/ , TypeScript, 155 linesrender/ backend.ts - src/
datasource/ , TypeScript, 35 linesrender/ base.ts - src/
datasource/ , TypeScript, 846 linesrender/ frontend.ts - src/
datasource/ , TypeScript, 20 linesrender/ register_default.ts - src/
datasource/ , TypeScript, 163 linesstate_share.ts - src/
datasource/ , TypeScript, 1 linevtk/ async_computation.ts - src/
datasource/ , TypeScript, 72 linesvtk/ backend.ts - src/
datasource/ , TypeScript, 299 linesvtk/ parse.ts - src/
datasource/ , TypeScript, 26 linesvtk/ register_default.ts - src/
datasource/ , TypeScript, 2 lineszarr/ async_computation.ts - src/
datasource/ , TypeScript, 100 lineszarr/ backend.ts - src/
datasource/ , TypeScript, 23 lineszarr/ base.ts - src/
datasource/ , TypeScript, 35 lineszarr/ codec/ blosc/ decode.ts - src/
datasource/ , TypeScript, 30 lineszarr/ codec/ blosc/ resolve.ts - src/
datasource/ , TypeScript, 53 lineszarr/ codec/ bytes/ decode.ts - src/
datasource/ , TypeScript, 71 lineszarr/ codec/ bytes/ resolve.ts - src/
datasource/ , TypeScript, 37 lineszarr/ codec/ crc32c/ decode.ts - src/
datasource/ , TypeScript, 36 lineszarr/ codec/ crc32c/ resolve.ts - src/
datasource/ , TypeScript, 211 lineszarr/ codec/ decode.ts - src/
datasource/ , TypeScript, 36 lineszarr/ codec/ gzip/ decode.ts - src/
datasource/ , TypeScript, 39 lineszarr/ codec/ gzip/ resolve.ts - src/
datasource/ , TypeScript, 66 lineszarr/ codec/ index.ts - src/
datasource/ , TypeScript, 226 lineszarr/ codec/ resolve.ts - src/
datasource/ , TypeScript, 201 lineszarr/ codec/ sharding_indexed/ decode.ts - src/
datasource/ , TypeScript, 127 lineszarr/ codec/ sharding_indexed/ resolve.ts - src/
datasource/ , TypeScript, 36 lineszarr/ codec/ transpose/ decode.ts - src/
datasource/ , TypeScript, 113 lineszarr/ codec/ transpose/ resolve.ts - src/
datasource/ , TypeScript, 35 lineszarr/ codec/ zstd/ decode.ts - src/
datasource/ , TypeScript, 30 lineszarr/ codec/ zstd/ resolve.ts - src/
datasource/ , TypeScript, 627 lineszarr/ frontend.ts - src/
datasource/ , TypeScript, 51 lineszarr/ metadata/ index.ts - src/
datasource/ , TypeScript, 444 lineszarr/ metadata/ parse.ts - src/
datasource/ , TypeScript, 41 lineszarr/ metadata/ parse_util.ts - src/
datasource/ , TypeScript, 1,419 lineszarr/ ome.spec.ts - src/
datasource/ , TypeScript, 881 lineszarr/ ome.ts - src/
datasource/ , TypeScript, 38 lineszarr/ register_default.ts - src/
display_context.ts , TypeScript, 718 lines - src/
gpu_hash/ , TypeScript, 32 lineshash_function.ts - src/
gpu_hash/ , TypeScript, 32 lineshash_table.benchmark.ts - src/
gpu_hash/ , TypeScript, 140 lineshash_table.spec.ts - src/
gpu_hash/ , TypeScript, 456 lineshash_table.ts - src/
gpu_hash/ , TypeScript, 188 linesshader.browser_test.ts - src/
gpu_hash/ , TypeScript, 224 linesshader.ts - src/
help/ , TypeScript, 268 linesinput_event_bindings.ts - src/
kvstore/ , TypeScript, 281 linesauto_detect.ts - src/
kvstore/ , TypeScript, 65 linesbackend.ts - src/
kvstore/ , TypeScript, 109 linesbyte_range/ file_handle.ts - src/
kvstore/ , TypeScript, 75 linesbyte_range/ index.ts - src/
kvstore/ , TypeScript, 41 linesbyte_range/ register.ts - src/
kvstore/ , TypeScript, 55 lineschunk_source_frontend.ts - src/
kvstore/ , TypeScript, 185 linescontext.ts - src/
kvstore/ , TypeScript, 3 linesenabled_async_computatio n_modules.ts - src/
kvstore/ , TypeScript, 11 linesenabled_backend_modules. ts - src/
kvstore/ , TypeScript, 13 linesenabled_frontend_modules .ts - src/
kvstore/ , TypeScript, 50 linesfrontend.ts - src/
kvstore/ , TypeScript, 150 linesgcs/ index.ts - src/
kvstore/ , TypeScript, 45 linesgcs/ register.ts - src/
kvstore/ , TypeScript, 235 linesgzip/ file_handle.ts - src/
kvstore/ , TypeScript, 96 linesgzip/ index.ts - src/
kvstore/ , TypeScript, 50 linesgzip/ register.ts - src/
kvstore/ , TypeScript, 26 lineshttp/ backend.ts - src/
kvstore/ , TypeScript, 115 lineshttp/ common.ts - src/
kvstore/ , TypeScript, 61 lineshttp/ frontend.ts - src/
kvstore/ , TypeScript, 128 lineshttp/ html_directory_listing.t s - src/
kvstore/ , TypeScript, 292 lineshttp/ read.ts - src/
kvstore/ , TypeScript, 21 lineshttp/ register_backend.ts - src/
kvstore/ , TypeScript, 21 lineshttp/ register_frontend.ts - src/
kvstore/ , TypeScript, 1 lineicechunk/ async_computation.ts - src/
kvstore/ , TypeScript, 37 linesicechunk/ auto_detect.ts - src/
kvstore/ , TypeScript, 112 linesicechunk/ backend.ts - src/
kvstore/ , TypeScript, 100 linesicechunk/ complete_url.ts - src/
kvstore/ , TypeScript, 61 linesicechunk/ crockford_base32.ts - src/
kvstore/ , TypeScript, 217 linesicechunk/ decode_utils.ts - src/
kvstore/ , TypeScript, 42 linesicechunk/ frontend.ts - src/
kvstore/ , TypeScript, 77 linesicechunk/ list.ts - src/
kvstore/ , TypeScript, 102 linesicechunk/ manifest.ts - src/
kvstore/ , TypeScript, 249 linesicechunk/ metadata_cache.ts - src/
kvstore/ , TypeScript, 216 linesicechunk/ read.ts - src/
kvstore/ , TypeScript, 48 linesicechunk/ ref.ts - src/
kvstore/ , TypeScript, 46 linesicechunk/ register_backend.ts - src/
kvstore/ , TypeScript, 59 linesicechunk/ register_frontend.ts - src/
kvstore/ , TypeScript, 261 linesicechunk/ snapshot.ts - src/
kvstore/ , TypeScript, 98 linesicechunk/ url.ts - src/
kvstore/ , TypeScript, 276 linesindex.ts - src/
kvstore/ , TypeScript, 90 linesmiddleauth/ common.ts - src/
kvstore/ , TypeScript, 218 linesmiddleauth/ credentials_provider.ts - src/
kvstore/ , TypeScript, 21 linesmiddleauth/ register_backend.ts - src/
kvstore/ , TypeScript, 33 linesmiddleauth/ register_credentials_pro vider.ts - src/
kvstore/ , TypeScript, 21 linesmiddleauth/ register_frontend.ts - src/
kvstore/ , TypeScript, 182 linesngauth/ credentials_provider.ts - src/
kvstore/ , TypeScript, 84 linesngauth/ register.ts - src/
kvstore/ , TypeScript, 43 linesngauth/ register_credentials_pro vider.ts - src/
kvstore/ , TypeScript, 1 lineocdbt/ async_computation.ts - src/
kvstore/ , TypeScript, 27 linesocdbt/ auto_detect.ts - src/
kvstore/ , TypeScript, 124 linesocdbt/ backend.ts - src/
kvstore/ , TypeScript, 474 linesocdbt/ btree.ts - src/
kvstore/ , TypeScript, 153 linesocdbt/ complete_url.ts - src/
kvstore/ , TypeScript, 234 linesocdbt/ decode_utils.ts - src/
kvstore/ , TypeScript, 42 linesocdbt/ frontend.ts - src/
kvstore/ , TypeScript, 192 linesocdbt/ indirect_data_reference. ts - src/
kvstore/ , TypeScript, 101 linesocdbt/ key.ts - src/
kvstore/ , TypeScript, 232 linesocdbt/ list.ts - src/
kvstore/ , TypeScript, 167 linesocdbt/ list_versions.ts - src/
kvstore/ , TypeScript, 275 linesocdbt/ manifest.ts - src/
kvstore/ , TypeScript, 191 linesocdbt/ metadata_cache.ts - src/
kvstore/ , TypeScript, 154 linesocdbt/ read.ts - src/
kvstore/ , TypeScript, 330 linesocdbt/ read_version.ts - src/
kvstore/ , TypeScript, 46 linesocdbt/ register_backend.ts - src/
kvstore/ , TypeScript, 59 linesocdbt/ register_frontend.ts - src/
kvstore/ , TypeScript, 56 linesocdbt/ url.ts - src/
kvstore/ , TypeScript, 188 linesocdbt/ version_specifier.ts - src/
kvstore/ , TypeScript, 621 linesocdbt/ version_tree.ts - src/
kvstore/ , TypeScript, 250 linesproxy.ts - src/
kvstore/ , TypeScript, 79 linesregister.ts - src/
kvstore/ , TypeScript, 26 liness3/ backend.ts - src/
kvstore/ , TypeScript, 175 liness3/ common.ts - src/
kvstore/ , TypeScript, 52 liness3/ frontend.ts - src/
kvstore/ , TypeScript, 241 liness3/ list.ts - src/
kvstore/ , TypeScript, 21 liness3/ register_backend.ts - src/
kvstore/ , TypeScript, 21 liness3/ register_frontend.ts - src/
kvstore/ , TypeScript, 22 linesshared_common.ts - src/
kvstore/ , TypeScript, 221 linesurl.ts - src/
kvstore/ , TypeScript, 46 lineszip/ auto_detect.ts - src/
kvstore/ , TypeScript, 256 lineszip/ backend.ts - src/
kvstore/ , TypeScript, 40 lineszip/ frontend.ts - src/
kvstore/ , TypeScript, 658 lineszip/ metadata.ts - src/
kvstore/ , TypeScript, 43 lineszip/ register_backend.ts - src/
kvstore/ , TypeScript, 46 lineszip/ register_frontend.ts - src/
layer/ , TypeScript, 983 linesannotation/ index.ts - src/
layer/ , TypeScript, 94 linesannotation/ property_tools.spec.ts - src/
layer/ , TypeScript, 669 linesannotation/ property_tools.ts - src/
layer/ , TypeScript, 49 linesannotation/ shader_ui_property_list. ts - src/
layer/ , TypeScript, 56 linesannotation/ tool_state.ts - src/
layer/ , TypeScript, 5 linesenabled_frontend_modules .ts - src/
layer/ , TypeScript, 614 linesimage/ index.ts - src/
layer/ , TypeScript, 2,545 linesindex.ts - src/
layer/ , TypeScript, 501 lineslayer_data_source.ts - src/
layer/ , TypeScript, 430 linesmulti_channel_setup.ts - src/
layer/ , TypeScript, 1,416 linessegmentation/ index.ts - src/
layer/ , TypeScript, 28 linessegmentation/ json_keys.ts - src/
layer/ , TypeScript, 156 linessegmentation/ layer_controls.ts - src/
layer/ , TypeScript, 281 linessingle_mesh/ index.ts - src/
layer_group_viewer.ts , TypeScript, 638 lines - src/
layer_groups_layout.ts , TypeScript, 823 lines - src/
layout.ts , TypeScript, 51 lines - src/
main.bundle.js , JavaScript, 5 lines - src/
main.ts , TypeScript, 23 lines - src/
main_module.ts , TypeScript, 4 lines - src/
main_python.ts , TypeScript, 235 lines - src/
mesh/ , TypeScript, 894 linesbackend.ts - src/
mesh/ , TypeScript, 51 linesbase.ts - src/
mesh/ , Shell, 13 linesdraco/ build.sh - src/
mesh/ , Python, 138 linesdraco/ build_wasm.py - src/
mesh/ , C/C++, 11 linesdraco/ draco_overlay/ draco/ draco_features.h - src/
mesh/ , Python, 28 linesdraco/ generate_first_bit_table .py - src/
mesh/ , TypeScript, 130 linesdraco/ index.ts - src/
mesh/ , C++, 158 linesdraco/ neuroglancer_draco.cc - src/
mesh/ , JavaScript, 6 linesdraco/ stub.js - src/
mesh/ , TypeScript, 1,170 linesfrontend.ts - src/
mesh/ , TypeScript, 1,048 linesmultiscale.spec.ts - src/
mesh/ , TypeScript, 403 linesmultiscale.ts - src/
mesh/ , TypeScript, 321 linestriangle_strips.spec.ts - src/
mesh/ , TypeScript, 349 linestriangle_strips.ts - src/
navigation_state.ts , TypeScript, 2,377 lines - src/
object_picking.ts , TypeScript, 131 lines - src/
overlay.ts , TypeScript, 119 lines - src/
perspective_view/ , TypeScript, 50 linesbackend.ts - src/
perspective_view/ , TypeScript, 17 linesbase.ts - src/
perspective_view/ , TypeScript, 1,510 linespanel.ts - src/
perspective_view/ , TypeScript, 124 linesrender_layer.ts - src/
projection_parameters.ts , TypeScript, 78 lines - src/
python_integration/ , TypeScript, 257 linesapi.ts - src/
python_integration/ , TypeScript, 99 linescredentials_provider.ts - src/
python_integration/ , TypeScript, 52 linesevent_action_map.ts - src/
python_integration/ , TypeScript, 119 linesprefetch.ts - src/
python_integration/ , TypeScript, 87 linesremote_actions.ts - src/
python_integration/ , TypeScript, 96 linesremote_status_messages.t s - src/
python_integration/ , TypeScript, 235 linesscreenshots.ts - src/
python_integration/ , TypeScript, 598 linesvolume.ts - src/
render_coordinate_transf , TypeScript, 873 linesorm.ts - src/
render_layer_backend.ts , TypeScript, 104 lines - src/
render_layer_common.ts , TypeScript, 21 lines - src/
render_scale_statistics. , TypeScript, 161 linests - src/
rendered_data_panel.ts , TypeScript, 850 lines - src/
rendered_data_panel_pick , TypeScript, 84 linesing.spec.ts - src/
rendered_data_panel_pick , TypeScript, 163 linesing.ts - src/
renderlayer.ts , TypeScript, 290 lines - src/
segment_color.browser_te , TypeScript, 67 linesst.ts - src/
segment_color.ts , TypeScript, 181 lines - src/
segmentation_display_sta , TypeScript, 100 lineste/ backend.ts - src/
segmentation_display_sta , TypeScript, 137 lineste/ base.ts - src/
segmentation_display_sta , TypeScript, 1,175 lineste/ frontend.ts - src/
segmentation_display_sta , TypeScript, 416 lineste/ property_map.spec.ts - src/
segmentation_display_sta , TypeScript, 1,339 lineste/ property_map.ts - src/
segmentation_graph/ , TypeScript, 88 lineslocal.spec.ts - src/
segmentation_graph/ , TypeScript, 304 lineslocal.ts - src/
segmentation_graph/ , TypeScript, 29 linessegment_id.ts - src/
segmentation_graph/ , TypeScript, 146 linessource.ts - src/
shared_disjoint_sets.ts , TypeScript, 194 lines - src/
shared_watchable_value.t , TypeScript, 109 liness - src/
single_mesh/ , TypeScript, 257 linesbackend.ts - src/
single_mesh/ , TypeScript, 56 linesbase.ts - src/
single_mesh/ , TypeScript, 97 linesfrontend.browser_test.ts - src/
single_mesh/ , TypeScript, 732 linesfrontend.ts - src/
skeleton/ , TypeScript, 202 linesbackend.ts - src/
skeleton/ , TypeScript, 24 linesbase.ts - src/
skeleton/ , TypeScript, 67 linesdecode_precomputed_skele ton.ts - src/
skeleton/ , TypeScript, 34 linesdecode_swc_skeleton.spec .ts - src/
skeleton/ , TypeScript, 113 linesdecode_swc_skeleton.ts - src/
skeleton/ , TypeScript, 901 linesfrontend.ts - src/
sliceview/ , TypeScript, 583 linesbackend.ts - src/
sliceview/ , TypeScript, 65 linesbackend_chunk_decoders/ bossNpz.ts - src/
sliceview/ , TypeScript, 26 linesbackend_chunk_decoders/ compressed_segmentation. ts - src/
sliceview/ , TypeScript, 35 linesbackend_chunk_decoders/ compresso.ts - src/
sliceview/ , TypeScript, 35 linesbackend_chunk_decoders/ crackle.ts - src/
sliceview/ , TypeScript, 27 linesbackend_chunk_decoders/ index.ts - src/
sliceview/ , TypeScript, 40 linesbackend_chunk_decoders/ jpeg.ts - src/
sliceview/ , TypeScript, 38 linesbackend_chunk_decoders/ jxl.ts - src/
sliceview/ , TypeScript, 59 linesbackend_chunk_decoders/ ndstoreNpz.ts - src/
sliceview/ , TypeScript, 44 linesbackend_chunk_decoders/ png.ts - src/
sliceview/ , TypeScript, 73 linesbackend_chunk_decoders/ postprocess.ts - src/
sliceview/ , TypeScript, 52 linesbackend_chunk_decoders/ raw.ts - src/
sliceview/ , TypeScript, 202 linesbase.spec.ts - src/
sliceview/ , TypeScript, 1,065 linesbase.ts - src/
sliceview/ , TypeScript, 442 linesbounding_box_shader_help er.ts - src/
sliceview/ , TypeScript, 18 lineschunk_format_handlers.ts - src/
sliceview/ , TypeScript, 147 lineschunk_format_testing.ts - src/
sliceview/ , TypeScript, 93 lineschunk_layout.ts - src/
sliceview/ , TypeScript, 148 linescompressed_segmentation/ chunk_format.browser_tes t.ts - src/
sliceview/ , TypeScript, 426 linescompressed_segmentation/ chunk_format.ts - src/
sliceview/ , TypeScript, 256 linescompressed_segmentation/ decode_common.ts - src/
sliceview/ , TypeScript, 28 linescompressed_segmentation/ decode_uint32.ts - src/
sliceview/ , TypeScript, 28 linescompressed_segmentation/ decode_uint64.ts - src/
sliceview/ , TypeScript, 68 linescompressed_segmentation/ encode.browser_benchmark .ts - src/
sliceview/ , TypeScript, 340 linescompressed_segmentation/ encode_common.ts - src/
sliceview/ , TypeScript, 360 linescompressed_segmentation/ encode_uint32.spec.ts - src/
sliceview/ , TypeScript, 29 linescompressed_segmentation/ encode_uint32.ts - src/
sliceview/ , TypeScript, 373 linescompressed_segmentation/ encode_uint64.spec.ts - src/
sliceview/ , TypeScript, 30 linescompressed_segmentation/ encode_uint64.ts - src/
sliceview/ , TypeScript, 34 linescompressed_segmentation/ test_util.ts - src/
sliceview/ , Shell, 13 linescompresso/ build.sh - src/
sliceview/ , Shell, 23 linescompresso/ build_wasm.sh - src/
sliceview/ , C++, 33 linescompresso/ compresso_wasm.cc - src/
sliceview/ , TypeScript, 124 linescompresso/ index.ts - src/
sliceview/ , Shell, 13 linescrackle/ build.sh - src/
sliceview/ , Shell, 23 linescrackle/ build_wasm.sh - src/
sliceview/ , C++, 30 linescrackle/ crackle_wasm.cc - src/
sliceview/ , TypeScript, 159 linescrackle/ index.ts - src/
sliceview/ , TypeScript, 1,119 linesfrontend.ts - src/
sliceview/ , Shell, 22 linesjxl/ build.sh - src/
sliceview/ , Shell, 6 linesjxl/ build_wasm.sh - src/
sliceview/ , TypeScript, 166 linesjxl/ index.ts - src/
sliceview/ , Shell, 4 linesjxl/ optimize_wasm.sh - src/
sliceview/ , Rust, 109 linesjxl/ src/ lib.rs - src/
sliceview/ , TypeScript, 568 linespanel.ts - src/
sliceview/ , Shell, 13 linespng/ build.sh - src/
sliceview/ , Shell, 30 linespng/ build_wasm.sh - src/
sliceview/ , TypeScript, 258 linespng/ index.ts - src/
sliceview/ , C, 73 linespng/ png_wasm.c - src/
sliceview/ , TypeScript, 295 linesrenderlayer.ts - src/
sliceview/ , TypeScript, 157 linessingle_texture_chunk_for mat.ts - src/
sliceview/ , TypeScript, 88 linesuncompressed_chunk_forma t.browser_test.ts - src/
sliceview/ , TypeScript, 417 linesuncompressed_chunk_forma t.ts - src/
sliceview/ , TypeScript, 159 linesvolume/ backend.ts - src/
sliceview/ , TypeScript, 312 linesvolume/ base.ts - src/
sliceview/ , TypeScript, 292 linesvolume/ frontend.ts - src/
sliceview/ , TypeScript, 161 linesvolume/ image_renderlayer.ts - src/
sliceview/ , TypeScript, 729 linesvolume/ renderlayer.ts - src/
sliceview/ , TypeScript, 460 linesvolume/ segmentation_renderlayer .ts - src/
sliceview/ , TypeScript, 212 lineswire_frame.ts - src/
status.ts , TypeScript, 231 lines - src/
third_party/ , TypeScript, 260 linescodemirror-glsl.ts - src/
third_party/ , TypeScript, 31 linesjpgjs/ jpg.d.ts - src/
third_party/ , JavaScript, 5,255 linesjpgjs/ jpg.js - src/
trackable_alpha.ts , TypeScript, 29 lines - src/
trackable_blend.ts , TypeScript, 43 lines - src/
trackable_boolean.ts , TypeScript, 137 lines - src/
trackable_finite_float.t , TypeScript, 29 liness - src/
trackable_value.ts , TypeScript, 542 lines - src/
trackable_vec3.ts , TypeScript, 58 lines - src/
ui/ , TypeScript, 204 linesannotation_properties.ts - src/
ui/ , TypeScript, 1,902 linesannotation_schema_tab.ts - src/
ui/ , TypeScript, 2,940 linesannotations.ts - src/
ui/ , TypeScript, 263 linesbounded_number_input.spe c.ts - src/
ui/ , TypeScript, 100 linesbounded_number_input.ts - src/
ui/ , TypeScript, 143 linescommand.ts - src/
ui/ , TypeScript, 250 linescommand_catalog.spec.ts - src/
ui/ , TypeScript, 468 linescommand_catalog.ts - src/
ui/ , TypeScript, 355 linescommand_palette.ts - src/
ui/ , TypeScript, 132 linescommand_registry.spec.ts - src/
ui/ , TypeScript, 94 linescommand_registry.ts - src/
ui/ , TypeScript, 150 linescontext_menu.ts - src/
ui/ , TypeScript, 55 linesdefault_clipboard_handli ng.spec.ts - src/
ui/ , TypeScript, 89 linesdefault_clipboard_handli ng.ts - src/
ui/ , TypeScript, 119 linesdefault_commands.spec.ts - src/
ui/ , TypeScript, 240 linesdefault_commands.ts - src/
ui/ , TypeScript, 206 linesdefault_input_event_bind ings.ts - src/
ui/ , TypeScript, 29 linesdefault_viewer.ts - src/
ui/ , TypeScript, 71 linesdefault_viewer_setup.ts - src/
ui/ , TypeScript, 40 linesdisable_default_actions. ts - src/
ui/ , TypeScript, 110 linesdrag_and_drop.ts - src/
ui/ , TypeScript, 517 lineslayer_bar.ts - src/
ui/ , TypeScript, 597 lineslayer_data_sources_tab.t s - src/
ui/ , TypeScript, 593 lineslayer_drag_and_drop.ts - src/
ui/ , TypeScript, 487 lineslayer_list_panel.ts - src/
ui/ , TypeScript, 481 lineslayer_side_panel.ts - src/
ui/ , TypeScript, 363 lineslayer_side_panel_state.t s - src/
ui/ , TypeScript, 43 linesminimal_viewer.ts - src/
ui/ , TypeScript, 96 linesposition_drag_and_drop.t s - src/
ui/ , TypeScript, 916 linesscreenshot_menu.ts - src/
ui/ , TypeScript, 1,657 linessegment_list.ts - src/
ui/ , TypeScript, 186 linessegment_select_tools.ts - src/
ui/ , TypeScript, 532 linessegment_split_merge_tool s.ts - src/
ui/ , TypeScript, 144 linessegmentation_display_opt ions_tab.ts - src/
ui/ , TypeScript, 209 linesselection_details.ts - src/
ui/ , TypeScript, 779 linesside_panel.ts - src/
ui/ , TypeScript, 182 linesside_panel_location.ts - src/
ui/ , TypeScript, 159 linesstate_editor.ts - src/
ui/ , TypeScript, 409 linesstatistics.ts - src/
ui/ , TypeScript, 36 linestitle.ts - src/
ui/ , TypeScript, 1,014 linestool.ts - src/
ui/ , TypeScript, 42 linestool_drag_and_drop.ts - src/
ui/ , TypeScript, 1,331 linestool_palette.ts - src/
ui/ , TypeScript, 322 linestool_query.spec.ts - src/
ui/ , TypeScript, 353 linestool_query.ts - src/
ui/ , TypeScript, 174 linesurl_hash_binding.ts - src/
ui/ , TypeScript, 148 linesviewer_settings.ts - src/
uint64_map.spec.ts , TypeScript, 125 lines - src/
uint64_map.ts , TypeScript, 138 lines - src/
uint64_ordered_set.ts , TypeScript, 117 lines - src/
uint64_set.spec.ts , TypeScript, 101 lines - src/
uint64_set.ts , TypeScript, 176 lines - src/
util/ , TypeScript, 91 linesabort.spec.ts - src/
util/ , TypeScript, 137 linesabort.ts - src/
util/ , TypeScript, 206 linesaffine.spec.ts - src/
util/ , TypeScript, 66 linesaffine.ts - src/
util/ , TypeScript, 64 linesanimation_frame_debounce .ts - src/
util/ , TypeScript, 307 linesarray.spec.ts - src/
util/ , TypeScript, 652 linesarray.ts - src/
util/ , TypeScript, 123 linesautomatic_focus.ts - src/
util/ , TypeScript, 27 linesbase64.ts - src/
util/ , TypeScript, 62 linesbigint.ts - src/
util/ , TypeScript, 91 linesclipboard.spec.ts - src/
util/ , TypeScript, 59 linesclipboard.ts - src/
util/ , TypeScript, 94 linescolor.browser_test.ts - src/
util/ , TypeScript, 249 linescolor.ts - src/
util/ , TypeScript, 106 linescolorspace.ts - src/
util/ , TypeScript, 22 linescompare.ts - src/
util/ , TypeScript, 181 linescompletion.ts - src/
util/ , TypeScript, 83 linesdata_type.ts - src/
util/ , TypeScript, 101 linesdisjoint_sets.spec.ts - src/
util/ , TypeScript, 241 linesdisjoint_sets.ts - src/
util/ , TypeScript, 143 linesdisposable.ts - src/
util/ , TypeScript, 84 linesdom.ts - src/
util/ , TypeScript, 33 linesdrag_and_drop.spec.ts - src/
util/ , TypeScript, 262 linesdrag_and_drop.ts - src/
util/ , TypeScript, 112 linesdropdown.ts - src/
util/ , TypeScript, 256 linesempirical_cdf.browser_te st.ts - src/
util/ , TypeScript, 198 linesempirical_cdf.ts - src/
util/ , TypeScript, 34 linesendian.spec.ts - src/
util/ , TypeScript, 145 linesendian.ts - src/
util/ , TypeScript, 39 lineserf.ts - src/
util/ , TypeScript, 46 lineserror.ts - src/
util/ , TypeScript, 499 linesevent_action_map.ts - src/
util/ , TypeScript, 3 linesfalse.ts - src/
util/ , TypeScript, 27 linesfile_download.ts - src/
util/ , TypeScript, 78 linesfloat.ts - src/
util/ , TypeScript, 70 linesfloat32_to_string.spec.t s - src/
util/ , TypeScript, 38 linesfloat32_to_string.ts - src/
util/ , TypeScript, 128 linesframerate.spec.ts - src/
util/ , TypeScript, 338 linesframerate.ts - src/
util/ , TypeScript, 201 linesgeom.spec.ts - src/
util/ , TypeScript, 524 linesgeom.ts - src/
util/ , TypeScript, 263 linesgoogle_oauth2.ts - src/
util/ , TypeScript, 16 linesgoogle_tag_manager.ts - src/
util/ , TypeScript, 71 linesgzip.ts - src/
util/ , TypeScript, 149 lineshash.ts - src/
util/ , TypeScript, 35 lineshex.ts - src/
util/ , TypeScript, 202 lineshierarchical_map.ts - src/
util/ , TypeScript, 146 lineshttp_request.ts - src/
util/ , TypeScript, 87 linesjson.spec.ts - src/
util/ , TypeScript, 797 linesjson.ts - src/
util/ , TypeScript, 171 lineskeyboard_bindings.ts - src/
util/ , TypeScript, 46 linesleb128.spec.ts - src/
util/ , TypeScript, 52 linesleb128.ts - src/
util/ , TypeScript, 339 lineslerp.ts - src/
util/ , TypeScript, 91 lineslinked_list.ts - src/
util/ , TypeScript, 44 lineslongest_common_prefix.ts - src/
util/ , TypeScript, 381 linesmatrix.spec.ts - src/
util/ , TypeScript, 360 linesmatrix.ts - src/
util/ , TypeScript, 178 linesmemoize.spec.ts - src/
util/ , TypeScript, 172 linesmemoize.ts - src/
util/ , TypeScript, 80 linesmessage_list.ts - src/
util/ , TypeScript, 27 linesmixin.ts - src/
util/ , TypeScript, 99 linesmouse_bindings.ts - src/
util/ , TypeScript, 55 linesmouse_drag.ts - src/
util/ , TypeScript, 68 linesnpy.spec.ts - src/
util/ , TypeScript, 101 linesnpy.ts - src/
util/ , TypeScript, 22 linesnumber.ts - src/
util/ , TypeScript, 28 linesnumber_to_string.spec.ts - src/
util/ , TypeScript, 26 linesnumber_to_string.ts - src/
util/ , TypeScript, 81 linesnumpy_dtype.ts - src/
util/ , TypeScript, 32 linesobject_id.ts - src/
util/ , TypeScript, 200 linespairing_heap.ts - src/
util/ , TypeScript, 2 linespolyfills.ts - src/
util/ , TypeScript, 177 linesprogress_listener.ts - src/
util/ , TypeScript, 52 linesrandom.ts - src/
util/ , TypeScript, 61 linesranked_matches.spec.ts - src/
util/ , TypeScript, 32 linesranked_matches.ts - src/
util/ , TypeScript, 462 linesscreenshot_manager.ts - src/
util/ , TypeScript, 39 linesscroll_into_view.ts - src/
util/ , TypeScript, 79 linessi_units.spec.ts - src/
util/ , TypeScript, 194 linessi_units.ts - src/
util/ , TypeScript, 132 linessignal.spec.ts - src/
util/ , TypeScript, 144 linessignal.ts - src/
util/ , TypeScript, 35 linessignal_binding_updater.t s - src/
util/ , TypeScript, 81 linesspatial_units.ts - src/
util/ , TypeScript, 19 linesstring.ts - src/
util/ , TypeScript, 365 linestouch_bindings.ts - src/
util/ , TypeScript, 201 linestrackable.ts - src/
util/ , TypeScript, 53 linestrackable_enum.ts - src/
util/ , TypeScript, 30 linestrackable_screenshot_mod e.ts - src/
util/ , TypeScript, 3 linestrue.ts - src/
util/ , TypeScript, 131 linesvector.ts - src/
util/ , TypeScript, 102 linesvelocity_estimation.ts - src/
util/ , TypeScript, 480 linesviewer_resolution_stats. ts - src/
util/ , TypeScript, 109 lineswatchable_map.ts - src/
util/ , TypeScript, 36 lineswheel_zoom.ts - src/
util/ , TypeScript, 68 lineszorder.spec.ts - src/
util/ , TypeScript, 136 lineszorder.ts - src/
viewer.ts , TypeScript, 1,356 lines - src/
viewer_state.ts , TypeScript, 39 lines - src/
visibility_priority/ , TypeScript, 70 linesbackend.ts - src/
visibility_priority/ , TypeScript, 107 linesfrontend.ts - src/
volume_rendering/ , TypeScript, 205 linesbackend.ts - src/
volume_rendering/ , TypeScript, 197 linesbase.ts - src/
volume_rendering/ , TypeScript, 26 linestrackable_volume_renderi ng_mode.ts - src/
volume_rendering/ , TypeScript, 74 linesvolume_render_layer.brow ser_test.ts - src/
volume_rendering/ , TypeScript, 1,392 linesvolume_render_layer.ts - src/
webgl/ , TypeScript, 112 linesbounding_box.ts - src/
webgl/ , TypeScript, 131 linesbuffer.ts - src/
webgl/ , TypeScript, 108 linescircles.ts - src/
webgl/ , TypeScript, 42 linescolormaps.ts - src/
webgl/ , TypeScript, 75 linescontext.ts - src/
webgl/ , TypeScript, 278 linesdynamic_shader.ts - src/
webgl/ , TypeScript, 195 linesellipse.ts - src/
webgl/ , TypeScript, 239 linesempirical_cdf.ts - src/
webgl/ , TypeScript, 57 linesindex_emulation.browser_ test.ts - src/
webgl/ , TypeScript, 139 linesindex_emulation.ts - src/
webgl/ , TypeScript, 355 lineslerp.browser_test.ts - src/
webgl/ , TypeScript, 392 lineslerp.ts - src/
webgl/ , TypeScript, 154 lineslines.ts - src/
webgl/ , TypeScript, 412 linesoffscreen.ts - src/
webgl/ , TypeScript, 51 linesquad.ts - src/
webgl/ , TypeScript, 41 linesrectangle_grid_buffer.sp ec.ts - src/
webgl/ , TypeScript, 80 linesrectangle_grid_buffer.ts - src/
webgl/ , TypeScript, 687 linesshader.ts - src/
webgl/ , TypeScript, 99 linesshader_control_reachabil ity.ts - src/
webgl/ , TypeScript, 206 linesshader_lib.browser_test. ts - src/
webgl/ , TypeScript, 642 linesshader_lib.ts - src/
webgl/ , TypeScript, 45 linesshader_source_string_pre processing.ts - src/
webgl/ , TypeScript, 118 linesshader_testing.browser_t est.ts - src/
webgl/ , TypeScript, 375 linesshader_testing.ts - src/
webgl/ , TypeScript, 1,548 linesshader_ui_controls.brows er_test.ts - src/
webgl/ , TypeScript, 1,975 linesshader_ui_controls.ts - src/
webgl/ , TypeScript, 140 linesspheres.ts - src/
webgl/ , TypeScript, 109 linessquare_corners_buffer.ts - src/
webgl/ , TypeScript, 36 linestesting.ts - src/
webgl/ , TypeScript, 151 linestexture.ts - src/
webgl/ , TypeScript, 101 linestexture_access.browser_t est.ts - src/
webgl/ , TypeScript, 614 linestexture_access.ts - src/
webgl/ , TypeScript, 95 linestrivial_shaders.ts - src/
webgl/ , TypeScript, 80 linesvertex_id.ts - src/
widget/ , TypeScript, 23 linesadd_button.ts - src/
widget/ , TypeScript, 150 linesannotation_tool_status.t s - src/
widget/ , TypeScript, 27 linesassociate_label.ts - src/
widget/ , TypeScript, 258 lineschannel_dimensions_widge t.ts - src/
widget/ , TypeScript, 59 linescheckbox_icon.ts - src/
widget/ , TypeScript, 23 linesclose_button.ts - src/
widget/ , TypeScript, 68 linescolor.ts - src/
widget/ , TypeScript, 1,208 linescoordinate_transform.ts - src/
widget/ , TypeScript, 28 linescopy_button.ts - src/
widget/ , TypeScript, 26 linesdelete_button.ts - src/
widget/ , TypeScript, 92 linesdependent_view_widget.ts - src/
widget/ , TypeScript, 865 linesdisplay_dimensions_widge t.ts - src/
widget/ , TypeScript, 70 linesenum_widget.ts - src/
widget/ , TypeScript, 27 lineseye_button.ts - src/
widget/ , TypeScript, 23 linesfilter_button.ts - src/
widget/ , TypeScript, 22 lineshelp_button.ts - src/
widget/ , TypeScript, 35 lineshidden_submit_button.ts - src/
widget/ , TypeScript, 70 linesicon.ts - src/
widget/ , TypeScript, 936 linesinvlerp.ts - src/
widget/ , TypeScript, 249 linesinvlerp_range_finder.ts - src/
widget/ , TypeScript, 246 lineslayer_control.ts - src/
widget/ , TypeScript, 106 lineslayer_control_channel_in vlerp.ts - src/
widget/ , TypeScript, 37 lineslayer_control_checkbox.t s - src/
widget/ , TypeScript, 53 lineslayer_control_color.ts - src/
widget/ , TypeScript, 49 lineslayer_control_enum.ts - src/
widget/ , TypeScript, 134 lineslayer_control_property_i nvlerp.ts - src/
widget/ , TypeScript, 53 lineslayer_control_range.ts - src/
widget/ , TypeScript, 79 lineslayer_control_select.spe c.ts - src/
widget/ , TypeScript, 97 lineslayer_control_select.ts - src/
widget/ , TypeScript, 62 lineslayer_reference.ts - src/
widget/ , TypeScript, 39 lineslayer_type_indicator.ts - src/
widget/ , TypeScript, 129 lineslinked_layer.ts - src/
widget/ , TypeScript, 23 linesmaximize_button.ts - src/
widget/ , TypeScript, 22 linesmove_to_button.ts - src/
widget/ , TypeScript, 893 linesmultiline_autocomplete.t s - src/
widget/ , TypeScript, 79 linesnumber_input_widget.ts - src/
widget/ , TypeScript, 410 linesposition_plot.ts - src/
widget/ , TypeScript, 1,719 linesposition_widget.ts - src/
widget/ , TypeScript, 47 linesprogress_listener.ts - src/
widget/ , TypeScript, 93 linesrange.ts - src/
widget/ , TypeScript, 438 linesrender_scale_widget.ts - src/
widget/ , TypeScript, 444 linesscale_bar.ts - src/
widget/ , TypeScript, 115 linessegmentation_color_mode. ts - src/
widget/ , TypeScript, 253 linesshader_code_widget.ts - src/
widget/ , TypeScript, 380 linesshader_controls.ts - src/
widget/ , TypeScript, 27 linesstar_button.ts - src/
widget/ , TypeScript, 433 linestab_view.ts - src/
widget/ , TypeScript, 29 linestext_icon_button.ts - src/
widget/ , TypeScript, 70 linestext_input.ts - src/
widget/ , TypeScript, 47 linestooltip.ts - src/
widget/ , TypeScript, 411 linestransfer_function.browse r_test.ts - src/
widget/ , TypeScript, 2,005 linestransfer_function.ts - src/
widget/ , TypeScript, 96 linesvec3_entry_widget.ts - src/
widget/ , TypeScript, 516 linesvirtual_list.ts - src/
worker_rpc.ts , TypeScript, 446 lines - src/
worker_rpc_context.ts , TypeScript, 21 lines - testdata/
codec/ , Python, 94 linescrackle/ generate_crackle_example s.py - testdata/
codec/ , Python, 69 linesnpy/ generate_npy_examples.py - testdata/
datasource/ , Python, 69 linesn5/ generate_n5.py - testdata/
datasource/ , Python, 46 linesprecomputed/ generate_precomputed.py - testdata/
datasource/ , Python, 85 lineszarr/ ome_zarr/ generate_ome_zarr.py - testdata/
datasource/ , Python, 199 lineszarr/ zarr_v2/ from_zarr-python/ generate-v2.py - testdata/
datasource/ , Python, 31 lineszarr/ zarr_v3/ examples/ generate_zarr_v3.py - testdata/
datasource/ , Python, 553 lineszarr/ zarr_v3/ from_zarrita/ generate-v3.py - testdata/
kvstore/ , Python, 47 linesicechunk/ dump_icechunk.py - testdata/
kvstore/ , Python, 132 linesicechunk/ generate_icechunk.py - testdata/
kvstore/ , Python, 77 linesocdbt/ generate_ocdbt.py - testdata/
kvstore/ , Python, 22 lineszip/ generate_zip.py - testdata/
kvstore/ , Python, 94 lineszip/ generate_zip64.py - tests/
codec/ , TypeScript, 196 linescrackle.spec.ts - tests/
datasource/ , TypeScript, 138 linescompletion.spec.ts - tests/
datasource/ , TypeScript, 58 linesdeepzoom.browser_test.ts - tests/
datasource/ , TypeScript, 41 linesmetadata_snapshot_test_u til.ts - tests/
datasource/ , TypeScript, 24 linesn5.browser_test.ts - tests/
datasource/ , TypeScript, 26 linesnifti.browser_test.ts - tests/
datasource/ , TypeScript, 21 linesprecomputed.browser_test .ts - tests/
datasource/ , TypeScript, 33 linessuggest_name.spec.ts - tests/
datasource/ , TypeScript, 184 linestest_util.ts - tests/
datasource/ , TypeScript, 36 lineszarr.browser_test.ts - tests/
example_project_test/ , TypeScript, 31 linesbuild_client.ts - tests/
example_project_test/ , TypeScript, 29 linesbuild_package.ts - tests/
example_project_test/ , TypeScript, 37 linescapture_build_screenshot .ts - tests/
example_project_test/ , TypeScript, 83 linescapture_dev_server_scree nshot.ts - tests/
example_project_test/ , TypeScript, 60 linescapture_screenshot.ts - tests/
example_project_test/ , TypeScript, 27 linesclient_test_options.ts - tests/
example_project_test/ , TypeScript, 32 linescompare_screenshots.ts - tests/
example_project_test/ , TypeScript, 141 linesconfig.ts - tests/
example_project_test/ , TypeScript, 31 linesinstall_node_modules.ts - tests/
example_project_test/ , TypeScript, 22 linesreset_screenshot_server. ts - tests/
example_project_test/ , TypeScript, 85 linesscreenshot_comparison_se rver.ts - tests/
fixtures/ , TypeScript, 31 linesclear_cookies.ts - tests/
fixtures/ , TypeScript, 35 linesdatasource_provider.ts - tests/
fixtures/ , TypeScript, 120 linesfake_gcs_server.ts - tests/
fixtures/ , TypeScript, 152 linesfake_s3_server.ts - tests/
fixtures/ , TypeScript, 54 linesfixture.ts - tests/
fixtures/ , TypeScript, 26 linesgl_browser.ts - tests/
fixtures/ , TypeScript, 27 linesgl_node.ts - tests/
fixtures/ , TypeScript, 50 lineshttp_server.ts - tests/
fixtures/ , TypeScript, 21 linesmsw_browser.ts - tests/
fixtures/ , TypeScript, 18 linesmsw_node.ts - tests/
fixtures/ , TypeScript, 50 linesshared_kvstore_context.t s - tests/
fixtures/ , TypeScript, 89 linesstatus_message_observer. ts - tests/
fixtures/ , TypeScript, 34 linestemp_directory.ts - tests/
kvstore/ , TypeScript, 47 linesgcs.spec.ts - tests/
kvstore/ , TypeScript, 36 linesgzip.spec.ts - tests/
kvstore/ , TypeScript, 47 lineshttp.spec.ts - tests/
kvstore/ , TypeScript, 292 linesicechunk.spec.ts - tests/
kvstore/ , TypeScript, 142 linesngauth.browser_test.ts - tests/
kvstore/ , TypeScript, 1,772 linesocdbt.spec.ts - tests/
kvstore/ , TypeScript, 67 liness3.browser_test.ts - tests/
kvstore/ , TypeScript, 110 liness3.spec.ts - tests/
kvstore/ , TypeScript, 56 linestest_data.ts - tests/
kvstore/ , TypeScript, 227 linestest_util.ts - tests/
kvstore/ , TypeScript, 205 linesurl.spec.ts - tests/
kvstore/ , TypeScript, 182 lineszip.spec.ts - tests/
util/ , TypeScript, 27 linesclear_cookies.ts - tests/
util/ , TypeScript, 128 linesmsw_request_log.ts - typings/
index.d.ts , TypeScript, 2 lines - typings/
nifti-reader-js.d.ts , TypeScript, 341 lines - typings/
raw.d.ts , TypeScript, 4 lines - vitest.workspace.ts, TypeScript, 130 lines
- LICENSE, License, 202 lines
- README.md, Text, 177 lines
ZepengYao-Lab/Giakoumas-et-al
9a82bcc1877e1285ac3a6db3c2417b8bb507d161, 25 September 2026Availability: 1 check, the latest on 27 September 2026: the link answers
- 27 September 2026: the link answers
56 files
- analyses/
1_Coconatfly_aPhN_PhN_Co , Jupyter, 311 lines, 2 matchessine.ipynb - analyses/
2_Coconatfly_PhN_Cosine. , Jupyter, 240 lines, 2 matchesipynb - analyses/
3_Coconatfly_aPhN_Cosine , Jupyter, 660 lines, 2 matches.ipynb - analyses/
4_StN_SA_connectome_anal , Jupyter, 3,455 linesysis_v3.3.ipynb - analyses/
5_aPhN_DCSO_connectome_a , Jupyter, 4,687 lines, 3 matchesnalysis_v2.ipynb - analyses/
Full_hops_figure.ipynb , Jupyter, 1,080 lines, 3 matches - analyses/
aPhN1-SA_connectome_anal , Jupyter, 3,318 linesysis_v3.ipynb - analyses/
aPhN2-SA_connectome_anal , Jupyter, 3,319 linesysis_v3.ipynb - analyses/
hops_visualization.ipynb , Jupyter, 1,624 lines, 2 matches - giakoumas-connectome-pyt
hon/ , Jupyter, 54 linesnotebooks/ 1-coconatfly-aphn-phn-co sine.ipynb - giakoumas-connectome-pyt
hon/ , Jupyter, 51 linesnotebooks/ 2-coconatfly-phn-cosine. ipynb - giakoumas-connectome-pyt
hon/ , Jupyter, 67 linesnotebooks/ 3-coconatfly-aphn-cosine .ipynb - giakoumas-connectome-pyt
hon/ , Jupyter, 158 linesnotebooks/ 4-phn-connectome-analysi s.ipynb - giakoumas-connectome-pyt
hon/ , Jupyter, 158 linesnotebooks/ 5-pso-sa-connectome-anal ysis.ipynb - giakoumas-connectome-pyt
hon/ , Jupyter, 151 linesnotebooks/ 5.1-pso-sa-input-connect ome-analysis.ipynb - giakoumas-connectome-pyt
hon/ , Jupyter, 158 linesnotebooks/ 6-aphn1-sa-connectome-an alysis.ipynb - giakoumas-connectome-pyt
hon/ , Jupyter, 155 linesnotebooks/ 7-aphn2-sa-connectome-an alysis.ipynb - giakoumas-connectome-pyt
hon/ , Jupyter, 97 linesnotebooks/ 8-hops-visualization.ipy nb - giakoumas-connectome-pyt
hon/ , Jupyter, 78 linesnotebooks/ 9-full-hops-figure.ipynb - giakoumas-connectome-pyt
hon/ , R, 152 linesr/ bootstrap.R - giakoumas-connectome-pyt
hon/ , R, 104 linesr/ coconatfly_config.R - giakoumas-connectome-pyt
hon/ , R, 229 linesr/ coconatfly_helpers.R - giakoumas-connectome-pyt
hon/ , R, 35 linesr/ run_coconatfly_analysis. R - giakoumas-connectome-pyt
hon/ , R, 162 linesr/ setup_private_fafbseg_ca che.R - giakoumas-connectome-pyt
hon/ , Python, 18 linessrc/ giakoumas_connectome/ __init__.py - giakoumas-connectome-pyt
hon/ , Python, 5 linessrc/ giakoumas_connectome/ __main__.py - giakoumas-connectome-pyt
hon/ , Python, 14 linessrc/ giakoumas_connectome/ _runtime.py - giakoumas-connectome-pyt
hon/ , Python, 424 linessrc/ giakoumas_connectome/ analysis.py - giakoumas-connectome-pyt
hon/ , Python, 82 linessrc/ giakoumas_connectome/ cli.py - giakoumas-connectome-pyt
hon/ , Python, 116 linessrc/ giakoumas_connectome/ config.py - giakoumas-connectome-pyt
hon/ , Python, 42 linessrc/ giakoumas_connectome/ constants.py - giakoumas-connectome-pyt
hon/ , Python, 137 linessrc/ giakoumas_connectome/ data.py - giakoumas-connectome-pyt
hon/ , Python, 611 linessrc/ giakoumas_connectome/ hops.py - giakoumas-connectome-pyt
hon/ , Python, 338 linessrc/ giakoumas_connectome/ inputs.py - giakoumas-connectome-pyt
hon/ , Python, 103 linessrc/ giakoumas_connectome/ models.py - giakoumas-connectome-pyt
hon/ , Python, 620 linessrc/ giakoumas_connectome/ plots.py - giakoumas-connectome-pyt
hon/ , Python, 330 linessrc/ giakoumas_connectome/ reports.py - giakoumas-connectome-pyt
hon/ , Python, 12 linessrc/ giakoumas_connectome/ workflow.py - giakoumas-connectome-pyt
hon/ , Python, 10 linestests/ conftest.py - giakoumas-connectome-pyt
hon/ , Python, 170 linestests/ test_analysis.py - giakoumas-connectome-pyt
hon/ , Python, 20 linestests/ test_data.py - giakoumas-connectome-pyt
hon/ , Python, 87 linestests/ test_hops.py - giakoumas-connectome-pyt
hon/ , Python, 157 linestests/ test_inputs.py - src/
giakoumas_workflow/ , Python, 5 lines__init__.py - src/
giakoumas_workflow/ , Python, 5 lines__main__.py - src/
giakoumas_workflow/ , Python, 233 linesanalysis.py - src/
giakoumas_workflow/ , Python, 91 linescli.py - src/
giakoumas_workflow/ , Python, 65 linesconfig.py - src/
giakoumas_workflow/ , Python, 3 linesconstants.py - src/
giakoumas_workflow/ , Python, 117 linesdata.py - src/
giakoumas_workflow/ , Python, 58 linesmodels.py - src/
giakoumas_workflow/ , Python, 152 linesworkflow.py - tests/
conftest.py , Python, 10 lines - tests/
test_analysis.py , Python, 103 lines - tests/
test_data.py , Python, 20 lines - README.md, Text, 108 lines
The paper's code and data availability statement is in the Data section.
Tracing map
Proposed by the machine: these links were found in the paper and verified at the source, without human review. The map will receive a Zenodo DOI once one of the paper's authors has validated it with their ORCID.
What the map holds:
- 2 repositories of the authors' code, each at its verified commit, with its license and how the link was found in the paper;
- 957 scripts, each with its path and the digest of its content;
- 14 matches between paragraphs of the paper and lines of the code (method lexical-v1);
- neither the text of the paper nor the code itself.
Its JSON (tracing-map.json) is deposited on Zenodo with its DOI once the map is validated.
Data
No dataset and no data link were found in the paper.
Code and data availability statement
The paper has a code and data availability statement. Its license (CC BY-NC-ND) does not allow reproducing it here; in short, from what the harvester recognized in it:
- it says that the data are available on request
- it says that the code is available on request
Read it in the paper: doi.org/10.1016/j.isci.2026.117359.
Versions
The history of this record: each version stored by the harvester or made by a correction of its authors or of the maintainers of its code, and what changed in its facts. The texts of the paper (its abstract, its availability statements) are not part of it; versions that changed only those are not listed.
Version 2, 28 September 2026
- Authors: added Zepeng Yao (0000-0002-0186-5503); removed Zepeng Yao
Version 1, 27 September 2026: the first record
Recorded: type, language, journal, volume, issue, pages, dates, 4 authors, 6 keywords, 4 funders, 85 references.
Cite
This paper
Giakoumas, D. S., Zhu, J. M., Jamal, A., & Yao, Z. (2026). Connectomic mapping of pharyngeal and gut sensory circuits in adult &
BibTeX
@article{giakoumas2026co
author = {Giakoumas, Dimitrios S and Zhu, Julia M and Jamal, Alaina and Yao, Zepeng},
title = {{Connectomic mapping of pharyngeal and gut sensory circuits in adult \&
journal = {iScience},
year = {2026},
month = aug,
volume = {29},
number = {9},
pages = {117359},
publisher = {Elsevier},
issn = {2589-0042},
doi = {10.1016/
url = {https://
pmid = {42701363},
pmcid = {PMC13545389}
}
RIS
TY - JOUR
AU - Giakoumas, Dimitrios S
AU - Zhu, Julia M
AU - Jamal, Alaina
AU - Yao, Zepeng
TI - Connectomic mapping of pharyngeal and gut sensory circuits in adult &
T2 - iScience
J2 - iScience
PY - 2026
DA - 2026/
VL - 29
IS - 9
SP - 117359
SN - 2589-0042
PB - Elsevier
DO - 10.1016/
UR - https://
LA - en
ER -
CSL-JSON
{
"id": "10.1016/
"type": "article-journal",
"title": "Connectomic mapping of pharyngeal and gut sensory circuits in adult &
"container-title": "iScience",
"author": [
{
"family": "Giakoumas",
"given": "Dimitrios S"
},
{
"family": "Zhu",
"given": "Julia M"
},
{
"family": "Jamal",
"given": "Alaina"
},
{
"family": "Yao",
"given": "Zepeng"
}
],
"container-title-short":
"volume": "29",
"issue": "9",
"page": "117359",
"DOI": "10.1016/
"PMID": "42701363",
"PMCID": "PMC13545389",
"ISSN": "2589-0042",
"publisher": "Elsevier",
"URL": "https://
"language": "en",
"issued": {
"date-parts": [
[
2026,
8,
28
]
]
}
}
The tracing map gets a citation of its own once an author has validated it and it has a DOI.
Similar papers
The papers with a page that share the most with this one: the tools found in their code, their categories, datasets, cited references and authors, the rarest counting most.
- [1] doi:10.1038/s41586-026-10735-w [code]
- Distributed control circuits across a brain-and-cord connectome.Journal: NatureIn common: Plotly, seaborn, tidyverse, 4 other tools, drosophila, 23 references, author Zepeng Yao
- [2] doi:10.1016/j.isci.2026.117467
- Larval taste exposure creates compound-specific behavioral modifications in adult &
lt;i& gt;Drosophila melanogaster& lt;/ i& gt;. Journal: iScienceIn common: drosophila, 13 references - [3] doi:10.1016/j.isci.2026.116206 [code]
- Gut distension evokes rapid neural dynamics in vagal and hindbrain populations of larval zebrafish.Journal: iScienceIn common: Pillow, statsmodels, seaborn, 4 other tools, systems, 7 references
- [4] doi:10.3389/fnsys.2026.1822122 [code]
- Convergence-divergence circuits for multimodal integration of innate and learned opponent valences.Journal: Frontiers in systems neuroscienceIn common: Plotly, Pillow, seaborn, 4 other tools, systems, 7 references
- [5] doi:10.1038/s41467-026-72152-x [code]
- Centralized brain networks controlling antennal grooming coordination.Journal: Nature communicationsIn common: statsmodels, seaborn, pandas, 3 other tools, drosophila, systems, 7 references
- [6] doi:10.1371/journal.pbio.3003959 [code]
- Recurrent synapses between CO2-sensitive olfactory sensory neurons enable robust CO2 detection in Aedes aegypti mosquitoes.Journal: PLoS biologyIn common: statsmodels, seaborn, pandas, 3 other tools, drosophila, 7 references
- [7] doi:10.1371/journal.pcbi.1014657 [code]
- Population morphology implies a common developmental blueprint for Drosophila motion detectors.Journal: PLoS computational biologyIn common: statsmodels, seaborn, pandas, 3 other tools, drosophila, 4 references
- [8] doi:10.1038/s41586-026-10797-w [code]
- A global molecular code for birth order and neuronal identity in Drosophila.Journal: NatureIn common: Pillow, tidyverse, pandas, 2 other tools, drosophila, 4 references
- [9] doi:10.1038/s41593-026-02388-9 [code]
- Hippocampal CA3 connectomics reveals a gradient of mossy fiber inputs and selective feedforward inhibition onto pyramidal cells.Journal: Nature neuroscienceIn common: Plotly, Pillow, seaborn, 4 other tools, systems, 2 references
- [10] doi:10.1038/s41467-026-72437-1 [code]
- High-speed whole-brain imaging in Drosophila.Journal: Nature communicationsIn common: Plotly, Pillow, statsmodels, 4 other tools, drosophila, systems, 1 reference
Contribute
The authors of this paper can claim it, correct its record and validate its tracing map, and the maintainers of its code (its owner, or a public member of its organization) correct what it says of their repository; anyone signed in can ask for its removal. Every request goes to OSCR's own machine, which answers it; your account page follows them.
Sign in with ORCID to claim this paper as one of its authors, correct its record or validate its tracing map: when the paper's metadata lists your ORCID iD, you are recognized at once. Maintainers of its code: sign in with GitHub, then claim the repository on your account page.
Claim this paper
Correct its record
Say what each link of this record is, remove the ones that are not the paper's, add the ones that are missing. The correction becomes a new version of the record, in its Versions section.
Validate its tracing map
You validate the map as this page shows it: 2 repositories of the authors' code, each at its verified commit and with its license, 957 scripts, and 14 matches between paragraphs and code (see the Code and Map sections). It then receives a DOI on Zenodo, with you (your ORCID iD) and OSCR as its creators; the code itself is not deposited.
The map's fingerprint: sha256:4d5ff0c37e60c9c2…
Add the badge to its README
The badge links the code to this page. Copy one of these into the README of the paper's code: only you decide where it goes, and nothing is changed for you.
Markdown
[, paste the snippet at the top, then “Commit changes…” and, to review it first, “Create a new branch and start a pull request”. You open the pull request; OSCR asks for no permission.
Request its removal
To ask OSCR to remove this record, the copies of its authors' scripts or its tracing map, use the removal request page: signed in, you say who you are, what to remove and why, then review and confirm the request. Published rules decide every request (how).
Discussion, reproductions, activity
Discussion: questions and error reports about this paper and its code, from signed-in readers and its authors. It opens with sign-in.
Reproductions: reports from readers who ran the authors' code: what they reproduced, with which environment, commit and data. It opens with sign-in.
Activity: what happens around this paper: new versions of its record, its map's validation, discussions and reproductions. It opens with sign-in.
