"tau_refrac": 3, "v_reset": -50, "v_rest": -78, "v_thresh": -47 } net.cells.append(cell) ''' cell2 = Cell(id='testcell2', pynn_cell='IF_cond_alpha') cell2.parameters = { "tau_refrac":5, "i_offset":-.1 } net.cells.append(cell2)''' input_source = InputSource(id='i_clamp', pynn_input='DCSource', parameters={ 'amplitude': 'input_amp', 'start': 'input_del', 'stop': 'input_del+input_dur' }) net.input_sources.append(input_source) r1 = RectangularRegion(id='region1', x=0, y=0, z=0, width=1000, height=100, depth=1000) net.regions.append(r1) p0 = Population(id='pop0',
"v_reset": -50, "v_rest": -78, "v_thresh": -47, } net.cells.append(cell) """ cell2 = Cell(id='testcell2', pynn_cell='IF_cond_alpha') cell2.parameters = { "tau_refrac":5, "i_offset":-.1 } net.cells.append(cell2)""" input_source = InputSource( id="i_clamp", pynn_input="DCSource", parameters={ "amplitude": "input_amp", "start": "input_del", "stop": "input_del+input_dur", }, ) net.input_sources.append(input_source) r1 = RectangularRegion(id="region1", x=0, y=0, z=0, width=1000, height=100, depth=1000) net.regions.append(r1)
def generate(): ################################################################################ ### Build new network net = Network(id='ExampleK') net.notes = 'Example...' net.parameters = {'pop_size': '8', 'stim_amp': '0.3'} cell = Cell(id='kuramoto1', lems_source_file='CellExamples.xml') net.cells.append(cell) input_source = InputSource(id='iclamp0', neuroml2_input='PulseGeneratorDL', parameters={ 'amplitude': 'stim_amp', 'delay': '100ms', 'duration': '800ms' }) net.input_sources.append(input_source) ''' input_source = InputSource(id='poissonFiringSyn', neuroml2_input='poissonFiringSynapse', parameters={'average_rate':"eta", 'synapse':"ampa", 'spike_target':"./ampa"}) ''' r1 = RectangularRegion(id='region1', x=0, y=0, z=0, width=1000, height=100, depth=1000) net.regions.append(r1) pE = Population(id='Epop', size='pop_size', component=cell.id, properties={'color': '1 0 0'}, random_layout=RandomLayout(region=r1.id)) net.populations.append(pE) ''' net.synapses.append(Synapse(id='ampa', pynn_receptor_type='excitatory', pynn_synapse_type='curr_alpha', parameters={'tau_syn':0.1})) net.projections.append(Projection(id='projEinput', presynaptic=pEpoisson.id, postsynaptic=pE.id, synapse='ampa', delay=2, weight=0.02, one_to_one_connector=OneToOneConnector())) net.projections.append(Projection(id='projEE', presynaptic=pE.id, postsynaptic=pE.id, synapse='ampa', delay=2, weight=0.002, random_connectivity=RandomConnectivity(probability=.5))) net.projections.append(Projection(id='projEI', presynaptic=pE.id, postsynaptic=pI.id, synapse='ampa', delay=2, weight=0.02, random_connectivity=RandomConnectivity(probability=.5))) net.projections.append(Projection(id='projIE', presynaptic=pI.id, postsynaptic=pE.id, synapse='gaba', delay=2, weight=0.02, random_connectivity=RandomConnectivity(probability=.5))) ''' net.inputs.append( Input(id='stim', input_source=input_source.id, population=pE.id, percentage=50)) #print(net) #print(net.to_json()) new_file = net.to_json_file('%s.json' % net.id) ################################################################################ ### Build Simulation object & save as JSON sim = Simulation(id='SimExampleK', network=new_file, duration='1000', dt='0.025', seed=123, recordVariables={'sin_theta': { pE.id: '*' }}) sim.to_json_file() return sim, net
### Build new network net = Network(id='PopExample') net.notes = 'Testing...' net.seed = 1234 net.parameters = { 'N': 10, 'fractionE': 0.8, 'weightInput': 1, 'Wei':0.01, 'Wie':0.01} cell = Cell(id='iafcell', pynn_cell='IF_cond_alpha') cell.parameters = { "tau_refrac":0} net.cells.append(cell) input_source = InputSource(id='poissonFiringSyn100Hz', neuroml2_source_file='inputs.nml') net.input_sources.append(input_source) net.input_sources.append(input_source) pE = Population(id='Epop', size='int(N*fractionE)', component=cell.id, properties={'color':'.7 0 0'}) pI = Population(id='Ipop', size='N - int(N*fractionE)', component=cell.id, properties={'color':'0 0 .7'}) net.populations.append(pE) net.populations.append(pI) net.synapses.append(Synapse(id='ampaSyn', pynn_receptor_type='excitatory', pynn_synapse_type='cond_alpha',
pops = [exc_pop, inh_pop] internal_connections(pops) # Add offset inputs net.parameters['exc_input'] = '0nA' net.parameters['inh_input'] = '0nA' net.parameters['input_delay'] = '20ms' net.parameters['input_duration'] = '60ms' #net.parameters['scaling'] = '1nA' input_source_e = InputSource(id='Exc_in', neuroml2_input='PulseGenerator', parameters={ 'amplitude': 'exc_input', 'delay': 'input_delay', 'duration': 'input_duration' }) net.input_sources.append(input_source_e) net.inputs.append( Input(id='Exc_stim', input_source=input_source_e.id, population=exc_pop.id, percentage=100)) input_source_i = InputSource(id='Inh_in', neuroml2_input='PulseGenerator', parameters={ 'amplitude': 'inh_input', 'delay': 'input_delay',
################################################################################ ### Build new network net = Network(id='delMolinoEtAl') net.notes = 'delMolinoEtAl eLife 2017' net.parameters = {'inputVIP': 10} cell = Cell(id='ifcell', pynn_cell='IF_cond_alpha') cell.parameters = {"tau_refrac": 5, "i_offset": .1} net.cells.append(cell) input_source0 = InputSource(id='iclamp0', pynn_input='DCSource', parameters={ 'amplitude': 10, 'start': 50., 'stop': 150. }) net.input_sources.append(input_source0) r1 = RectangularRegion(id='network', x=0, y=0, z=0, width=100, height=100, depth=10) net.regions.append(r1)
from neuromllite import Network, Cell, InputSource, Population, Synapse from neuromllite import Projection, RandomConnectivity, Input, Simulation import sys ################################################################################ ### Build new network net = Network(id='Example8_Extension') net.notes = 'Example 8: extending exising networks' net.parameters = {'N': 10, 'fractionE': 0.8, 'weightInput': 1} cell = Cell(id='hhcell', neuroml2_source_file='test_files/hhcell.cell.nml') net.cells.append(cell) input_source = InputSource(id='poissonFiringSyn', neuroml2_source_file='test_files/inputs.nml') net.input_sources.append(input_source) ''' input_source = InputSource(id='iclamp0', pynn_input='DCSource', parameters={'amplitude':0.2, 'start':100., 'stop':900.})''' net.input_sources.append(input_source) pE = Population(id='Epop', size='int(N*fractionE)', component=cell.id, properties={'color': '.7 0 0'}) pRS = Population(id='RSpop', size='N - int(N*fractionE)', component=cell.id,
### Build new network net = Network(id="Example11_Synapses") net.notes = "Example 11: synaptic properties" net.parameters = {"input_amp": 0.23, "weight": 1.01} #'tau_syn': 2} cell = Cell(id="iafCell0", neuroml2_source_file="test_files/iaf.cell.nml") # cell.parameters = { "tau_refrac":5, "i_offset":0 } net.cells.append(cell) input_source = InputSource( id="i_clamp", pynn_input="DCSource", parameters={ "amplitude": "input_amp", "start": 200.0, "stop": 800.0 }, ) net.input_sources.append(input_source) r1 = RectangularRegion(id="region1", x=0, y=0, z=0, width=1000, height=100, depth=1000) net.regions.append(r1)
net.cells.append(cell) pop = Population(id='izhPop', size='1', component=cell.id, properties={'color': '.7 0 0'}) net.populations.append(pop) net.parameters['delay'] = '100ms' net.parameters['stim_amp'] = '100pA' net.parameters['duration'] = '500ms' input_source = InputSource(id='iclamp_0', neuroml2_input='PulseGenerator', parameters={ 'amplitude': 'stim_amp', 'delay': 'delay', 'duration': 'duration' }) net.input_sources.append(input_source) net.inputs.append( Input(id='stim', input_source=input_source.id, population=pop.id, percentage=100)) print(net) print(net.to_json()) new_file = net.to_json_file('%s.json' % net.id)
net = Network(id='Example4_PyNN') net.notes = 'Example 4: a network with PyNN cells & inputs' net.parameters = {'input_amp': 0.99} cell = Cell(id='testcell', pynn_cell='IF_cond_alpha') cell.parameters = {"tau_refrac": 5, "i_offset": .1} net.cells.append(cell) cell2 = Cell(id='testcell2', pynn_cell='IF_cond_alpha') cell2.parameters = {"tau_refrac": 5, "i_offset": -.1} net.cells.append(cell2) input_source = InputSource(id='i_clamp', pynn_input='DCSource', parameters={ 'amplitude': 'input_amp', 'start': 200., 'stop': 800. }) net.input_sources.append(input_source) r1 = RectangularRegion(id='region1', x=0, y=0, z=0, width=1000, height=100, depth=1000) net.regions.append(r1) p0 = Population(id='pop0',
"filename": "test_files/cons_locs_pathways_mc0_Column.h5", "percentage_cells_per_pop": percent, "DEFAULT_CELL_ID": default_cell.id, "cell_info": { default_cell.id: default_cell }, }, ) net.cells.append(default_cell) net.synapses.append( Synapse(id="ampa", neuroml2_source_file="test_files/ampa.synapse.nml")) net.synapses.append( Synapse(id="gaba", neuroml2_source_file="test_files/gaba.synapse.nml")) input_source = InputSource(id="poissonFiringSyn", neuroml2_source_file="test_files/inputs.nml") net.input_sources.append(input_source) for pop in ["L4_PC"]: net.inputs.append( Input( id="stim_%s" % pop, input_source=input_source.id, population=pop, percentage=80, )) new_file = net.to_json_file("%s.json" % net.id) ################################################################################ ### Builds a NeuroML 2 representation, save as XML
def generate(): dt = 0.025 simtime = 1000 ################################################################################ ### Build new network net = Network(id='McCPNet') net.notes = 'Example of simplified McCulloch-Pitts based Network' net.parameters = {'amp': 1.5, 'scale': 3} cell = Cell(id='mccp0', lems_source_file='McCPTest.xml') net.cells.append(cell) silentDL = Synapse(id='silentSyn_proj0', lems_source_file='McCPTest.xml') net.synapses.append(silentDL) rsDL = Synapse(id='rsDL', lems_source_file='McCPTest.xml') net.synapses.append(rsDL) r1 = RectangularRegion(id='region1', x=0, y=0, z=0, width=1000, height=100, depth=1000) net.regions.append(r1) p0 = Population(id='McCPpop0', size='1*scale', component=cell.id, properties={ 'color': '.9 0.9 0', 'radius': 5 }, random_layout=RandomLayout(region=r1.id)) net.populations.append(p0) p1 = Population(id='McCPpop1', size='1*scale', component=cell.id, properties={ 'color': '.9 0 0.9', 'radius': 5 }, random_layout=RandomLayout(region=r1.id)) net.populations.append(p1) net.projections.append( Projection(id='proj0', presynaptic=p0.id, postsynaptic=p1.id, synapse=rsDL.id, pre_synapse=silentDL.id, type='continuousProjection', weight='random()', random_connectivity=RandomConnectivity(probability=0.6))) ''' net.synapses.append(Synapse(id='ampa', pynn_receptor_type='excitatory', pynn_synapse_type='curr_alpha', parameters={'tau_syn':0.1})) net.projections.append(Projection(id='proj1', presynaptic=pEpoisson.id, postsynaptic=pLNP.id, synapse='ampa', delay=0, weight='in_weight', random_connectivity=RandomConnectivity(probability=0.7)))''' input_source0 = InputSource(id='sg0', neuroml2_source_file='inputs.nml') net.input_sources.append(input_source0) input_source1 = InputSource(id='sg1', neuroml2_source_file='inputs.nml') net.input_sources.append(input_source1) for pop in [p0.id]: net.inputs.append( Input(id='stim0_%s' % pop, input_source=input_source0.id, population=pop, percentage=60)) net.inputs.append( Input(id='stim1_%s' % pop, input_source=input_source1.id, population=pop, percentage=60)) #print(net) #print(net.to_json()) new_file = net.to_json_file('%s.json' % net.id) ################################################################################ ### Build Simulation object & save as JSON sim = Simulation(id='Sim%s' % net.id, network=new_file, duration=simtime, dt=dt, seed=123, recordVariables={ 'R': { 'all': '*' }, 'ISyn': { 'all': '*' } }) sim.to_json_file() return sim, net
'start': 0, 'duration': 10000000000, 'rate': 'input_rate' } net.cells.append(input_cell) input_cell_100 = Cell(id='InputCell100', pynn_cell='SpikeSourcePoisson') input_cell_100.parameters = { 'start': 0, 'duration': 10000000000, 'rate': 100 } net.cells.append(input_cell_100) input_source_p0 = InputSource(id='poissonFiringSyn', neuroml2_source_file='../test_files/inputs.nml') net.input_sources.append(input_source_p0) input_source1 = InputSource(id='iclamp1', pynn_input='DCSource', parameters={'amplitude':0.8, 'start':100., 'stop':900.}) net.input_sources.append(input_source1) pop0 = Population(id='pop0', size='N', component=cell.id, properties={'color':'.7 0 0'}) net.populations.append(pop0) pop1 = Population(id='pop1', size='N', component=cell.id, properties={'color':'0 .7 0'}) net.populations.append(pop1) pop2 = Population(id='pop2', size='N', component=cell.id, properties={'color':'0 .7 0.7'}) net.populations.append(pop2)
net = Network(id='Syn4Net') net.notes = 'Syn4Net: synaptic properties' net.parameters = { 'weight': 0.001, 'stim1_delay': 50, 'stim2_delay': 140} cell = Cell(id='passiveCell', neuroml2_source_file='passiveCell.cell.nml') net.cells.append(cell) spkArr1 = Cell(id='spkArr1', neuroml2_source_file='inputs.nml') net.cells.append(spkArr1) stim1 = InputSource(id='stim1', pynn_input='DCSource', parameters={'amplitude':0.4, 'start':'stim1_delay', 'stop':'stim1_delay+5'}) net.input_sources.append(stim1) stim2 = InputSource(id='stim2', pynn_input='DCSource', parameters={'amplitude':0.4, 'start':'stim2_delay', 'stop':'stim2_delay+5'}) net.input_sources.append(stim2) r1 = RectangularRegion(id='region1', x=0,y=0,z=0,width=1000,height=100,depth=1000) net.regions.append(r1) p0 = Population(id='pop0', size=1, component=spkArr1.id, properties={'color':'1 0 0', 'radius':10},random_layout = RandomLayout(region=r1.id)) p1 = Population(id='pop1', size=1, component=cell.id, properties={'color':'0 1 0'},random_layout = RandomLayout(region=r1.id)) net.populations.append(p0)
def generate(ref, np2=0, np5=0, nb2=0, nb5=0, recordTraces='*'): ################################################################################ ### Build new network net = Network(id=ref) net.notes = 'Example: %s...' % ref net.seed = 7890 net.temperature = 32 net.parameters = { 'np2': np2, 'np5': np5, 'nb2': nb2, 'nb5': nb5, 'offset_curr_l2p': -0.05, 'weight_bkg_l2p': 0.01, 'weight_bkg_l5p': 0.01 } l2p_cell = Cell(id='CELL_HH_reduced_L2Pyr', neuroml2_source_file='../CELL_HH_reduced_L2Pyr.cell.nml') net.cells.append(l2p_cell) l5p_cell = Cell(id='CELL_HH_reduced_L5Pyr', neuroml2_source_file='../CELL_HH_reduced_L5Pyr.cell.nml') net.cells.append(l5p_cell) l2b_cell = Cell(id='CELL_HH_simple_L2Basket', neuroml2_source_file='../CELL_HH_simple_L2Basket.cell.nml') net.cells.append(l2b_cell) l5b_cell = Cell(id='CELL_HH_simple_L5Basket', neuroml2_source_file='../CELL_HH_simple_L5Basket.cell.nml') net.cells.append(l5b_cell) input_source_poisson100 = InputSource(id='poissonFiringSyn100Hz', neuroml2_source_file='../inputs.nml') net.input_sources.append(input_source_poisson100) input_offset_curr_l2p = InputSource(id='input_offset_curr_l2p', pynn_input='DCSource', parameters={ 'amplitude': 'offset_curr_l2p', 'start': 0, 'stop': 1e9 }) net.input_sources.append(input_offset_curr_l2p) l2 = RectangularRegion(id='L2', x=0, y=1000, z=0, width=1000, height=10, depth=1000) net.regions.append(l2) l5 = RectangularRegion(id='L5', x=0, y=0, z=0, width=1000, height=10, depth=1000) net.regions.append(l5) #https://github.com/OpenSourceBrain/OpenCortex import opencortex.utils.color as occ pop_l2p = Population(id='pop_l2p', size='np2', component=l2p_cell.id, properties={'color': occ.L23_PRINCIPAL_CELL}, random_layout=RandomLayout(region=l2.id)) net.populations.append(pop_l2p) pop_l5p = Population(id='pop_l5p', size='np5', component=l5p_cell.id, properties={'color': occ.L5_PRINCIPAL_CELL}, random_layout=RandomLayout(region=l5.id)) net.populations.append(pop_l5p) pop_l2b = Population(id='pop_l2b', size='nb2', component=l2b_cell.id, properties={'color': occ.L23_INTERNEURON}, random_layout=RandomLayout(region=l2.id)) net.populations.append(pop_l2b) pop_l5b = Population(id='pop_l5b', size='nb5', component=l5b_cell.id, properties={'color': occ.L5_INTERNEURON}, random_layout=RandomLayout(region=l5.id)) net.populations.append(pop_l5b) # L2 -> L2 _add_projection(pop_l2p, pop_l2b, 'AMPA', delay=0, weight=0.001, probability=0.8, net=net) _add_projection(pop_l2b, pop_l2p, 'L2Pyr_GABAA', delay=0, weight=0.001, probability=0.8, net=net) _add_projection(pop_l2b, pop_l2p, 'L2Pyr_GABAB', delay=0, weight=0.001, probability=0.8, net=net) # L2 -> L5 _add_projection(pop_l2p, pop_l5p, 'L5Pyr_AMPA', delay=0, weight=0.001, probability=0.8, net=net) _add_projection(pop_l2p, pop_l5b, 'AMPA', delay=0, weight=0.001, probability=0.8, net=net) _add_projection(pop_l2b, pop_l5p, 'L5Pyr_GABAA', delay=0, weight=0.001, probability=0.8, net=net) # L5 -> L5 _add_projection(pop_l5p, pop_l5b, 'AMPA', delay=0, weight=0.001, probability=0.8, net=net) _add_projection(pop_l5b, pop_l5p, 'L5Pyr_GABAA', delay=0, weight=0.001, probability=0.8, net=net) _add_projection(pop_l5b, pop_l5p, 'L5Pyr_GABAB', delay=0, weight=0.001, probability=0.8, net=net) net.inputs.append( Input(id='stim_%s' % pop_l2p.id, input_source=input_source_poisson100.id, population=pop_l2p.id, percentage=100, weight='weight_bkg_l2p')) net.inputs.append( Input(id='stim_%s' % pop_l5p.id, input_source=input_source_poisson100.id, population=pop_l5p.id, percentage=100, weight='weight_bkg_l5p')) print(net.to_json()) new_file = net.to_json_file('%s.json' % net.id) ################################################################################ ### Build Simulation object & save as JSON sim = Simulation(id='Sim%s' % net.id, network=new_file, duration='500', seed='1111', dt='0.025', recordTraces={'all': recordTraces}, recordSpikes={'all': '*'}) sim.to_json_file() print(sim.to_json()) return sim, net
cell.parameters = {"tau_refrac": 10} net.cells.append(cell) input_cell = Cell(id="InputCell", pynn_cell="SpikeSourcePoisson") input_cell.parameters = { "start": 0, "duration": 10000000000, "rate": "input_rate" } net.cells.append(input_cell) input_cell_100 = Cell(id="InputCell100", pynn_cell="SpikeSourcePoisson") input_cell_100.parameters = {"start": 0, "duration": 10000000000, "rate": 100} net.cells.append(input_cell_100) input_source_p0 = InputSource(id="poissonFiringSyn", neuroml2_source_file="../test_files/inputs.nml") net.input_sources.append(input_source_p0) input_source1 = InputSource( id="iclamp1", pynn_input="DCSource", parameters={ "amplitude": 0.8, "start": 100.0, "stop": 900.0 }, ) net.input_sources.append(input_source1) pop0 = Population(id="pop0",
properties={'color': '0 0 .9'}, random_layout=RandomLayout(region=r1.id)) ### Append populations to network net.populations.append(pE) net.populations.append(pI) ############################### Inputs (Noise) ################################ # Noise on excitatory neurons stdNoiseE = (sigmaV / R) * (tauE_m**0.5) / (dt**0.5) input_sourceE = InputSource(id='noisyCurrentSourceE', lems_source_file='TestNCS.xml', parameters={ 'mean': '0.0nA', 'stdev': str(stdNoiseE) + 'nA', 'noiseDt': '%sms' % dt, 'delay': '0ms', 'duration': '%sms' % duration }) # Noise on inhibitory neurons stdNoiseI = (sigmaV / R) * (tauI_m**0.5) / (dt**0.5) input_sourceI = InputSource(id='noisyCurrentSourceI', lems_source_file='TestNCS.xml', parameters={ 'mean': '0.0nA', 'stdev': str(stdNoiseI) + 'nA', 'noiseDt': '%sms' % dt, 'delay': '0ms', 'duration': '%sms' % duration })
properties={ 'color': '0 0 0.8', 'radius': 10 }, relative_layout=RelativeLayout(region=r1.id, x=20, y=0, z=0)) net.populations.append(exc_pop) net.populations.append(inh_pop) input_source = InputSource(id='pulseGenerator0', neuroml2_input='PulseGenerator', parameters={ 'amplitude': '0nA', 'delay': '100.0ms', 'duration': '800.0ms' }) net.input_sources.append(input_source) net.inputs.append( Input(id='stim', input_source=input_source.id, population=exc_pop.id, percentage=100)) exc_syn = Synapse(id='rsExc', lems_source_file='Demirtas_Parameters.xml') inh_syn = Synapse(id='rsInh', lems_source_file='Demirtas_Parameters.xml') net.synapses.append(exc_syn) net.synapses.append(inh_syn)