Spatial continuity of neurons explains non-random network architecture.
The 9 matches
- [1] § STAR★Methods › Method details › Selecting a subset of connections to analyze in the MICrONS data ↔ src/Match and compare to microns.ipynb, lines 340–427 · score 0.69 · L5ET, L5NP, L5a, L5b, cells, MICrONS
- [2] § STAR★Methods › Method details › Reference for graph structure - MICrONS ↔ src/pnagm/util.py, lines 54–113 · score 0.66 · classification_system, excitatory_neuron, MICrONS
- [3] § STAR★Methods › Method details › Stochastic geometric spread graph model (SGSG) ↔ src/pnagm/util.py, lines 115–148 · score 0.65 · stochastic spread graph, dimensional space, random geometric graph, nodes, model
- [4] § Results › Central hypothesis: Neuron physicality shapes network structure ↔ src/Nearest neighbor 1d prob increase.ipynb, lines 1–51 · score 0.59 · post synaptic neuron, connection demonstrates, future potential connections, probability function, oriented, pre
- [5] § STAR★Methods › Method details › Reference for graph structure - MICrONS ↔ src/Nearest neighbor 2d prob increase.ipynb, lines 86–108 · score 0.58 · classification_system, excitatory_neuron, classes
- [6] § Results › A simplified model of the axon physicality effect leads to non-random micro-structure ↔ src/pnagm/util.py, lines 54–113 · score 0.55 · soma locations, excitatory neurons, MICrONS
- [7] § STAR★Methods › Method details › Graph control models ↔ src/connalysis/randomization/randomization.py, lines 537–571 · score 0.54 · Bishuffled model, bidirectional connections, match, graph, network
- [8] § STAR★Methods › Method details › Stochastic geometric spread graph model (SGSG) ↔ src/connalysis/randomization/randomization.py, lines 957–1106 · score 0.51 · stochastic spread model, candidate, outgoing, graphs, edge, node
- [9] § Results › Testing the hypothesis in excitatory connectomes ↔ src/Nearest neighbor 1d prob increase.ipynb, lines 1–51 · score 0.50 · MICrONS, modeled network, post synaptic, synaptic neurons, potential connections, pre
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
Python · 149 lines · 5.6 KB · GPL-3.0 · 3 matches
- import numpy
- import h5py
- import pandas
- import os
- # For the random or non-random generation of neuron locations in space
- def make_points(cfg):
- """
- Generate a random point cloude from a parameterization dict.
- """
- n_nrn = cfg["n_nrn"]
- tgt_sz = cfg["tgt_sz"]
- if not hasattr(tgt_sz, "__iter__"):
- tgt_sz = [tgt_sz, tgt_sz, tgt_sz]
- tgt_sz = numpy.array(tgt_sz).reshape((1, -1))
- pts = numpy.random.rand(n_nrn, 3) * tgt_sz - tgt_sz/2
- return pts
- def no_categorical_dtypes(N):
- """
- Utility function: Turns categorical node properties into non-categorical ones. This is required
- for some analyses for technical reasons.
- """
- import pandas
- for col in N._vertex_properties.columns:
- if isinstance(N._vertex_properties[col].dtype, pandas.CategoricalDtype):
- N._vertex_properties[col] = N._vertex_properties[col].astype(str)
- def load_all_instances_from_file(fn):
- """
- Utility function to load all ConnectivityMatrix objects from an .h5 file. This function is not very
- clever and strongly assumes that any group found in the .h5 file contains a ConnectivityMatrix, without
- additional checks.
- """
- import conntility
- grp_tuples = []
- with h5py.File(fn, "r") as h5:
- for prefix in h5.keys():
- if isinstance(h5[prefix], h5py.Group):
- for grp_name in h5[prefix].keys():
- if isinstance(h5[prefix][grp_name], h5py.Group):
- grp_tuples.append((prefix, grp_name))
- matrices = [conntility.ConnectivityMatrix.from_h5(fn, group_name=grp_name,
- prefix=prefix)
- for prefix, grp_name in grp_tuples]
- matrices = conntility.ConnectivityGroup(
- pandas.DataFrame({"instance": range(len(matrices))}), matrices
- )
- return matrices
- def points_from_microns(cfg, return_additional_controls=False):
- """
- Generate a point cloud by looking up soma locations from a reference connectome. The reference could
- be the MICrONS EM connectome, hence the name. But in principle any source can be used, as long as it
- provides soma locations.
- Args:
- cfg: dict configuring the process, i.e., which connectome to load and which subvolume to select.
- """
- import conntility
- if "root" in cfg:
- fn = cfg["root"] + "/" + cfg["fn"]
- else:
- fn = cfg["fn"]
- try:
- N = conntility.ConnectivityMatrix.from_h5(fn, "condensed")
- except:
- N = conntility.ConnectivityMatrix.from_h5(fn)
- no_categorical_dtypes(N)
- sz = cfg["tgt_sz"]
- cols = ["x_nm", "y_nm", "z_nm"]
- for _col in cols:
- if _col in N._vertex_properties.columns:
- N._vertex_properties[_col[0]] = N._vertex_properties[_col] / 1000.0
- tl_col_dict = {
- "ss_flat_x": "x", "ss_flat_y": "z", "depth": "y"
- }
- for _col_in, _col_out in tl_col_dict.items():
- if _col_in in N._vertex_properties.columns:
- N._vertex_properties[_col_out] = N._vertex_properties[_col_in] + numpy.random.rand(len(N)) * 1E-9
- cols = ["x", "y", "z"]
- center = N.vertices[cols].mean()
- for k, v in cfg.get("filters", {"classification_system": "excitatory_neuron"}).items():
- if isinstance(v, list):
- N = N.index(k).isin(v)
- else:
- N = N.index(k).eq(v)
- for _col in cols:
- _col_o = "o_" + _col
- if _col_o in cfg:
- _o = cfg[_col_o]
- N = N.index(_col).le(center[_col] + _o + sz/2).index(_col).ge(center[_col] + _o - sz/2)
- print(len(N))
- pts = N.vertices[cols].values
- if return_additional_controls:
- additional_controls = {}
- for add_ctrl_name, add_ctrl in cfg.get("additional_controls", {}).items():
- ctrl_fn = add_ctrl["fn"]
- if "root" in add_ctrl.keys():
- ctrl_fn = os.path.join(add_ctrl["root"], ctrl_fn)
- additional_controls[add_ctrl_name] = load_all_instances_from_file(ctrl_fn)
- return pts, N, additional_controls
- return pts, N
- def create_neighbor_spread_graph(pts, cfg, reference=None):
- """
- Utility function that combines generation of a random geometric graph and generation of a stochastic
- spread graph on the first graph.
- Args:
- pts (numpy.array; m x n): Locations of m nodes in n-dimensional space.
- cfg (dict): Configures generation of the two graphs. For details, see README and the docstrings of
- pnagm.nngraph.cand2_point_nn_matrix and instance.build_instance.
- reference (optional; conntility.ConnectivityMatrix): If "per_class_bias" is used for the generation of
- the random geometric graph, then a reference connectome is required. See README and
- nngraph.generate_custom_weights_by_node_class for details.
- """
- from . import nngraph, instance
- w_out_use = None
- w_in_use = None
- if "per_class_bias" in cfg:
- assert reference is not None, "When using per class bias, must provide reference ConnectivityMatrix"
- if "outgoing" in cfg["per_class_bias"]:
- prop = cfg["per_class_bias"]["outgoing"]
- w_out_use = nngraph.generate_custom_weights_by_node_class(reference, prop, 1)
- if "incoming" in cfg["per_class_bias"]:
- prop = cfg["per_class_bias"]["incoming"]
- w_in_use = nngraph.generate_custom_weights_by_node_class(reference, prop, 0)
- M = nngraph.cand2_point_nn_matrix(pts,
- custom_w_out=w_out_use, custom_w_in=w_in_use,
- **cfg["nngraph"]).astype(bool).astype(float)
- mdl_instance, a, b = instance.build_instance(pts, M, **cfg["instance"])
- return mdl_instance, M
util.py at commit 0902376, under GPL-3.0 · at the source
Overview
- Open Brain Institute, Lausanne, Switzerland
- Max Planck Institute of Molecular Cell Biology and Genetics, Dresden, Germany
- Center for Systems Biology Dresden, Dresden, Germany
- Department of Mathematics, University of Oxford, Oxford, UK
Abstract
Neuronal networks are characterized by complex and functionally relevant connectivity motifs. We developed an intuitive explanation for its emergence. While a class of neurons on average innervates its entire surroundings, each individual neuron can only cover a small part of the space. That region is different for each neuron but not completely random, as it is physically constrained by the spatial continuity of the axon. This hypothesis was successfully tested against a morphologically detailed model and an electron-microscopic reconstruction of cortical connectivity. We distilled it into a stochastic algorithm that generates networks, which accurately match the reference data. Our work bridges previous efforts to capture network complexity with top-down or bottom-up methods, that is, by adding complexity constraints to simple stochastic models or by predicting synapses from neuron appositions. It may improve the understanding of the impact of neuron malformations and the functional role of non-random network structure in simplified models.
Reproduced under the paper's license (CC BY), from the paper cited above.
Repositories
Its files are read in the Code ↔ Paper reader above, with 9 matches between paragraphs and lines of code.
Zenodo 20084936
Availability: 1 check, the latest on 27 September 2026: the link answers (HTTP 200)
- 27 September 2026: the link answers (HTTP 200)
35 files
- build.py, Python, 94 lines
- data_analysis/
SSCx_modelling/ , Shell, 7 linesmodel_building_batch.sh - data_analysis/
SSCx_modelling/ , Shell, 20 linesmodel_building_order2.sh - data_analysis/
SSCx_modelling/ , Python, 51 linesrun_SSCx_model_building_ order2_local.py - data_analysis/
SSCx_modelling/ , Shell, 15 linesrun_SSCx_model_building_ order2_local.sh - data_analysis/
SSCx_modelling/ , Python, 91 linesrun_SSCx_model_building_ order2_local_per_pathway .py - data_analysis/
SSCx_modelling/ , Shell, 15 linesrun_SSCx_model_building_ order2_local_per_pathway .sh - data_analysis/
SSCx_modelling/ , Python, 52 linesrun_SSCx_model_building_ order2_midrange.py - data_analysis/
SSCx_modelling/ , Shell, 15 linesrun_SSCx_model_building_ order2_midrange.sh - data_analysis/
SSCx_modelling/ , Python, 91 linesrun_SSCx_model_building_ order2_midrange_per_path way.py - data_analysis/
SSCx_modelling/ , Shell, 15 linesrun_SSCx_model_building_ order2_midrange_per_path way.sh - data_analysis/
analysis_configs/ , Python, 31 linessimple_example.py - src/
connalysis/ , Python, 12 lines__init__.py - src/
connalysis/ , Python, 32 linesmodelling/ __init__.py - src/
connalysis/ , Python, 1,476 linesmodelling/ modelling.py - src/
connalysis/ , Python, 16 linesnetwork/ __init__.py - src/
connalysis/ , Python, 906 linesnetwork/ classic.py - src/
connalysis/ , Python, 357 linesnetwork/ local.py - src/
connalysis/ , Python, 383 linesnetwork/ stats.py - src/
connalysis/ , Python, 1,733 linesnetwork/ topology.py - src/
connalysis/ , Python, 12 linesrandomization/ __init__.py - src/
connalysis/ , Python, 343 linesrandomization/ rand_utils.py - src/
connalysis/ , Python, 1,106 linesrandomization/ randomization.py - tests/
test_imports.py , Python, 22 lines - tests/
test_network_topology.py , Python, 13 lines - tutorials/
TDA_unweighted_networks. , Jupyter, 282 linesipynb - tutorials/
counting_triads.ipynb , Jupyter, 39 lines - tutorials/
modelling.ipynb , Jupyter, 287 lines - tutorials/
plot_simplices.ipynb , Jupyter, 34 lines - tutorials/
plot_triads.ipynb , Jupyter, 87 lines - tutorials/
randomization.ipynb , Jupyter, 136 lines - tutorials/
run_batch_modelling.py , Python, 52 lines - tutorials/
run_batch_modelling.sh , Shell, 22 lines - LICENCE, License, 661 lines
- README.md, Text, 91 lines
Zenodo 10059227
Availability: 1 check, the latest on 27 September 2026: the link answers (HTTP 200)
- 27 September 2026: the link answers (HTTP 200)
56 files
- conntility/
__init__.py , Python, 4 lines - conntility/
analysis/ , Python, 21 lines__init__.py - conntility/
analysis/ , Python, 204 linesanalysis.py - conntility/
analysis/ , Python, 286 linesanalysis_decorators.py - conntility/
analysis/ , Python, 71 linesclustering.py - conntility/
analysis/ , Python, 2 lineslibrary/ __init__.py - conntility/
analysis/ , Python, 66 lineslibrary/ diffusion_mapping.py - conntility/
circuit_models/ , Python, 7 lines__init__.py - conntility/
circuit_models/ , Python, 547 linesconnection_matrix.py - conntility/
circuit_models/ , Python, 109 linesinput_spikes.py - conntility/
circuit_models/ , Python, 7 linesneuron_groups/ __init__.py - conntility/
circuit_models/ , Python, 13 linesneuron_groups/ defaults.py - conntility/
circuit_models/ , Python, 102 linesneuron_groups/ extra_properties.py - conntility/
circuit_models/ , Python, 57 linesneuron_groups/ from_atlas.py - conntility/
circuit_models/ , Python, 167 linesneuron_groups/ grouping_config.py - conntility/
circuit_models/ , Python, 131 linesneuron_groups/ loader.py - conntility/
circuit_models/ , Python, 191 linesneuron_groups/ make_groups.py - conntility/
circuit_models/ , Python, 67 linesneuron_groups/ sonata_extensions.py - conntility/
circuit_models/ , Python, 533 linesneuron_groups/ tessellate.py - conntility/
circuit_models/ , Python, 95 linessonata_helpers.py - conntility/
connectivity.py , Python, 1,868 lines - conntility/
flatmapping/ , Python, 4 lines__init__.py - conntility/
flatmapping/ , Python, 139 lines_supersample_utility.py - conntility/
flatmapping/ , Python, 116 linesflatmap_utility.py - conntility/
flatmapping/ , Python, 177 linessupersampling.py - conntility/
flatmapping/ , Python, 97 lineswm_recipe_utility.py - conntility/
io/ , Python, 2 lines__init__.py - conntility/
io/ , Python, 36 lineslogging.py - conntility/
io/ , Python, 96 linessparse_matrices.py - conntility/
io/ , Python, 126 linessynapse_report.py - conntility/
multi_scale.py , Python, 262 lines - conntility/
plugins.py , Python, 105 lines - conntility/
randomization/ , Python, 1 line__init__.py - conntility/
subcellular/ , Python, 2 lines__init__.py - conntility/
subcellular/ , Python, 301 linesneuron_morphology_path_d istance.py - examples/
C elegans - a non-sonata-based example.ipynb , Jupyter, 393 lines - examples/
Correlation against distance.ipynb , Jupyter, 98 lines - examples/
Edge participation in MICrONS.ipynb , Jupyter, 396 lines - examples/
Example 3 - Generating control subsamples and neighborhoods.ipynb , Jupyter, 213 lines - examples/
Example 4 - Loading atlas data.ipynb , Jupyter, 184 lines - examples/
Example 5 - Connectivity at reduced resolution.ipynb , Jupyter, 233 lines - examples/
Example 6 - Plastic matrices.ipynb , Jupyter, 159 lines - examples/
Examples 1 and 2 - Analyzing pathways and controls.ipynb , Jupyter, 492 lines - examples/
Fly connectome - a non-sonata based example.ipynb , Jupyter, 151 lines - examples/
Fly larva - a non-sonata-based example.ipynb , Jupyter, 149 lines - examples/
MICrONS_connectome_inhib , Jupyter, 166 linesitory_innervation.ipynb - examples/
Slicing and sampling.ipynb , Jupyter, 280 lines - tests/
data/ , Python, 11 linesrandom_er.py - tests/
data/ , Python, 15 linesrandom_simplex_counts.py - tests/
test_analysis.py , Python, 20 lines - tests/
test_analysis_decorator. , Python, 83 linespy - tests/
test_connectivity_matrix , Python, 184 lines.py - tests/
test_neuron_groups.py , Python, 37 lines - tests/
utils.py , Python, 26 lines - LICENSE, License, 201 lines
- README.md, Text, 196 lines
Zenodo 20055048
Availability: 1 check, the latest on 27 September 2026: the link answers (HTTP 200)
- 27 September 2026: the link answers (HTTP 200)
18 files
- src/
Characterization.ipynb , Jupyter, 533 lines - src/
Characterization_recursi , Jupyter, 386 linesve.ipynb - src/
Conn prob correlations between spatial bins.ipynb , Jupyter, 636 lines - src/
Draw explanatory cartoons.ipynb , Jupyter, 154 lines - src/
Fit other models to microns.ipynb , Jupyter, 480 lines - src/
Long range extension.ipynb , Jupyter, 342 lines - src/
Match and compare to microns.ipynb , Jupyter, 517 lines - src/
Microns mean l5 connection prob.ipynb , Jupyter, 44 lines - src/
Microns nearest neighbor effect.ipynb , Jupyter, 174 lines - src/
Nearest neighbor 1d prob increase.ipynb , Jupyter, 479 lines - src/
Nearest neighbor 2d prob increase.ipynb , Jupyter, 550 lines - src/
pnagm/ , Python, 1 line__init__.py - src/
pnagm/ , Python, 146 linesinstance.py - src/
pnagm/ , Python, 241 linesnngraph.py - src/
pnagm/ , Python, 398 linestest.py - src/
pnagm/ , Python, 149 linesutil.py - LICENSE, License, 674 lines
- README.md, Text, 112 lines
bluebrain/connectomeutilities
f0186b2cda2abc4e4604f26303ee1f2dc7cef21f, 26 February 2025Availability: 1 check, the latest on 27 September 2026: the link answers
- 27 September 2026: the link answers
56 files
- conntility/
__init__.py , Python, 4 lines - conntility/
analysis/ , Python, 21 lines__init__.py - conntility/
analysis/ , Python, 204 linesanalysis.py - conntility/
analysis/ , Python, 286 linesanalysis_decorators.py - conntility/
analysis/ , Python, 71 linesclustering.py - conntility/
analysis/ , Python, 2 lineslibrary/ __init__.py - conntility/
analysis/ , Python, 66 lineslibrary/ diffusion_mapping.py - conntility/
circuit_models/ , Python, 7 lines__init__.py - conntility/
circuit_models/ , Python, 547 linesconnection_matrix.py - conntility/
circuit_models/ , Python, 109 linesinput_spikes.py - conntility/
circuit_models/ , Python, 7 linesneuron_groups/ __init__.py - conntility/
circuit_models/ , Python, 13 linesneuron_groups/ defaults.py - conntility/
circuit_models/ , Python, 102 linesneuron_groups/ extra_properties.py - conntility/
circuit_models/ , Python, 57 linesneuron_groups/ from_atlas.py - conntility/
circuit_models/ , Python, 167 linesneuron_groups/ grouping_config.py - conntility/
circuit_models/ , Python, 131 linesneuron_groups/ loader.py - conntility/
circuit_models/ , Python, 191 linesneuron_groups/ make_groups.py - conntility/
circuit_models/ , Python, 67 linesneuron_groups/ sonata_extensions.py - conntility/
circuit_models/ , Python, 533 linesneuron_groups/ tessellate.py - conntility/
circuit_models/ , Python, 95 linessonata_helpers.py - conntility/
connectivity.py , Python, 1,927 lines - conntility/
flatmapping/ , Python, 4 lines__init__.py - conntility/
flatmapping/ , Python, 139 lines_supersample_utility.py - conntility/
flatmapping/ , Python, 117 linesflatmap_utility.py - conntility/
flatmapping/ , Python, 177 linessupersampling.py - conntility/
flatmapping/ , Python, 97 lineswm_recipe_utility.py - conntility/
io/ , Python, 2 lines__init__.py - conntility/
io/ , Python, 36 lineslogging.py - conntility/
io/ , Python, 96 linessparse_matrices.py - conntility/
io/ , Python, 126 linessynapse_report.py - conntility/
multi_scale.py , Python, 262 lines - conntility/
plugins.py , Python, 105 lines - conntility/
randomization/ , Python, 1 line__init__.py - conntility/
subcellular/ , Python, 2 lines__init__.py - conntility/
subcellular/ , Python, 301 linesneuron_morphology_path_d istance.py - examples/
C elegans - a non-sonata-based example.ipynb , Jupyter, 393 lines - examples/
Correlation against distance.ipynb , Jupyter, 98 lines - examples/
Edge participation in MICrONS.ipynb , Jupyter, 396 lines - examples/
Example 3 - Generating control subsamples and neighborhoods.ipynb , Jupyter, 213 lines - examples/
Example 4 - Loading atlas data.ipynb , Jupyter, 184 lines - examples/
Example 5 - Connectivity at reduced resolution.ipynb , Jupyter, 233 lines - examples/
Example 6 - Plastic matrices.ipynb , Jupyter, 159 lines - examples/
Examples 1 and 2 - Analyzing pathways and controls.ipynb , Jupyter, 492 lines - examples/
Fly connectome - a non-sonata based example.ipynb , Jupyter, 151 lines - examples/
Fly larva - a non-sonata-based example.ipynb , Jupyter, 149 lines - examples/
MICrONS_connectome_inhib , Jupyter, 166 linesitory_innervation.ipynb - examples/
Slicing and sampling.ipynb , Jupyter, 280 lines - tests/
data/ , Python, 11 linesrandom_er.py - tests/
data/ , Python, 15 linesrandom_simplex_counts.py - tests/
test_analysis.py , Python, 20 lines - tests/
test_analysis_decorator. , Python, 83 linespy - tests/
test_connectivity_matrix , Python, 184 lines.py - tests/
test_neuron_groups.py , Python, 37 lines - tests/
utils.py , Python, 26 lines - LICENSE, License, 201 lines
- README.md, Text, 200 lines
mwolfr/local_connectivity_model
09023767614a9e5e5d5fb1af9b966b8cc9049024, 6 May 2026Availability: 1 check, the latest on 27 September 2026: the link answers
- 27 September 2026: the link answers
18 files
- src/
Characterization.ipynb , Jupyter, 533 lines - src/
Characterization_recursi , Jupyter, 386 linesve.ipynb - src/
Conn prob correlations between spatial bins.ipynb , Jupyter, 636 lines - src/
Draw explanatory cartoons.ipynb , Jupyter, 154 lines - src/
Fit other models to microns.ipynb , Jupyter, 480 lines - src/
Long range extension.ipynb , Jupyter, 342 lines - src/
Match and compare to microns.ipynb , Jupyter, 517 lines, 1 match - src/
Microns mean l5 connection prob.ipynb , Jupyter, 44 lines - src/
Microns nearest neighbor effect.ipynb , Jupyter, 174 lines - src/
Nearest neighbor 1d prob increase.ipynb , Jupyter, 479 lines, 2 matches - src/
Nearest neighbor 2d prob increase.ipynb , Jupyter, 550 lines, 1 match - src/
pnagm/ , Python, 1 line__init__.py - src/
pnagm/ , Python, 146 linesinstance.py - src/
pnagm/ , Python, 241 linesnngraph.py - src/
pnagm/ , Python, 398 linestest.py - src/
pnagm/ , Python, 149 lines, 3 matchesutil.py - LICENSE, License, 674 lines
- README.md, Text, 114 lines
openbraininstitute/connectome-analysis
2ecb81ac962d83e331e947d5927efe2b5ea5b9dc, 3 September 2026Availability: 1 check, the latest on 27 September 2026: the link answers
- 27 September 2026: the link answers
35 files
- build.py, Python, 94 lines
- data_analysis/
SSCx_modelling/ , Shell, 7 linesmodel_building_batch.sh - data_analysis/
SSCx_modelling/ , Shell, 20 linesmodel_building_order2.sh - data_analysis/
SSCx_modelling/ , Python, 51 linesrun_SSCx_model_building_ order2_local.py - data_analysis/
SSCx_modelling/ , Shell, 15 linesrun_SSCx_model_building_ order2_local.sh - data_analysis/
SSCx_modelling/ , Python, 91 linesrun_SSCx_model_building_ order2_local_per_pathway .py - data_analysis/
SSCx_modelling/ , Shell, 15 linesrun_SSCx_model_building_ order2_local_per_pathway .sh - data_analysis/
SSCx_modelling/ , Python, 52 linesrun_SSCx_model_building_ order2_midrange.py - data_analysis/
SSCx_modelling/ , Shell, 15 linesrun_SSCx_model_building_ order2_midrange.sh - data_analysis/
SSCx_modelling/ , Python, 91 linesrun_SSCx_model_building_ order2_midrange_per_path way.py - data_analysis/
SSCx_modelling/ , Shell, 15 linesrun_SSCx_model_building_ order2_midrange_per_path way.sh - data_analysis/
analysis_configs/ , Python, 31 linessimple_example.py - src/
connalysis/ , Python, 12 lines__init__.py - src/
connalysis/ , Python, 32 linesmodelling/ __init__.py - src/
connalysis/ , Python, 1,475 linesmodelling/ modelling.py - src/
connalysis/ , Python, 16 linesnetwork/ __init__.py - src/
connalysis/ , Python, 906 linesnetwork/ classic.py - src/
connalysis/ , Python, 357 linesnetwork/ local.py - src/
connalysis/ , Python, 383 linesnetwork/ stats.py - src/
connalysis/ , Python, 1,733 linesnetwork/ topology.py - src/
connalysis/ , Python, 12 linesrandomization/ __init__.py - src/
connalysis/ , Python, 343 linesrandomization/ rand_utils.py - src/
connalysis/ , Python, 1,106 lines, 2 matchesrandomization/ randomization.py - tests/
test_imports.py , Python, 22 lines - tests/
test_network_topology.py , Python, 13 lines - tutorials/
TDA_unweighted_networks. , Jupyter, 282 linesipynb - tutorials/
counting_triads.ipynb , Jupyter, 39 lines - tutorials/
modelling.ipynb , Jupyter, 287 lines - tutorials/
plot_simplices.ipynb , Jupyter, 34 lines - tutorials/
plot_triads.ipynb , Jupyter, 87 lines - tutorials/
randomization.ipynb , Jupyter, 136 lines - tutorials/
run_batch_modelling.py , Python, 52 lines - tutorials/
run_batch_modelling.sh , Shell, 22 lines - LICENCE, License, 661 lines
- README.md, Text, 91 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:
- 6 repositories of the authors' code, each at its verified commit, with its license and how the link was found in the paper;
- 206 scripts, each with its path and the digest of its content;
- 9 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.
Data and code availability
This work uses connectomics data in a custom, hdf5-based format for the modeling of connectivity and to enable comparisons to reference data. All such connectomes have been deposited on Zenodo. Accession numbers (DOIs) are listed in the key resources table.
Original code executing and analyzing the model, and generating the figures has been archived on Zenodo. DOIs are listed in the key resources table. The code depends on two custom software packages developed by the authors, “connectome-analysis” and “connectome-utilities,” that are listed on the pypi tracker and archived on Zenodo. Accession numbers (DOIs) are listed in the key resources table.
Any additional information required to reanalyze the data reported in this paper are available from the lead contact upon request.
Reproduced under the paper's license (CC BY), from the paper cited above.
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 1, 27 September 2026: the first record
Recorded: type, language, journal, volume, issue, pages, dates, 4 authors, 1 keyword, 2 funders, 78 references.
Cite
This paper
Reimann, M. W., Egas Santander, D., Kanari, L., & Barros-Zulaica, N. (2026). Spatial continuity of neurons explains non-random network architecture. iScience, 29(6), 116144. https://
BibTeX
@article{reimann2026spat
author = {Reimann, Michael W and Egas Santander, Daniela and Kanari, Lida and Barros-Zulaica, Natalí},
title = {{Spatial continuity of neurons explains non-random network architecture}},
journal = {iScience},
year = {2026},
month = jun,
volume = {29},
number = {6},
pages = {116144},
publisher = {Elsevier},
issn = {2589-0042},
doi = {10.1016/
url = {https://
pmid = {42291180},
pmcid = {PMC13253143}
}
RIS
TY - JOUR
AU - Reimann, Michael W
AU - Egas Santander, Daniela
AU - Kanari, Lida
AU - Barros-Zulaica, Natalí
TI - Spatial continuity of neurons explains non-random network architecture
T2 - iScience
J2 - iScience
PY - 2026
DA - 2026/
VL - 29
IS - 6
SP - 116144
SN - 2589-0042
PB - Elsevier
DO - 10.1016/
UR - https://
LA - en
ER -
CSL-JSON
{
"id": "10.1016/
"type": "article-journal",
"title": "Spatial continuity of neurons explains non-random network architecture",
"container-title": "iScience",
"author": [
{
"family": "Reimann",
"given": "Michael W"
},
{
"family": "Egas Santander",
"given": "Daniela"
},
{
"family": "Kanari",
"given": "Lida"
},
{
"family": "Barros-Zulaica",
"given": "Natalí"
}
],
"container-title-short":
"volume": "29",
"issue": "6",
"page": "116144",
"DOI": "10.1016/
"PMID": "42291180",
"PMCID": "PMC13253143",
"ISSN": "2589-0042",
"publisher": "Elsevier",
"URL": "https://
"language": "en",
"issued": {
"date-parts": [
[
2026,
6,
1
]
]
}
}
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/s41467-026-75959-w [code]
- Charting higher-order models of brain function beyond pairwise interactions.Journal: Nature communicationsIn common: NetworkX, h5py, statsmodels, 5 other tools, 2 references
- [2] doi:10.1016/j.isci.2026.116055 [code]
- Mapping the transcriptional diversity of calcium signaling in the mouse and human brain.Journal: iScienceIn common: rpy2, NetworkX, h5py, 6 other tools
- [3] doi:10.1038/s41593-026-02267-3 [code]
- Spatial proteomic analysis in human Alzheimer's disease brains enables identification of microenvironment-depende
nt microglial cell states. Journal: Nature neuroscienceIn common: rpy2, NetworkX, h5py, 6 other tools - [4] doi:10.1016/j.stemcr.2026.103015 [code]
- Brain injury reactivates a developmental program driving genesis and integration of transient LGE-class interneurons.Journal: Stem cell reportsIn common: NetworkX, h5py, statsmodels, 5 other tools, 1 reference
- [5] doi:10.64898/2026.03.04.709586 [code]
- Mapping Higher-Order Topology in OCD Brain Networks with Hodge LaplacianJournal: bioRxiv (preprint)In common: NetworkX, h5py, statsmodels, 5 other tools, 1 reference
- [6] doi:10.1038/s41467-026-72152-x [code]
- Centralized brain networks controlling antennal grooming coordination.Journal: Nature communicationsIn common: NetworkX, h5py, statsmodels, 5 other tools, 1 reference
- [7] doi:10.1016/j.xcrm.2026.102766 [code]
- A longitudinal single-cell and spatial multiomic atlas of pediatric high-grade glioma.Journal: Cell reports. MedicineIn common: rpy2, NetworkX, h5py, 5 other tools
- [8] doi:10.1016/j.crmeth.2026.101342 [code]
- Interpretable learning of temporal cellular dynamics from single-cell data.Journal: Cell reports methodsIn common: rpy2, NetworkX, h5py, 5 other tools
- [9] doi:10.1371/journal.pcbi.1014346 [code]
- StPedf: Cell trajectory inference of spatial transcriptomics via spatial proximity embedding and spatial density-adaptive fusion.Journal: PLoS computational biologyIn common: rpy2, NetworkX, statsmodels, 5 other tools
- [10] doi:10.1016/j.celrep.2026.117073 [code]
- Single-cell epigenomics uncovers heterochromatin instability and transcription factor dysfunction during mouse brain aging.Journal: Cell reportsIn common: rpy2, NetworkX, seaborn, 4 other tools, 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: 6 repositories of the authors' code, each at its verified commit and with its license, 206 scripts, and 9 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:4eb447837a502b1a…
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.
