Leveraging heterogeneity for neural computation with fading memory in layer 2/3 cortical microcircuits

Complexity and heterogeneity are intrinsic to neurobiological systems, manifest in every process, at every scale, and are inextricably linked to the systems’ emergent collective behaviours and function. However, the majority of studies addressing the dynamics and computational properties of biologically inspired cortical microcircuits tend to assume (often for the sake of analytical tractability) a great degree of homogeneity in both neuronal and synaptic/connectivity parameters. While simplification and reductionism are necessary to understand the brain’s functional principles, disregarding the existence of the multiple heterogeneities in the cortical composition, which may be at the core of its computational proficiency, will inevitably fail to account for important phenomena and limit the scope and generalizability of cortical models. We address these issues by studying the individual and composite functional roles of heterogeneities in neuronal, synaptic and structural properties in a biophysically plausible layer 2/3 microcircuit model, built and constrained by multiple sources of empirical data. This approach was made possible by the emergence of large-scale, well curated databases, as well as the substantial improvements in experimental methodologies achieved over the last few years. Our results show that variability in single neuron parameters is the dominant source of functional specialization, leading to highly proficient microcircuits with much higher computational power than their homogeneous counterparts. We further show that fully heterogeneous circuits, which are closest to the biophysical reality, owe their response properties to the differential contribution of different sources of heterogeneity.


Reproducibility and Replication
Considerable efforts were taken to ensure transparency, openness and reproducibility. We provide all the relevant data, materials and code, necessary to replicate and scrutinize all the results presented in this manuscript.

OSF Repository
Through the Open Science Framework (osf.io), an open-access, curated and registered repository is available at [1]. The project contains all the relevant information necessary to replicate and scrutinize the present work, divided into the following components: • Data -linked to the Sciebo campus cloud [2], where the data is hosted. Due to the large size of the data (totalling ≈ 550 ), we do not provide a complete data package as a supplement to the manuscript. If there are any difficulties accessing the data through this OSF component, please contact the authors. -Project-specific Code (also provided in S1 Files) • Manuscript -link to the main manuscript files • Bibliography -linked to a database containing all the references used in this manuscript

Software and source code
The code package provided as a supplement (S1 File, also available in the OSF repository) implements project-specific functionality to NMSAT [3], which is a tailor-made python package that provides a generic set of tools to build, simulate and analyse neuronal microcircuit models with any degree of complexity, as exemplified in this study. It provides a high-level wrapper for PyNEST (used as the core simulation engine). The specificities of this project require the installation and use of a specific, modified version of NEST 2.10.0 [4] (available in the Software component of OSF or upon request), since it relies on 2 models that are not currently available in the main release (iaf_cond_mtime: neuron model with complex synaptic kinetics, multiport_synapse: connection model allowing the spike-triggered conductances onto the different receptors of a given synapse type). To use the provided software: 1. Setup -After ensuring that all dependencies are satisfied, NMSAT (https://github.com/rcfduarte/ nmsat) needs to be downloaded and setup, as explained in the provided documentation (https: //rcfduarte.github.io/nmsat/).

Project code -
The code package for this project should then be extracted onto the projects/ folder. The provided code has the following structure: where read_data contains all the analysis scripts necessary to read, analyse and plot the data (see Table  B on page 5); scripts contains all the main experiments as a complete script, mostly for debugging purposes. The main simulations are run using combinations of parameters files with the corresponding computation function (see Table A on page 3 for a description of the experiments provided and the standard use case in the code documentation (https://rcfduarte.github.io/nmsat/) for instructions).
3. Running a simulation -Specific experiments can be run from scratch using the provided code. Modify the specific parameters as desired (paying particular attention to the system specificities) and execute the experiment:  Table B on page 5) when executing the experiment. Simply execute as above, replacing {parameters_file} with the full path to the stored parameters. Note, however, that the system parameters need to be edited in these cases, as they were executed on different machines.

noise_driven_dynamics noisedriven_dynamics
State transitions and statistics of active states ( Fig. 5a and b, Fig.  6 and Supp. Fig. 3)

state_transition characterize_state_transition
Stimulus parameters, memory and capacity ( Fig. 7b and c, Fig.  8, 9 and Supp. Fig. 4) stimulus_driven measure_capacity Capacity analysis on pre-stored data stimulus_driven measure_capacity_offline Table A. Summary of all the numerical experiments that can be run using the provided source code. Some are very memory and especially time-consuming (the capacity analysis, in particular). The item marked with (*) can be found in the scripts folder.

Datasets
Due to its total size and the fact that any given data point can be entirely reproduced with the provided code, the full data is only accessible through the OSF repository. We provide all the datasets necessary to replicate the main experiments, as well as the original parameters used for each simulation and the main results. The datasets are organized as follows: Population rate transfer functions ( Fig. 4a, b, c and Supp. Fig. 1) populationRTF_normal_het populationRTF_spiking Sub-threshold responses to background noise ( Fig. 4d and Fig.  5a, b) populationRTF_normal_het populationRTF_subthreshold State transitions and characterization of quiet and active states, single trial ( Fig. 4e and 7a) state_transitions_fixed_rate_het plot_state_transitions Spiking statistics in the active state ( Fig. 9 and Supp. Fig. 3) active_state_het active_state_spiking Input amplitude tuning (Supp.  Table B. Summary of all datasets and corresponding scripts to analyse and plot the data. Note: For legacy reasons, the conditions are labelled as: HOM (homogeneous), HET1 (structural), HET2 (neuronal), HET3 (synaptic), HET or HETall (fully heterogeneous).