Source code for bmtk.simulator.bionet.modules.ecephys_module

from bmtk.simulator.bionet.io_tools import io
from bmtk.simulator.core.modules.ecephys_module import ECEphysUnitsModule


[docs]class BioECEphysUnitsModule(ECEphysUnitsModule):
[docs] def initialize(self, sim): io.log_info('Building virtual cell stimulations for {}'.format(self._name)) net = sim.net net._init_connections() node_set = net.get_node_set(self._node_set) self._mapping_strategy.build_map(node_set=node_set) src_nodes = [node_pop for node_pop in net.node_populations if node_pop.name in node_set.population_names()] for src_node_pop in src_nodes: source_population = src_node_pop.name for edge_pop in net.find_edges(source_nodes=source_population): if edge_pop.virtual_connections: for trg_nid, trg_cell in net._rank_node_ids[edge_pop.target_nodes].items(): for edge in edge_pop.get_target(trg_nid): source_node_id = edge.source_node_id spike_trains = self._mapping_strategy.get_spike_trains(source_node_id, source_population) src_cell = net.get_virtual_cells(source_population, source_node_id, spike_trains) trg_cell.set_syn_connection(edge, src_cell, src_cell) elif edge_pop.mixed_connections: raise NotImplementedError()