# Get rid of coordinates already used pos_list = np.delete(pos_list, inds, 0) # Pick new coordinates inds = np.random.choice(np.arange(0, np.size(pos_list, 0)), numBask, replace=False) pos = pos_list[inds, :] bask_pos = pos.copy() nid_pos = np.concatenate([pyra_pos, pyrc_pos, aac_pos, bask_pos]) # import pdb; pdb.set_trace() # Add a population of numBask nodes net.add_nodes(N=numBask, pop_name='Bask', positions=positions_list(positions=pos), rotation_angle_zaxis=xiter_random(N=numBask, min_x=0.0, max_x=2 * np.pi), rotation_angle_yaxis=xiter_random(N=numBask, min_x=0.0, max_x=2 * np.pi), mem_potential='e', model_type='biophysical', model_template='hoc:basket', morphology=None) ################################################################################ ############################# BACKGROUND INPUTS ################################ # External inputs thalamus = NetworkBuilder('mthalamus') thalamus.add_nodes(N=numPN_A + numPN_C, pop_name='tON', potential='exc', model_type='virtual')
from bmtk.builder.networks import NetworkBuilder from bmtk.builder.auxi.node_params import positions_columinar, xiter_random from bmtk.builder.auxi.edge_connectors import distance_connector import math import numpy as np import random cortex = NetworkBuilder('mcortex') cortex.add_nodes(N=100, pop_name='Scnn1a', positions=positions_columinar(N=100, center=[0, 50.0, 0], max_radius=30.0, height=100.0), rotation_angle_yaxis=xiter_random(N=100, min_x=0.0, max_x=2*np.pi), rotation_angle_zaxis=3.646878266, potental='exc', model_type='biophysical', model_template='ctdb:Biophys1.hoc', model_processing='aibs_perisomatic', dynamics_params='472363762_fit.json', morphology='Scnn1a_473845048_m.swc') cortex.add_edges(source={'pop_name': 'Scnn1a'}, target={'pop_name': 'Scnn1a'}, connection_rule=distance_connector, connection_params={'d_weight_min': 0.0, 'd_weight_max': 0.34, 'd_max': 50.0, 'nsyn_min': 0, 'nsyn_max': 10}, syn_weight=2.0e-04, distance_range=[30.0, 150.0], target_sections=['basal', 'apical', 'soma'], delay=2.0, dynamics_params='AMPA_ExcToExc.json', model_template='exp2syn')
n_cells = 80 if model_props[ 'ei'] == 'e' else 30 # 80% excitatory, 20% inhib # Randomly get positions uniformly distributed in a column positions = positions_columinar(N=n_cells, center=[0, 10.0, 0], max_radius=50.0, height=200.0) internal.add_nodes( N=n_cells, x=positions[:, 0], y=positions[:, 1], z=positions[:, 2], rotation_angle_yaxis=xiter_random(N=n_cells, min_x=0.0, max_x=2 * np.pi), # randomly rotate y axis rotation_angle_zaxis=xiter_random(N=n_cells, min_x=0.0, max_x=2 * np.pi), # model_type='point_process', orig_model='glif', **model_props) # Build intfire type cells for model_props in intfire_models: n_cells = 75 # Just assume 75 cells for both point inhibitory and point excitatory positions = positions_columinar(N=n_cells, center=[0, 10.0, 0], max_radius=50.0, height=200.0)