Combined topological and spatial constraints are required to capture the structure of neural connectomes
Creators: name: Salova, Anastasiya
name: Kovacs, Istvan
Publisher: name: Zenodo
Year: 2024

description: Repository for the manuscript "Combined topological and spatial constraints are required to capture the structure of neural connectomes"

 

The folders titled *_data (where * is fly, mouse, and human) contain the processed individual neuron information and connectome/contactome structure.

Below is a brief summary of the columns of the .csv files contained in each of these folders.

 

Summary of processed data

 

Neuron information

 

*_basic_neuron_info.csv

id : ids of the neurons in the publicly released data sets 

x_cm (y_cm, z_cm) : x (y, z) position of the center of mesh, nm

 

*_extended_neuron_info.csv

id : ids of the neurons in the publicly released data sets 

x_soma (y_soma, z_soma) : x (y, z) position of the soma, nm 

x_cm (y_cm, z_cm) : x (y, z) position of the center of mesh, nm 

degree : undirected degree of each neuron 

presynaptic_degree : pre-synaptic degree (# of post-synaptic neighbors) of each neuron 

postsynaptic_degree : post-synaptic degree (# of post-synaptic neighbors) of each neuron 

weighted_presynaptic_degree : # of relevant (established with other neurons we consider) pre-synapses of each neuron 

weighted_postsynaptic_degree : # of relevant (established with other neurons we consider) post-synapses of each neuron 

pca_1_x (pca_1_y, pca_1_z) : dominant principle component x (y, z) direction based on the mesh vertices 

evr_1 : explained variance ratio of the dominant principle component direction 

linear_span_pca_1 : linear span of the neuron along the dominant principle component direction 

n_mesh_vertices : number of mesh vertices

 

Note that we use the index of the row corresponding to each neuron (e.g., integers from 0 to 15731 for the human data) as connectome and contactome node labels in the .csv files below.

 

Connectome

 

*_directed_connectome.csv 

Here, each row corresponds to a pair of neurons (i,j), s.t. an edge from i to j exists 

i : pre-synaptic neuron index 

j : post-synaptic neuron index 

weight : number of synapses from neuron i to neuron j

 

*_weighted_connectome.csv

Here, each row corresponds to a pair of neurons **(i,j)**, i<j, s.t. an edge between i and j exists 

i : neuron index 

j : neuron index 

reciprocated : indicates whether the directed edge between i and j is reciprocated (exists in both directions)

 

*_connectome_edge_weights.csv

weight : number of synapses between two neurons 

count : number of pairs of neurons with an edge of a given weight

 

Contactome

 

*_connectome_edge_weights.csv

Here, each row corresponds to a pair of neurons in physical contact 

i : neuron index 

j : neuron index 

 

Summary of models

We include the edge probabilities obtained for each model discussed in the manuscript (ER, model_c, model_d, model_d_c, model_k, model_k_c, model k_L) as .npy files in models/*.zip, where * is fly, mouse, and human.  

As an example of getting edge probabilities in Python: 

 

import numpy as np

from scipy.spatial.distance import squareform

 

p = squareform(np.load('models/mouse/p_model_k.npy'))

 

There, p[i,j] corresponds to the probability of forming an edge between neurons i and j.

 

Example code for models 

We include the example code to obtain edge probabilities for models k/k+c—model_k.py—and k+L—model_k_L.py. Note that the attached code can be used to impose any hard edge constraint.