コード例 #1
0
ファイル: build_network.py プロジェクト: latimerb/SPWR_BMTK2
# 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')
コード例 #2
0
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')
コード例 #3
0
    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)