{
“cells”: [
{

“cell_type”: “markdown”, “metadata”: {}, “source”: [

“# Tutorial 2: Single cell simulation with external feedfoward input (with BioNet)n”, “n”, “In the previous tutorial we built a single cell and stimulated it with a current injection. In this example we will keep our single-cell network, but instead of stimulation by a step current, we’ll set-up an external network that synapses onto our cell.n”, “n”, “Note - scripts and files for running this tutorial can be found in the directory [sources/chapter02/](https://github.com/AllenInstitute/bmtk/tree/develop/docs/tutorial/sources/chapter02)n”, “n”, “Requirements:n”, “* Python 2.7 or 3.6+n”, “* bmtkn”, “* NEURON 7.4+”

]

}, {

“cell_type”: “markdown”, “metadata”: {}, “source”: [

“## Step 1: Building the network.n”, “n”, “Similar to the previous tutorial, we want to build and save a network consisting of a single biophysically detailed cell. “

]

}, {

“cell_type”: “code”, “execution_count”: 1, “metadata”: {}, “outputs”: [], “source”: [

“from bmtk.builder.networks import NetworkBuildern”, “n”, “n”, “cortex = NetworkBuilder(‘mcortex’)n”, “cortex.add_nodes(n”, ” cell_name=’Scnn1a_473845048’,n”, ” potental=’exc’,n”, ” model_type=’biophysical’,n”, ” model_template=’ctdb:Biophys1.hoc’,n”, ” model_processing=’aibs_perisomatic’,n”, ” dynamics_params=’472363762_fit.json’,n”, ” morphology=’Scnn1a_473845048_m.swc’n”, “)n”

]

}, {

“cell_type”: “code”, “execution_count”: 2, “metadata”: {}, “outputs”: [], “source”: [

“cortex.build()n”, “cortex.save_nodes(output_dir=’sim_ch02/network’)”

]

}, {

“cell_type”: “markdown”, “metadata”: {

“collapsed”: true

}, “source”: [

“But we will also want a collection of external spike-generating cells that will synapse onto our cell. To do this we create a second network which can represent thalamic input. We will call our network "mthalamus", and it will consist of 10 cells. These cells are not biophysical but instead "virtual" cells. Virtual cells don’t have a morphology or the normal properties of a neuron, but rather act as spike generators.”

]

}, {

“cell_type”: “code”, “execution_count”: 3, “metadata”: {}, “outputs”: [], “source”: [

“thalamus = NetworkBuilder(‘mthalamus’)n”, “thalamus.add_nodes(n”, ” N=10,n”, ” pop_name=’tON’,n”, ” potential=’exc’,n”, ” model_type=’virtual’n”, “)”

]

}, {

“cell_type”: “markdown”, “metadata”: {}, “source”: [

“Now that we built our nodes, we want to create a connection between our 10 thalamic cells onto our cortex cell. To do so we use the add_edges function like so:”

]

}, {

“cell_type”: “code”, “execution_count”: 4, “metadata”: {}, “outputs”: [

{
“data”: {
“text/plain”: [

“<bmtk.builder.connection_map.ConnectionMap at 0x7fc0219a3128>”

]

}, “execution_count”: 4, “metadata”: {}, “output_type”: “execute_result”

}

], “source”: [

“thalamus.add_edges(n”, ” source={‘pop_name’: ‘tON’}, target=cortex.nodes(),n”, ” connection_rule=5,n”, ” syn_weight=0.001,n”, ” delay=2.0,n”, ” weight_function=None,n”, ” target_sections=[‘basal’, ‘apical’],n”, ” distance_range=[0.0, 150.0],n”, ” dynamics_params=’AMPA_ExcToExc.json’,n”, ” model_template=’exp2syn’n”, “)”

]

}, {

“cell_type”: “markdown”, “metadata”: {}, “source”: [

“Let us break down how this method call works:n”, “`python\n", "thalamus.add_edges(source={'pop_name': 'tON'}, target=cortex.nodes(),\n", "`n”, “* Here we specify which set of nodes to use as sources and targets. Our source/pre-synaptic cells are all thamalus cells with the property "pop_name=tON", which in this case is every thalmus cell (We could also use source=thalamus.nodes(), or source={‘level_of_detail’: ‘filter’}). The target/post-synaptic is all cell(s) of the "cortex" network.n”, “n”, “`python\n", "connection_rule=5,\n", "`n”, “* The connection_rule parameter determines how many synapses exists between every source/target pair. In this very trivial case we are indicating that between every thamalic –> cortical cell connection, there are 5 synapatic connections. In future tutorials we will show how we can create more complex customized rules.n”, “n”, “`python\n", "syn_weight=0.001,\n", "delay=2.0,\n", "weight_function=None,\n", "`n”, “* Here we are specifying the connection weight. For every connection in this edge-type, there is a connection strength of 5e-05 (units) and a connection delay of 2 ms. The weight function is used to adjust the weights before runtime. Later we will show how to create customized weight functions.n”, “n”, “`python\n", "   target_sections=['basal', 'apical'],\n", "   distance_range=[0.0, 150.0],\n", "`n”, “* This is used by BioNet to determine where on the post-synaptic cell to place the synapse. By default placement is random within the given section and range.n”, “`python\n", "dynamics_params='AMPA_ExcToExc.json',  \n", "model_template='exp2syn')\n", "`n”, “* The params_file give the parameters of the synpase, including the time constant and potential. Here we are using an AMPA type synaptic model with an Excitatory connection. The set_params_function is used by BioNet to convert the model into a valid NEURON synaptic object.n”, “n”, “Finally we are ready to build the model and save the thalamic nodes and edges.”

]

}, {

“cell_type”: “code”, “execution_count”: 5, “metadata”: {}, “outputs”: [], “source”: [

“thalamus.build()n”, “thalamus.save_nodes(output_dir=’sim_ch02/network’)n”, “thalamus.save_edges(output_dir=’sim_ch02/network’)”

]

}, {

“cell_type”: “markdown”, “metadata”: {}, “source”: [

“The network/ directory will contain multiple nodes and edges files. It should have nodes (and node-types) files for both the thalamus and cortex network. And edges (and edge-types) files for the thalamus –> cortex connections. Nodes and edges for different networks and their connections are spread out across different files which allows us in the future to rebuild, edit or replace part of setup in a piecemeal and efficent manner.”

]

}, {

“cell_type”: “markdown”, “metadata”: {}, “source”: [

“#### Spike Trainsn”, “n”, “We need to give our 10 thalamic cells spike trains. There are multiple ways to do this, but an easy way to use a sonata hdf5 file. The following function will create a file to provide the spikes for our 10 cells.n”

]

}, {

“cell_type”: “code”, “execution_count”: 6, “metadata”: {}, “outputs”: [], “source”: [

“from bmtk.utils.reports.spike_trains import PoissonSpikeGeneratorn”, “n”, “psg = PoissonSpikeGenerator(population=’mthalamus’)n”, “psg.add(n”, ” node_ids=range(10), # Have 10 nodes to match mthalamusn”, ” firing_rate=10.0, # 10 Hz, we can also pass in a nonhomoegenous function/arrayn”, ” times=(0.0, 3.0) # Firing starts at 0 s up to 3 sn”, “)n”, “psg.to_sonata(‘sim_ch02/inputs/mthalamus_spikes.h5’)n”

]

}, {

“cell_type”: “markdown”, “metadata”: {}, “source”: [

“The spikes files are save as a [Sonata formated spikes train](https://github.com/AllenInstitute/sonata/blob/master/docs/SONATA_DEVELOPER_GUIDE.md#spike-file). BMTK also allow us to use csv files and NWB files to set the spike train - we just have to tell the configuration file the appropiate format to read.”

]

}, {

“cell_type”: “code”, “execution_count”: 7, “metadata”: {

“scrolled”: true

}, “outputs”: [

{

“name”: “stdout”, “output_type”: “stream”, “text”: [

“Number of spikes: 313n”, “Units: msn”

]

}, {

“data”: {
“text/html”: [

“<div>n”, “<style scoped>n”, ” .dataframe tbody tr th:only-of-type {n”, ” vertical-align: middle;n”, ” }n”, “n”, ” .dataframe tbody tr th {n”, ” vertical-align: top;n”, ” }n”, “n”, ” .dataframe thead th {n”, ” text-align: right;n”, ” }n”, “</style>n”, “<table border="1" class="dataframe">n”, ” <thead>n”, ” <tr style="text-align: right;">n”, ” <th></th>n”, ” <th>node_ids</th>n”, ” <th>timestamps</th>n”, ” <th>population</th>n”, ” </tr>n”, ” </thead>n”, ” <tbody>n”, ” <tr>n”, ” <th>0</th>n”, ” <td>0</td>n”, ” <td>50.454101</td>n”, ” <td>mthalamus</td>n”, ” </tr>n”, ” <tr>n”, ” <th>1</th>n”, ” <td>0</td>n”, ” <td>304.683694</td>n”, ” <td>mthalamus</td>n”, ” </tr>n”, ” <tr>n”, ” <th>2</th>n”, ” <td>0</td>n”, ” <td>341.404725</td>n”, ” <td>mthalamus</td>n”, ” </tr>n”, ” <tr>n”, ” <th>3</th>n”, ” <td>0</td>n”, ” <td>426.215779</td>n”, ” <td>mthalamus</td>n”, ” </tr>n”, ” <tr>n”, ” <th>4</th>n”, ” <td>0</td>n”, ” <td>610.815828</td>n”, ” <td>mthalamus</td>n”, ” </tr>n”, ” </tbody>n”, “</table>n”, “</div>”

], “text/plain”: [

” node_ids timestamps populationn”, “0 0 50.454101 mthalamusn”, “1 0 304.683694 mthalamusn”, “2 0 341.404725 mthalamusn”, “3 0 426.215779 mthalamusn”, “4 0 610.815828 mthalamus”

]

}, “execution_count”: 7, “metadata”: {}, “output_type”: “execute_result”

}

], “source”: [

“print(‘Number of spikes: {}’.format(psg.n_spikes()))n”, “print(‘Units: {}’.format(psg.units()))n”, “n”, “psg.to_dataframe().head()”

]

}, {

“cell_type”: “markdown”, “metadata”: {}, “source”: [

“## Step 2: Setting up BioNet environment.n”, “#### file structure.n”, “n”, “Before running a simulation, we will need to create the runtime environment, including parameter files, run-script and configuration files. If using the tutorial these files will already be in place, however you should run the following anyway in a command-line:n”, “n”, “`bash\n", "$ python -m bmtk.utils.sim_setup  \\\n", "   --report-vars v,cai            \\                             \n", "   --network sim_ch02/network     \\                              \n", "   --spikes-inputs mthalamus:sim_ch02/inputs/mthalamus_spikes.h5 \\\n", "   --dt 0.1             \\\n", "   --tstop 3000.0       \\  \n", "   --include-examples   \\\n", "   --compile-mechanisms \\ \n", "   bionet sim_ch02\n", "`n”, “n”, “Or call the function directly in pythonn”

]

}, {

“cell_type”: “code”, “execution_count”: 8, “metadata”: {}, “outputs”: [

{

“name”: “stdout”, “output_type”: “stream”, “text”: [

“config.jsonn”

]

}

], “source”: [

“from bmtk.utils.sim_setup import build_env_bionetn”, “n”, “build_env_bionet(n”, ” base_dir=’sim_ch02’,n”, ” config_file=’config.json’,n”, ” network_dir=’sim_ch02/network’,n”, ” tstop=3000.0, dt=0.1,n”, ” report_vars=[‘v’, ‘cai’], # Record membrane potential and calcium (default soma)n”, ” spikes_inputs=[(‘mthalamus’, # Name of population which spikes will be generated forn”, ” ‘sim_ch02/inputs/mthalamus_spikes.h5’)],n”, ” include_examples=True, # Copies components filesn”, ” compile_mechanisms=True # Will try to compile NEURON mechanismsn”, “)”

]

}, {

“cell_type”: “markdown”, “metadata”: {}, “source”: [

“The last thing that we need to do is to update the configuration file to read "thalamus_spikes.csv". To do so we open simulation_config.json in a text editor and add the following to the input section.n”, “n”, “`json\n", "{\n", "  \"inputs\": {\n", "    \"mthalamus_spikes\": {\n", "      \"input_type\": \"spikes\",\n", "      \"module\": \"sonata\",\n", "      \"input_file\": \"${BASE_DIR}/input/mthalamus_spikes.csv\",\n", "      \"node_set\": \"mthalamus\"\n", "    }\n", "  }\n", "}\n", "`

]

}, {

“cell_type”: “markdown”, “metadata”: {}, “source”: [

“## 3. Running the simulationn”, “n”, “Once our config file is setup we can run a simulation either through the command line:n”, “`bash\n", "$ cd sim_ch02/\n", "$ python run_bionet.py config.json\n", "`n”, “n”, “or through the script”

]

}, {

“cell_type”: “code”, “execution_count”: 9, “metadata”: {

“scrolled”: true

}, “outputs”: [

{

“name”: “stdout”, “output_type”: “stream”, “text”: [

“2022-02-18 07:21:56,940 [INFO] Created log filen”

]

}, {

“name”: “stderr”, “output_type”: “stream”, “text”: [

]

}, {

“name”: “stdout”, “output_type”: “stream”, “text”: [

“2022-02-18 07:21:57,024 [INFO] Building cells.n”

]

}, {

“name”: “stderr”, “output_type”: “stream”, “text”: [

]

}, {

“name”: “stdout”, “output_type”: “stream”, “text”: [

“2022-02-18 07:21:57,183 [INFO] Building recurrent connectionsn”

]

}, {

“name”: “stderr”, “output_type”: “stream”, “text”: [

INFO:NEURONIOUtils:Building recurrent connectionsn”

]

}, {

“name”: “stdout”, “output_type”: “stream”, “text”: [

“2022-02-18 07:21:57,185 [INFO] Building virtual cell stimulations for mthalamus_spikesn”

]

}, {

“name”: “stderr”, “output_type”: “stream”, “text”: [

INFO:NEURONIOUtils:Building virtual cell stimulations for mthalamus_spikesn”

]

}, {

“name”: “stdout”, “output_type”: “stream”, “text”: [

“2022-02-18 07:21:57,271 [INFO] Running simulation for 3000.000 ms with the time step 0.100 msn”

]

}, {

“name”: “stderr”, “output_type”: “stream”, “text”: [

INFO:NEURONIOUtils:Running simulation for 3000.000 ms with the time step 0.100 msn”

]

}, {

“name”: “stdout”, “output_type”: “stream”, “text”: [

“2022-02-18 07:21:57,272 [INFO] Starting timestep: 0 at t_sim: 0.000 msn”

]

}, {

“name”: “stderr”, “output_type”: “stream”, “text”: [

INFO:NEURONIOUtils:Starting timestep: 0 at t_sim: 0.000 msn”

]

}, {

“name”: “stdout”, “output_type”: “stream”, “text”: [

“2022-02-18 07:21:57,273 [INFO] Block save every 5000 stepsn”

]

}, {

“name”: “stderr”, “output_type”: “stream”, “text”: [

INFO:NEURONIOUtils:Block save every 5000 stepsn”

]

}, {

“name”: “stdout”, “output_type”: “stream”, “text”: [

“2022-02-18 07:21:57,582 [INFO] step:5000 t_sim:500.00 msn”

]

}, {

“name”: “stderr”, “output_type”: “stream”, “text”: [

INFO:NEURONIOUtils: step:5000 t_sim:500.00 msn”

]

}, {

“name”: “stdout”, “output_type”: “stream”, “text”: [

“2022-02-18 07:21:57,877 [INFO] step:10000 t_sim:1000.00 msn”

]

}, {

“name”: “stderr”, “output_type”: “stream”, “text”: [

INFO:NEURONIOUtils: step:10000 t_sim:1000.00 msn”

]

}, {

“name”: “stdout”, “output_type”: “stream”, “text”: [

“2022-02-18 07:21:58,168 [INFO] step:15000 t_sim:1500.00 msn”

]

}, {

“name”: “stderr”, “output_type”: “stream”, “text”: [

INFO:NEURONIOUtils: step:15000 t_sim:1500.00 msn”

]

}, {

“name”: “stdout”, “output_type”: “stream”, “text”: [

“2022-02-18 07:21:58,485 [INFO] step:20000 t_sim:2000.00 msn”

]

}, {

“name”: “stderr”, “output_type”: “stream”, “text”: [

INFO:NEURONIOUtils: step:20000 t_sim:2000.00 msn”

]

}, {

“name”: “stdout”, “output_type”: “stream”, “text”: [

“2022-02-18 07:21:58,844 [INFO] step:25000 t_sim:2500.00 msn”

]

}, {

“name”: “stderr”, “output_type”: “stream”, “text”: [

INFO:NEURONIOUtils: step:25000 t_sim:2500.00 msn”

]

}, {

“name”: “stdout”, “output_type”: “stream”, “text”: [

“2022-02-18 07:21:59,137 [INFO] step:30000 t_sim:3000.00 msn”

]

}, {

“name”: “stderr”, “output_type”: “stream”, “text”: [

INFO:NEURONIOUtils: step:30000 t_sim:3000.00 msn”

]

}, {

“name”: “stdout”, “output_type”: “stream”, “text”: [

“2022-02-18 07:21:59,150 [INFO] Simulation completed in 1.879 seconds n”

]

}, {

“name”: “stderr”, “output_type”: “stream”, “text”: [

INFO:NEURONIOUtils:Simulation completed in 1.879 seconds n”

]

}

], “source”: [

“from bmtk.simulator import bionetn”, “n”, “n”, “conf = bionet.Config.from_json(‘sim_ch02/config.json’)n”, “conf.build_env()n”, “net = bionet.BioNetwork.from_config(conf)n”, “sim = bionet.BioSimulator.from_config(conf, network=net)n”, “sim.run()”

]

}, {

“cell_type”: “markdown”, “metadata”: {}, “source”: [

“## 4. Analyzing the run”

]

}, {

“cell_type”: “code”, “execution_count”: 10, “metadata”: {}, “outputs”: [

{

“name”: “stdout”, “output_type”: “stream”, “text”: [

“Number of Spikes: 52n”

]

}, {

“data”: {
“text/html”: [

“<div>n”, “<style scoped>n”, ” .dataframe tbody tr th:only-of-type {n”, ” vertical-align: middle;n”, ” }n”, “n”, ” .dataframe tbody tr th {n”, ” vertical-align: top;n”, ” }n”, “n”, ” .dataframe thead th {n”, ” text-align: right;n”, ” }n”, “</style>n”, “<table border="1" class="dataframe">n”, ” <thead>n”, ” <tr style="text-align: right;">n”, ” <th></th>n”, ” <th>timestamps</th>n”, ” <th>node_ids</th>n”, ” <th>population</th>n”, ” </tr>n”, ” </thead>n”, ” <tbody>n”, ” <tr>n”, ” <th>0</th>n”, ” <td>38.3</td>n”, ” <td>0</td>n”, ” <td>mcortex</td>n”, ” </tr>n”, ” <tr>n”, ” <th>1</th>n”, ” <td>1618.1</td>n”, ” <td>0</td>n”, ” <td>mcortex</td>n”, ” </tr>n”, ” <tr>n”, ” <th>2</th>n”, ” <td>1641.9</td>n”, ” <td>0</td>n”, ” <td>mcortex</td>n”, ” </tr>n”, ” <tr>n”, ” <th>3</th>n”, ” <td>1727.2</td>n”, ” <td>0</td>n”, ” <td>mcortex</td>n”, ” </tr>n”, ” <tr>n”, ” <th>4</th>n”, ” <td>1739.9</td>n”, ” <td>0</td>n”, ” <td>mcortex</td>n”, ” </tr>n”, ” </tbody>n”, “</table>n”, “</div>”

], “text/plain”: [

” timestamps node_ids populationn”, “0 38.3 0 mcortexn”, “1 1618.1 0 mcortexn”, “2 1641.9 0 mcortexn”, “3 1727.2 0 mcortexn”, “4 1739.9 0 mcortex”

]

}, “execution_count”: 10, “metadata”: {}, “output_type”: “execute_result”

}

], “source”: [

“from bmtk.analyzer.spike_trains import to_dataframen”, “n”, “results_df = to_dataframe(config_file=’sim_ch02/config.json’)n”, “print(‘Number of Spikes: {}’.format(len(results_df)))n”, “results_df.head()”

]

}, {

“cell_type”: “code”, “execution_count”: 11, “metadata”: {}, “outputs”: [

{
“data”: {

“image/png”: “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”, “text/plain”: [

“<Figure size 432x288 with 1 Axes>”

]

}, “metadata”: {

“needs_background”: “light”

}, “output_type”: “display_data”

}, {

“data”: {

“image/png”: “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n”, “text/plain”: [

“<Figure size 432x288 with 1 Axes>”

]

}, “metadata”: {

“needs_background”: “light”

}, “output_type”: “display_data”

}

], “source”: [

“from bmtk.analyzer.compartment import plot_tracesn”, “n”, “_ = plot_traces(config_file=’sim_ch02/config.json’, node_ids=[0], report_name=’v_report’)n”, “_ = plot_traces(config_file=’sim_ch02/config.json’, node_ids=[0], report_name=’cai_report’)”

]

}, {

“cell_type”: “markdown”, “metadata”: {}, “source”: [

“## 5. Additional things to do:n”, “n”, “#### Changing edge propertiesn”, “n”, “When using the Network Builder add_edges method, we gave all the edges the same parameter values (delay, weight, target_section, etc.). All connection created by this method call constitute an single edge-type that share the same parameters, and are specified in the mthalamic_edge_type.csv file”

]

}, {

“cell_type”: “code”, “execution_count”: 12, “metadata”: {}, “outputs”: [

{
“data”: {
“text/html”: [

“<div>n”, “<style scoped>n”, ” .dataframe tbody tr th:only-of-type {n”, ” vertical-align: middle;n”, ” }n”, “n”, ” .dataframe tbody tr th {n”, ” vertical-align: top;n”, ” }n”, “n”, ” .dataframe thead th {n”, ” text-align: right;n”, ” }n”, “</style>n”, “<table border="1" class="dataframe">n”, ” <thead>n”, ” <tr style="text-align: right;">n”, ” <th></th>n”, ” <th>edge_type_id</th>n”, ” <th>target_query</th>n”, ” <th>source_query</th>n”, ” <th>target_sections</th>n”, ” <th>weight_function</th>n”, ” <th>dynamics_params</th>n”, ” <th>model_template</th>n”, ” <th>distance_range</th>n”, ” <th>delay</th>n”, ” <th>syn_weight</th>n”, ” </tr>n”, ” </thead>n”, ” <tbody>n”, ” <tr>n”, ” <th>0</th>n”, ” <td>100</td>n”, ” <td>*</td>n”, ” <td>pop_name==’tON’</td>n”, ” <td>[‘basal’, ‘apical’]</td>n”, ” <td>NaN</td>n”, ” <td>AMPA_ExcToExc.json</td>n”, ” <td>exp2syn</td>n”, ” <td>[0.0, 150.0]</td>n”, ” <td>2.0</td>n”, ” <td>0.001</td>n”, ” </tr>n”, ” </tbody>n”, “</table>n”, “</div>”

], “text/plain”: [

” edge_type_id target_query source_query target_sections \n”, “0 100 * pop_name==’tON’ [‘basal’, ‘apical’] n”, “n”, ” weight_function dynamics_params model_template distance_range delay \n”, “0 NaN AMPA_ExcToExc.json exp2syn [0.0, 150.0] 2.0 n”, “n”, ” syn_weight n”, “0 0.001 “

]

}, “execution_count”: 12, “metadata”: {}, “output_type”: “execute_result”

}

], “source”: [

“import pandas as pdn”, “pd.read_csv(‘sim_ch02/network/mthalamus_mcortex_edge_types.csv’, sep=’ ‘)”

]

}, {

“cell_type”: “markdown”, “metadata”: {}, “source”: [

“(if in the build script we called add_edges multiple times, we’d have multiple edge-types). n”, “n”, “Using a simple text-editor we can modify this file directly, change parameters before a simulation run without having to rebuild the entire network (although for a network this small it may not be beneficial).n”, “n”, “#### weight_functionn”, “n”, “By default BioNet uses the value in syn_weight to set a synaptic weight, which is a constant stored in the network files. Often we will want to adjust the synaptic weight between simulations, but don’t want to have to regenerate the network. BioNet allows us to specify custom synaptic weight functions that will calculate synaptic weight before each simulation. n”, “n”, “To do so first we must set the value of ‘weight_function’ column. Either we can open up the file mthalamus_mcortex_edge_types.csv with a text-editor and change the column. n”, “n”, “n”, “|edge_type_id | target_query | source_query | ... | weight_function |\n", "|————-|--------------|—————-|-----|—————–|n”, “|100 | * |pop_name==’tON’ | … |adjusted_weight |n”, “n”, “or we can rebuild the edgesn”, “`python\n", "thalamus.add_edges(source={'pop_name': 'tON'}, target=cortex.nodes(),\n", "                   connection_rule=5,\n", "                   syn_weight=0.001,\n", "                   weight_function=adjusted_weight,\n", "                   delay=2.0,\n", "                   target_sections=['basal', 'apical'],\n", "                   distance_range=[0.0, 150.0],\n", "                   dynamics_params='AMPA_ExcToExc.json',\n", "                   model_template='exp2syn')\n", "`n”, “n”, “Then we write a custom weight function. The weight functions will be called during the simulation when building each synapse, and requires three parameters - target_cell, source_cell, and edge_props. These three parameters are dictionaries which can be used to access properties of the source node, target node, and edge, respectively. The function must return a floating point number which will be used to set the synaptic weightn”, “n”, “`python\n", "def adjusted_weights(target_cell, source_cell, edge_props):\n", "    if target_cell['cell_name'] == 'Scnn1a':\n", "        return edge_prop[\"weight_max\"]*0.5\n", "    elif target_cell['cell_name'] == 'Rorb'\n", "        return edge_prop[\"weight_max\"]*1.5\n", "    else:\n", "        ...\n", "`n”, “n”, “Finally we must tell BioNet where to access the function which we can do by using the add_weight_function.n”, “`python\n", "from bmtk.simulator import bionet\n", "\n", "bionet.nrn.add_weight_function(adjusted_weights)\n", "\n", "conf = bionet.Config.from_json('config.json')\n", "...\n", "`

]

}, {

“cell_type”: “markdown”, “metadata”: {}, “source”: [

“### Using NWB for spike trainsn”, “n”, “Instead of using csv files to set the spike trains of our external network, we can also use nwb files. The typical setup would look like the following in the config file:n”, “n”, “`json\n", "{\n", "  \"inputs\": {\n", "    \"LGN_spikes\": {\n", "      \"input_type\": \"spikes\",\n", "      \"module\": \"nwb\",\n", "      \"input_file\": \"$INPUT_DIR/lgn_spikes.nwb\",\n", "      \"node_set\": \"lgn\",\n", "      \"trial\": \"trial_0\"\n", "    },\n", "  }\n", "}\n", "`

]

}, {

“cell_type”: “code”, “execution_count”: null, “metadata”: {}, “outputs”: [], “source”: []

}

], “metadata”: {

“anaconda-cloud”: {}, “kernelspec”: {

“display_name”: “Python 3”, “language”: “python”, “name”: “python3”

}, “language_info”: {

“codemirror_mode”: {

“name”: “ipython”, “version”: 3

}, “file_extension”: “.py”, “mimetype”: “text/x-python”, “name”: “python”, “nbconvert_exporter”: “python”, “pygments_lexer”: “ipython3”, “version”: “3.6.10”

}

}, “nbformat”: 4, “nbformat_minor”: 2

}