diff --git a/.github/workflows/non-omv.yml b/.github/workflows/non-omv.yml new file mode 100644 index 0000000..ed36379 --- /dev/null +++ b/.github/workflows/non-omv.yml @@ -0,0 +1,43 @@ + +name: Non OMV based tests + +on: + push: + branches: [ master, development, experimental ] + pull_request: + branches: [ master, development, experimental ] + +jobs: + build: + + runs-on: ubuntu-latest + strategy: + fail-fast: false + matrix: + python-version: [ 3.7, 3.9 ] + + steps: + - uses: actions/checkout@v2 + + - name: Set up Python ${{ matrix.python-version }} + uses: actions/setup-python@v2 + with: + python-version: ${{ matrix.python-version }} + + - name: Install OMV + run: | + pip install git+https://github.com/OpenSourceBrain/osb-model-validation + pip install scipy sympy matplotlib cython pandas tables + + + - name: Test one example + run: | + pip install pyelectro pyNeuroML + cd NeuroML2 + python GenerateNeuroMLlite.py # test one example... + + + - name: OMV final version info + run: | + omv list -V # list installed engines + env diff --git a/.github/workflows/omv-ci.yml b/.github/workflows/omv-ci.yml new file mode 100644 index 0000000..63d13ea --- /dev/null +++ b/.github/workflows/omv-ci.yml @@ -0,0 +1,41 @@ + +name: Continuous build using OMV + +on: + push: + branches: [ master, development, experimental ] + pull_request: + branches: [ master, development, experimental ] + +jobs: + build: + + runs-on: ubuntu-latest + strategy: + fail-fast: false + matrix: + python-version: [ 3.7, 3.9 ] + engine: [ jNeuroML, jNeuroML_NEURON, Brian2 ] + + steps: + - uses: actions/checkout@v2 + + - name: Set up Python ${{ matrix.python-version }} + uses: actions/setup-python@v2 + with: + python-version: ${{ matrix.python-version }} + + - name: Install OMV + run: | + pip install git+https://github.com/OpenSourceBrain/osb-model-validation + pip install scipy sympy matplotlib cython pandas tables + pip install pyelectro pyNeuroML + + - name: Run OMV tests on engine ${{ matrix.engine }} + run: | + omv all -V --engine=${{ matrix.engine }} + + - name: OMV final version info + run: | + omv list -V # list installed engines + env diff --git a/.gitignore b/.gitignore index 26db92d..8ce1f99 100644 --- a/.gitignore +++ b/.gitignore @@ -46,3 +46,4 @@ Matlab/*.png /NeuroML2/temp /NeuroML2/SimMejiasFig2_0.json /NeuroML2/MejiasFig2.json +arm64 diff --git a/.travis.yml b/.travis.yml index 468e78d..2019b81 100644 --- a/.travis.yml +++ b/.travis.yml @@ -3,30 +3,30 @@ sudo: false addons: apt: packages: - - python-numpy - - python-scipy - - python-matplotlib + - python-numpy + - python-scipy + - python-matplotlib - python-sympy - python-tk - - python-tables + - python-tables - python-tornado - + language: python -python: 2.7 +python: + - 2.7 + - 3.8 + - -virtualenv: - system_site_packages: true env: - OMV_ENGINE=jNeuroML - OMV_ENGINE=jNeuroML_NEURON - - OMV_ENGINE=Brian # Python script runs with Brian; should be just Python, but Brian engine is quick to set up... + - OMV_ENGINE=Brian2 # Python script runs with Brian; should be just Python, but Brian engine is quick to set up... -install: +install: - pip install git+https://github.com/OpenSourceBrain/osb-model-validation - + # install pyelectro - pip install git+https://github.com/NeuralEnsemble/pyelectro.git @@ -40,9 +40,4 @@ install: script: - omv all -V - - omv list -V - - - - - + - omv list -V diff --git a/NeuroML2/.test.gennmllite.omt b/NeuroML2/.test.gennmllite.omt index fa807f1..4a9f0c1 100644 --- a/NeuroML2/.test.gennmllite.omt +++ b/NeuroML2/.test.gennmllite.omt @@ -1,5 +1,4 @@ # Script for running automated tests on OSB using Travis-CI, see https://github.com/OpenSourceBrain/osb-model-validation - -target: GenerateNeuroMLlite.py -engine: Brian +target: GenerateNeuroMLlite.py +engine: Brian2 diff --git a/NeuroML2/GenerateNeuroMLlite.py b/NeuroML2/GenerateNeuroMLlite.py index e43fbe8..7e255c8 100644 --- a/NeuroML2/GenerateNeuroMLlite.py +++ b/NeuroML2/GenerateNeuroMLlite.py @@ -8,10 +8,10 @@ sys.path.append("../Python") ''' - Get a color for the area/region, possibly depending on level in functional hierarchy + Get a color for the area/region, possibly depending on level in functional hierarchy ''' def get_scaled_color(area): - + ranking = {} for l in open('../Python/interareal/areas_ranking.txt'): if not 'region' in l: @@ -69,12 +69,12 @@ def generate(wee = 1.5, wei = -3.25, wie = 3.5, wii = -2.5, areas=['V1'], sigma23=.3, sigma56=.45, noise=True, duration=1000, dt=0.2, Iext=[[0, 0]], count=0, net_id='MejiasFig2', conn=None): - + scale = 1 centres = {} # From https://scalablebrainatlas.incf.org/macaque/MERetal14 - f = open('MERetal14_on_F99.tsv') + f = open('MERetal14_on_F99.tsv') for l in f: w = l.split() id = w[0].replace('-','_').lower() @@ -141,12 +141,12 @@ def generate(wee = 1.5, wei = -3.25, wie = 3.5, wii = -2.5, 'FB_l5e_l2e': FB_l5e_l2e, 'sigma23': sigma23, 'sigma56': sigma56 } - + delay_stim = '0ms' duration_stim = '1e9ms' net.parameters['delay_stim'] = delay_stim net.parameters['duration_stim'] = duration_stim - + suffix = '' if noise else '_flat' @@ -159,8 +159,8 @@ def generate(wee = 1.5, wei = -3.25, wie = 3.5, wii = -2.5, quit() l23ecell = Cell(id='L23_E_comp'+suffix+suffix2, lems_source_file='Prototypes.xml') - l23icell = Cell(id='L23_I_comp'+suffix+suffix2, lems_source_file='RateBased.xml') # hack to include this file too. - l56ecell = Cell(id='L56_E_comp'+suffix+suffix2, lems_source_file='NoisyCurrentSource.xml') # hack to include this file too. + l23icell = Cell(id='L23_I_comp'+suffix+suffix2, lems_source_file='Prototypes.xml') # hack to include this file too. + l56ecell = Cell(id='L56_E_comp'+suffix+suffix2, lems_source_file='Prototypes.xml') # hack to include this file too. l56icell = Cell(id='L56_I_comp'+suffix+suffix2, lems_source_file='Prototypes.xml') @@ -193,7 +193,7 @@ def internal_connections(pops, W, pre_pop, post_pop): random_connectivity=RandomConnectivity(probability=1))) else: print(' Ignoring, as weight=0...') - + n_areas = len(areas) @@ -276,7 +276,11 @@ def internal_connections(pops, W, pre_pop, post_pop): net.synapses.append(Synapse(id='rs', - lems_source_file='Prototypes.xml')) + lems_source_file='Prototypes.xml')) + + net.synapses.append(Synapse(id='silent1', + lems_source_file='RateBased.xml')) # silent synapse not used, just using this to include RateBased.xml... + # Background input @@ -285,62 +289,62 @@ def internal_connections(pops, W, pre_pop, post_pop): area_edge = 5 area_spacing = 10 layer_thickness = 5 - + l23e_radius = .5 l23i_radius = .35 l56e_radius = .6 l56i_radius = .35 - + for area_idx, area in enumerate(areas): - + if len(areas)>4: - + region_color = get_scaled_color(area) - + p = centres[area.replace('/','_').lower()] - + x_offset = area_idx*(area_edge + area_spacing) region = RectangularRegion(id='%s' %(area), x=p[0], y=p[1], z=p[2], width=area_edge, height=30, depth=area_edge) net.regions.append(region) l23_region = region l56_region = region - + l23e_color = region_color l23i_color = region_color l56e_color = region_color l56i_color = region_color - + separation = 1.5 - + l23e_offset_x = 0 l23i_offset_x = 0 l56e_offset_x = 0 l56i_offset_x = 0 - + l23e_offset_y = 0 l23i_offset_y = separation l56e_offset_y = 0 l56i_offset_y = separation - + l23e_offset_z = separation l23i_offset_z = separation l56e_offset_z = 0 l56i_offset_z = 0 - + else: - + # Add populations x_offset = area_idx*(area_edge + area_spacing) l23_region = RectangularRegion(id='%s_L23' %(area), x=x_offset, y=layer_thickness, z=0, width=area_edge, height=30, depth=area_edge) net.regions.append(l23_region) l56_region = RectangularRegion(id='%s_L56' %(area), x=x_offset, y=0, z=0, width=area_edge, height=layer_thickness, depth=area_edge) net.regions.append(l56_region) - + l23e_color = color_str['l23e'] l23i_color = color_str['l23i'] l56e_color = color_str['l56e'] l56i_color = color_str['l56i'] - + l23e_offset_x = 0 l23i_offset_x = area_edge l56e_offset_x = 0 @@ -353,32 +357,32 @@ def internal_connections(pops, W, pre_pop, post_pop): l23i_offset_z = 0 l56e_offset_z = 0 l56i_offset_z = 0 - + safe_area = get_safe_area_name(area) - pl23e = Population(id='%s_L23_E' %(safe_area), - size=1, - component=l23ecell.id, + pl23e = Population(id='%s_L23_E' %(safe_area), + size=1, + component=l23ecell.id, properties={'color':l23e_color,'radius':l23e_radius}, relative_layout = RelativeLayout(region=l23_region.id,x=l23e_offset_x,y=l23e_offset_y,z=l23e_offset_z)) pops.append(pl23e) - - pl23i = Population(id='%s_L23_I' %(safe_area), - size=1, - component=l23icell.id, + + pl23i = Population(id='%s_L23_I' %(safe_area), + size=1, + component=l23icell.id, properties={'color':l23i_color,'radius':l23i_radius}, relative_layout = RelativeLayout(region=l23_region.id,x=l23i_offset_x,y=l23i_offset_y,z=l23i_offset_z)) pops.append(pl23i) - pl56e = Population(id='%s_L56_E' %(safe_area), - size=1, - component=l56ecell.id, + pl56e = Population(id='%s_L56_E' %(safe_area), + size=1, + component=l56ecell.id, properties={'color':l56e_color,'radius':l56e_radius}, relative_layout = RelativeLayout(region=l56_region.id,x=l56e_offset_x,y=l56e_offset_y,z=l56e_offset_z)) pops.append(pl56e) - - pl56i = Population(id='%s_L56_I' %(safe_area), - size=1, - component=l56icell.id, + + pl56i = Population(id='%s_L56_I' %(safe_area), + size=1, + component=l56icell.id, properties={'color':l56i_color,'radius':l56i_radius}, relative_layout = RelativeLayout(region=l56_region.id,x=l56i_offset_x,y=l56i_offset_y,z=l56i_offset_z)) pops.append(pl56i) @@ -407,11 +411,11 @@ def internal_connections(pops, W, pre_pop, post_pop): input_source=input_source_l23.id, population=pl23e.id, percentage=100)) - + insource_id = 'iclamp_%s_L56'%safe_area insource_param = '%s_amp'%(insource_id) net.parameters[insource_param] = '%snA'%Iext[area_idx][1] - + input_source_l56 = InputSource(id=insource_id, neuroml2_input='PulseGenerator', parameters={'amplitude':insource_param, 'delay':'delay_stim', 'duration':'duration_stim'}) @@ -442,7 +446,7 @@ def internal_connections(pops, W, pre_pop, post_pop): duration=duration, dt=dt, seed=count, - recordRates={'all':'*'}) + record_rates={'all':'*'}) sim.to_json_file() @@ -618,7 +622,7 @@ def internal_connections(pops, W, pre_pop, post_pop): histlabels.append(pop) histcolors.append(pop_colors[pop]) - print colors + print(colors) pynml.generate_plot(xs, ys, a, @@ -714,7 +718,7 @@ def internal_connections(pops, W, pre_pop, post_pop): # generated the pickle file with the results). simulation_file = '../Python/debug/interlaminar_a/simulation.pckl' with open(simulation_file, 'rb') as filename: - pyrate = pickle.load(filename) + pyrate = pickle.load(filename, encoding='latin1') dt = 2e-01 transient = 10 @@ -959,7 +963,7 @@ def internal_connections(pops, W, pre_pop, post_pop): duration = 4e04 minfreq_l23 = 30. # Hz minfreq_l56 = 3. # Hz - + net_id='Interareal' @@ -1043,13 +1047,13 @@ def internal_connections(pops, W, pre_pop, post_pop): rate_rest_all = np.zeros((len(traces_rest_stats[0]) - 1, len(traces_rest_stats[0]['V1_L23_E/0/L23_E_comp/r']), stats)) for stat in range(stats): for idx, key in enumerate(sorted(traces_rest_stats[stat].keys())): - if key is not 't': + if key != 't': rate_rest_all[idx, :, stat] = traces_rest_stats[stat][key] # With stimulus rate_stim_all = np.zeros((len(traces_rest_stats[0]) - 1, len(traces_rest_stats[0]['V1_L23_E/0/L23_E_comp/r']), stats)) for stat in range(stats): for idx, key in enumerate(sorted(traces_stim_stats[stat].keys())): - if key is not 't': + if key != 't': rate_stim_all[idx, :, stat] = traces_stim_stats[stat][key] # TODO: Make this more obvious @@ -1079,7 +1083,7 @@ def internal_connections(pops, W, pre_pop, post_pop): ranking = pd.read_csv('../Python/interareal/areas_ranking.txt') with open('../Python/interareal/connectivity.pickle', 'rb') as handle: - conn = pickle.load(handle) + conn = pickle.load(handle, encoding='latin1') @@ -1122,7 +1126,7 @@ def internal_connections(pops, W, pre_pop, post_pop): # Run in some simulators check_to_generate_or_run(sys.argv, sim_rest) simulator = 'jNeuroML' - + else: sim, net = generate() @@ -1132,4 +1136,3 @@ def internal_connections(pops, W, pre_pop, post_pop): check_to_generate_or_run(sys.argv, sim) - diff --git a/NeuroML2/Interareal.json b/NeuroML2/Interareal.json index e6bc369..f615b15 100644 --- a/NeuroML2/Interareal.json +++ b/NeuroML2/Interareal.json @@ -1,591 +1,502 @@ { "Interareal": { - "version": "NeuroMLlite v0.1.8", + "version": "NeuroMLlite v0.5.3", + "notes": "Testing...", "parameters": { - "wie": -3.25, - "iclamp_V1_L23_amp": "17nA", - "l5e_l2i": 0.75, - "FF_l2e_l2e": 1.0, - "l2e_l5e": 1, - "wii": -2.5, - "FB_l5e_l2e": 0.1, - "wee": 1.5, - "FB_l5e_l5e": 0.9, - "duration_stim": "1e9ms", - "FB_l5e_l5i": 0.5, - "sigma56": 0.45, - "delay_stim": "0ms", - "FB_l5e_l2i": 0.5, - "iclamp_V1_L56_amp": "19nA", - "wei": 3.5, - "sigma23": 0.3 - }, - "notes": "Testing...", - "cells": [ - { - "L23_E_comp": { - "lems_source_file": "Prototypes.xml" - } - }, - { - "L23_I_comp": { - "lems_source_file": "RateBased.xml" - } - }, - { - "L56_E_comp": { - "lems_source_file": "NoisyCurrentSource.xml" - } - }, - { - "L56_I_comp": { - "lems_source_file": "Prototypes.xml" - } + "wee": 1.5, + "wei": 3.5, + "wie": -3.25, + "wii": -2.5, + "l5e_l2i": 0.75, + "l2e_l5e": 1, + "FF_l2e_l2e": 1.0, + "FB_l5e_l2i": 0.5, + "FB_l5e_l5e": 0.9, + "FB_l5e_l5i": 0.5, + "FB_l5e_l2e": 0.1, + "sigma23": 0.3, + "sigma56": 0.45, + "delay_stim": "0ms", + "duration_stim": "1e9ms", + "iclamp_V1_L23_amp": "17nA", + "iclamp_V1_L56_amp": "19nA" + }, + "cells": { + "L23_E_comp": { + "lems_source_file": "Prototypes.xml" + }, + "L23_I_comp": { + "lems_source_file": "Prototypes.xml" + }, + "L56_E_comp": { + "lems_source_file": "Prototypes.xml" + }, + "L56_I_comp": { + "lems_source_file": "Prototypes.xml" } - ], - "synapses": [ - { - "rs": { - "lems_source_file": "Prototypes.xml" - } + }, + "synapses": { + "rs": { + "lems_source_file": "Prototypes.xml" + }, + "silent1": { + "lems_source_file": "RateBased.xml" } - ], - "input_sources": [ - { - "iclamp_V1_L23": { - "neuroml2_input": "PulseGenerator", - "parameters": { - "delay": "delay_stim", - "duration": "duration_stim", - "amplitude": "iclamp_V1_L23_amp" - } - } - }, - { - "iclamp_V1_L56": { - "neuroml2_input": "PulseGenerator", - "parameters": { - "delay": "delay_stim", - "duration": "duration_stim", - "amplitude": "iclamp_V1_L56_amp" - } - } + }, + "input_sources": { + "iclamp_V1_L23": { + "parameters": { + "amplitude": "iclamp_V1_L23_amp", + "delay": "delay_stim", + "duration": "duration_stim" + }, + "neuroml2_input": "PulseGenerator" + }, + "iclamp_V1_L56": { + "parameters": { + "amplitude": "iclamp_V1_L56_amp", + "delay": "delay_stim", + "duration": "duration_stim" + }, + "neuroml2_input": "PulseGenerator" } - ], - "regions": [ - { - "V1_L23": { - "x": 0.0, - "y": 5.0, - "z": 0.0, - "width": 5.0, - "height": 30.0, - "depth": 5.0 - } - }, - { - "V1_L56": { - "x": 0.0, - "y": 0.0, - "z": 0.0, - "width": 5.0, - "height": 5.0, - "depth": 5.0 - } - }, - { - "V4_L23": { - "x": 15.0, - "y": 5.0, - "z": 0.0, - "width": 5.0, - "height": 30.0, - "depth": 5.0 - } - }, - { - "V4_L56": { - "x": 15.0, - "y": 0.0, - "z": 0.0, - "width": 5.0, - "height": 5.0, - "depth": 5.0 - } + }, + "regions": { + "V1_L23": { + "x": 0.0, + "y": 5.0, + "z": 0.0, + "width": 5.0, + "height": 30.0, + "depth": 5.0 + }, + "V1_L56": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "width": 5.0, + "height": 5.0, + "depth": 5.0 + }, + "V4_L23": { + "x": 15.0, + "y": 5.0, + "z": 0.0, + "width": 5.0, + "height": 30.0, + "depth": 5.0 + }, + "V4_L56": { + "x": 15.0, + "y": 0.0, + "z": 0.0, + "width": 5.0, + "height": 5.0, + "depth": 5.0 } - ], - "populations": [ - { - "V1_L23_E": { - "size": 1, - "component": "L23_E_comp", - "properties": { - "color": ".8 0 0", - "radius": 0.5 - }, - "relative_layout": { - "region": "V1_L23", - "x": 0.0, - "y": 2.33333333333, - "z": 0.0 - } - } - }, - { - "V1_L23_I": { - "size": 1, - "component": "L23_I_comp", - "properties": { - "color": "0 0 .8", - "radius": 0.35 - }, - "relative_layout": { - "region": "V1_L23", - "x": 5.0, - "y": 1.66666666667, - "z": 0.0 - } - } - }, - { - "V1_L56_E": { - "size": 1, - "component": "L56_E_comp", - "properties": { - "color": "1 .2 0", - "radius": 0.6 - }, - "relative_layout": { - "region": "V1_L56", - "x": 0.0, - "y": 2.33333333333, - "z": 0.0 - } - } - }, - { - "V1_L56_I": { - "size": 1, - "component": "L56_I_comp", - "properties": { - "color": "0 .2 1", - "radius": 0.35 - }, - "relative_layout": { - "region": "V1_L56", - "x": 5.0, - "y": 1.66666666667, - "z": 0.0 - } - } - }, - { - "V4_L23_E": { - "size": 1, - "component": "L23_E_comp", - "properties": { - "color": ".8 0 0", - "radius": 0.5 - }, - "relative_layout": { - "region": "V4_L23", - "x": 0.0, - "y": 2.33333333333, - "z": 0.0 - } - } - }, - { - "V4_L23_I": { - "size": 1, - "component": "L23_I_comp", - "properties": { - "color": "0 0 .8", - "radius": 0.35 - }, - "relative_layout": { - "region": "V4_L23", - "x": 5.0, - "y": 1.66666666667, - "z": 0.0 - } - } - }, - { - "V4_L56_E": { - "size": 1, - "component": "L56_E_comp", - "properties": { - "color": "1 .2 0", - "radius": 0.6 - }, - "relative_layout": { - "region": "V4_L56", - "x": 0.0, - "y": 2.33333333333, - "z": 0.0 - } - } - }, - { - "V4_L56_I": { - "size": 1, - "component": "L56_I_comp", - "properties": { - "color": "0 .2 1", - "radius": 0.35 - }, - "relative_layout": { - "region": "V4_L56", - "x": 5.0, - "y": 1.66666666667, - "z": 0.0 - } + }, + "populations": { + "V1_L23_E": { + "size": 1, + "component": "L23_E_comp", + "properties": { + "color": ".8 0 0", + "radius": 0.5 + }, + "relative_layout": { + "region": "V1_L23", + "x": 0.0, + "y": 2.3333333333333335, + "z": 0.0 + } + }, + "V1_L23_I": { + "size": 1, + "component": "L23_I_comp", + "properties": { + "color": "0 0 .8", + "radius": 0.35 + }, + "relative_layout": { + "region": "V1_L23", + "x": 5.0, + "y": 1.6666666666666667, + "z": 0.0 + } + }, + "V1_L56_E": { + "size": 1, + "component": "L56_E_comp", + "properties": { + "color": "1 .2 0", + "radius": 0.6 + }, + "relative_layout": { + "region": "V1_L56", + "x": 0.0, + "y": 2.3333333333333335, + "z": 0.0 + } + }, + "V1_L56_I": { + "size": 1, + "component": "L56_I_comp", + "properties": { + "color": "0 .2 1", + "radius": 0.35 + }, + "relative_layout": { + "region": "V1_L56", + "x": 5.0, + "y": 1.6666666666666667, + "z": 0.0 + } + }, + "V4_L23_E": { + "size": 1, + "component": "L23_E_comp", + "properties": { + "color": ".8 0 0", + "radius": 0.5 + }, + "relative_layout": { + "region": "V4_L23", + "x": 0.0, + "y": 2.3333333333333335, + "z": 0.0 + } + }, + "V4_L23_I": { + "size": 1, + "component": "L23_I_comp", + "properties": { + "color": "0 0 .8", + "radius": 0.35 + }, + "relative_layout": { + "region": "V4_L23", + "x": 5.0, + "y": 1.6666666666666667, + "z": 0.0 + } + }, + "V4_L56_E": { + "size": 1, + "component": "L56_E_comp", + "properties": { + "color": "1 .2 0", + "radius": 0.6 + }, + "relative_layout": { + "region": "V4_L56", + "x": 0.0, + "y": 2.3333333333333335, + "z": 0.0 + } + }, + "V4_L56_I": { + "size": 1, + "component": "L56_I_comp", + "properties": { + "color": "0 .2 1", + "radius": 0.35 + }, + "relative_layout": { + "region": "V4_L56", + "x": 5.0, + "y": 1.6666666666666667, + "z": 0.0 } } - ], - "projections": [ - { - "proj_V1_L23_E_V1_L23_E": { - "presynaptic": "V1_L23_E", - "postsynaptic": "V1_L23_E", - "synapse": "rs", - "type": "continuousProjection", - "delay": 0, - "weight": "wee", - "random_connectivity": { - "probability": 1.0 - } - } - }, - { - "proj_V1_L23_E_V1_L23_I": { - "presynaptic": "V1_L23_E", - "postsynaptic": "V1_L23_I", - "synapse": "rs", - "type": "continuousProjection", - "delay": 0, - "weight": "wei", - "random_connectivity": { - "probability": 1.0 - } - } - }, - { - "proj_V1_L23_E_V1_L56_E": { - "presynaptic": "V1_L23_E", - "postsynaptic": "V1_L56_E", - "synapse": "rs", - "type": "continuousProjection", - "delay": 0, - "weight": "l2e_l5e", - "random_connectivity": { - "probability": 1.0 - } - } - }, - { - "proj_V1_L23_E_V4_L23_E": { - "presynaptic": "V1_L23_E", - "postsynaptic": "V4_L23_E", - "synapse": "rs", - "type": "continuousProjection", - "delay": 0, - "weight": "FF_l2e_l2e", - "random_connectivity": { - "probability": 1.0 - } - } - }, - { - "proj_V1_L23_I_V1_L23_E": { - "presynaptic": "V1_L23_I", - "postsynaptic": "V1_L23_E", - "synapse": "rs", - "type": "continuousProjection", - "delay": 0, - "weight": "wie", - "random_connectivity": { - "probability": 1.0 - } - } - }, - { - "proj_V1_L23_I_V1_L23_I": { - "presynaptic": "V1_L23_I", - "postsynaptic": "V1_L23_I", - "synapse": "rs", - "type": "continuousProjection", - "delay": 0, - "weight": "wii", - "random_connectivity": { - "probability": 1.0 - } - } - }, - { - "proj_V1_L56_E_V1_L23_I": { - "presynaptic": "V1_L56_E", - "postsynaptic": "V1_L23_I", - "synapse": "rs", - "type": "continuousProjection", - "delay": 0, - "weight": "l5e_l2i", - "random_connectivity": { - "probability": 1.0 - } - } - }, - { - "proj_V1_L56_E_V1_L56_E": { - "presynaptic": "V1_L56_E", - "postsynaptic": "V1_L56_E", - "synapse": "rs", - "type": "continuousProjection", - "delay": 0, - "weight": "wee", - "random_connectivity": { - "probability": 1.0 - } - } - }, - { - "proj_V1_L56_E_V1_L56_I": { - "presynaptic": "V1_L56_E", - "postsynaptic": "V1_L56_I", - "synapse": "rs", - "type": "continuousProjection", - "delay": 0, - "weight": "wei", - "random_connectivity": { - "probability": 1.0 - } - } - }, - { - "proj_V1_L56_I_V1_L56_E": { - "presynaptic": "V1_L56_I", - "postsynaptic": "V1_L56_E", - "synapse": "rs", - "type": "continuousProjection", - "delay": 0, - "weight": "wie", - "random_connectivity": { - "probability": 1.0 - } - } - }, - { - "proj_V1_L56_I_V1_L56_I": { - "presynaptic": "V1_L56_I", - "postsynaptic": "V1_L56_I", - "synapse": "rs", - "type": "continuousProjection", - "delay": 0, - "weight": "wii", - "random_connectivity": { - "probability": 1.0 - } - } - }, - { - "proj_V4_L23_E_V4_L23_E": { - "presynaptic": "V4_L23_E", - "postsynaptic": "V4_L23_E", - "synapse": "rs", - "type": "continuousProjection", - "delay": 0, - "weight": "wee", - "random_connectivity": { - "probability": 1.0 - } - } - }, - { - "proj_V4_L23_E_V4_L23_I": { - "presynaptic": "V4_L23_E", - "postsynaptic": "V4_L23_I", - "synapse": "rs", - "type": "continuousProjection", - "delay": 0, - "weight": "wei", - "random_connectivity": { - "probability": 1.0 - } - } - }, - { - "proj_V4_L23_E_V4_L56_E": { - "presynaptic": "V4_L23_E", - "postsynaptic": "V4_L56_E", - "synapse": "rs", - "type": "continuousProjection", - "delay": 0, - "weight": "l2e_l5e", - "random_connectivity": { - "probability": 1.0 - } - } - }, - { - "proj_V4_L23_I_V4_L23_E": { - "presynaptic": "V4_L23_I", - "postsynaptic": "V4_L23_E", - "synapse": "rs", - "type": "continuousProjection", - "delay": 0, - "weight": "wie", - "random_connectivity": { - "probability": 1.0 - } - } - }, - { - "proj_V4_L23_I_V4_L23_I": { - "presynaptic": "V4_L23_I", - "postsynaptic": "V4_L23_I", - "synapse": "rs", - "type": "continuousProjection", - "delay": 0, - "weight": "wii", - "random_connectivity": { - "probability": 1.0 - } - } - }, - { - "proj_V4_L56_E_V1_L23_E": { - "presynaptic": "V4_L56_E", - "postsynaptic": "V1_L23_E", - "synapse": "rs", - "type": "continuousProjection", - "delay": 0, - "weight": "FB_l5e_l2e", - "random_connectivity": { - "probability": 1.0 - } - } - }, - { - "proj_V4_L56_E_V1_L23_I": { - "presynaptic": "V4_L56_E", - "postsynaptic": "V1_L23_I", - "synapse": "rs", - "type": "continuousProjection", - "delay": 0, - "weight": "FB_l5e_l2i", - "random_connectivity": { - "probability": 1.0 - } - } - }, - { - "proj_V4_L56_E_V1_L56_E": { - "presynaptic": "V4_L56_E", - "postsynaptic": "V1_L56_E", - "synapse": "rs", - "type": "continuousProjection", - "delay": 0, - "weight": "FB_l5e_l5e", - "random_connectivity": { - "probability": 1.0 - } - } - }, - { - "proj_V4_L56_E_V1_L56_I": { - "presynaptic": "V4_L56_E", - "postsynaptic": "V1_L56_I", - "synapse": "rs", - "type": "continuousProjection", - "delay": 0, - "weight": "FB_l5e_l2i", - "random_connectivity": { - "probability": 1.0 - } - } - }, - { - "proj_V4_L56_E_V4_L23_I": { - "presynaptic": "V4_L56_E", - "postsynaptic": "V4_L23_I", - "synapse": "rs", - "type": "continuousProjection", - "delay": 0, - "weight": "l5e_l2i", - "random_connectivity": { - "probability": 1.0 - } - } - }, - { - "proj_V4_L56_E_V4_L56_E": { - "presynaptic": "V4_L56_E", - "postsynaptic": "V4_L56_E", - "synapse": "rs", - "type": "continuousProjection", - "delay": 0, - "weight": "wee", - "random_connectivity": { - "probability": 1.0 - } - } - }, - { - "proj_V4_L56_E_V4_L56_I": { - "presynaptic": "V4_L56_E", - "postsynaptic": "V4_L56_I", - "synapse": "rs", - "type": "continuousProjection", - "delay": 0, - "weight": "wei", - "random_connectivity": { - "probability": 1.0 - } - } - }, - { - "proj_V4_L56_I_V4_L56_E": { - "presynaptic": "V4_L56_I", - "postsynaptic": "V4_L56_E", - "synapse": "rs", - "type": "continuousProjection", - "delay": 0, - "weight": "wie", - "random_connectivity": { - "probability": 1.0 - } - } - }, - { - "proj_V4_L56_I_V4_L56_I": { - "presynaptic": "V4_L56_I", - "postsynaptic": "V4_L56_I", - "synapse": "rs", - "type": "continuousProjection", - "delay": 0, - "weight": "wii", - "random_connectivity": { - "probability": 1.0 - } + }, + "projections": { + "proj_V1_L23_E_V1_L23_E": { + "presynaptic": "V1_L23_E", + "postsynaptic": "V1_L23_E", + "synapse": "rs", + "type": "continuousProjection", + "delay": 0, + "weight": "wee", + "random_connectivity": { + "probability": 1 + } + }, + "proj_V1_L23_E_V1_L23_I": { + "presynaptic": "V1_L23_E", + "postsynaptic": "V1_L23_I", + "synapse": "rs", + "type": "continuousProjection", + "delay": 0, + "weight": "wei", + "random_connectivity": { + "probability": 1 + } + }, + "proj_V1_L23_E_V1_L56_E": { + "presynaptic": "V1_L23_E", + "postsynaptic": "V1_L56_E", + "synapse": "rs", + "type": "continuousProjection", + "delay": 0, + "weight": "l2e_l5e", + "random_connectivity": { + "probability": 1 + } + }, + "proj_V1_L23_E_V4_L23_E": { + "presynaptic": "V1_L23_E", + "postsynaptic": "V4_L23_E", + "synapse": "rs", + "type": "continuousProjection", + "delay": 0, + "weight": "FF_l2e_l2e", + "random_connectivity": { + "probability": 1 + } + }, + "proj_V1_L23_I_V1_L23_E": { + "presynaptic": "V1_L23_I", + "postsynaptic": "V1_L23_E", + "synapse": "rs", + "type": "continuousProjection", + "delay": 0, + "weight": "wie", + "random_connectivity": { + "probability": 1 + } + }, + "proj_V1_L23_I_V1_L23_I": { + "presynaptic": "V1_L23_I", + "postsynaptic": "V1_L23_I", + "synapse": "rs", + "type": "continuousProjection", + "delay": 0, + "weight": "wii", + "random_connectivity": { + "probability": 1 + } + }, + "proj_V1_L56_E_V1_L23_I": { + "presynaptic": "V1_L56_E", + "postsynaptic": "V1_L23_I", + "synapse": "rs", + "type": "continuousProjection", + "delay": 0, + "weight": "l5e_l2i", + "random_connectivity": { + "probability": 1 + } + }, + "proj_V1_L56_E_V1_L56_E": { + "presynaptic": "V1_L56_E", + "postsynaptic": "V1_L56_E", + "synapse": "rs", + "type": "continuousProjection", + "delay": 0, + "weight": "wee", + "random_connectivity": { + "probability": 1 + } + }, + "proj_V1_L56_E_V1_L56_I": { + "presynaptic": "V1_L56_E", + "postsynaptic": "V1_L56_I", + "synapse": "rs", + "type": "continuousProjection", + "delay": 0, + "weight": "wei", + "random_connectivity": { + "probability": 1 + } + }, + "proj_V1_L56_I_V1_L56_E": { + "presynaptic": "V1_L56_I", + "postsynaptic": "V1_L56_E", + "synapse": "rs", + "type": "continuousProjection", + "delay": 0, + "weight": "wie", + "random_connectivity": { + "probability": 1 + } + }, + "proj_V1_L56_I_V1_L56_I": { + "presynaptic": "V1_L56_I", + "postsynaptic": "V1_L56_I", + "synapse": "rs", + "type": "continuousProjection", + "delay": 0, + "weight": "wii", + "random_connectivity": { + "probability": 1 + } + }, + "proj_V4_L23_E_V4_L23_E": { + "presynaptic": "V4_L23_E", + "postsynaptic": "V4_L23_E", + "synapse": "rs", + "type": "continuousProjection", + "delay": 0, + "weight": "wee", + "random_connectivity": { + "probability": 1 + } + }, + "proj_V4_L23_E_V4_L23_I": { + "presynaptic": "V4_L23_E", + "postsynaptic": "V4_L23_I", + "synapse": "rs", + "type": "continuousProjection", + "delay": 0, + "weight": "wei", + "random_connectivity": { + "probability": 1 + } + }, + "proj_V4_L23_E_V4_L56_E": { + "presynaptic": "V4_L23_E", + "postsynaptic": "V4_L56_E", + "synapse": "rs", + "type": "continuousProjection", + "delay": 0, + "weight": "l2e_l5e", + "random_connectivity": { + "probability": 1 + } + }, + "proj_V4_L23_I_V4_L23_E": { + "presynaptic": "V4_L23_I", + "postsynaptic": "V4_L23_E", + "synapse": "rs", + "type": "continuousProjection", + "delay": 0, + "weight": "wie", + "random_connectivity": { + "probability": 1 + } + }, + "proj_V4_L23_I_V4_L23_I": { + "presynaptic": "V4_L23_I", + "postsynaptic": "V4_L23_I", + "synapse": "rs", + "type": "continuousProjection", + "delay": 0, + "weight": "wii", + "random_connectivity": { + "probability": 1 + } + }, + "proj_V4_L56_E_V1_L23_E": { + "presynaptic": "V4_L56_E", + "postsynaptic": "V1_L23_E", + "synapse": "rs", + "type": "continuousProjection", + "delay": 0, + "weight": "FB_l5e_l2e", + "random_connectivity": { + "probability": 1 + } + }, + "proj_V4_L56_E_V1_L23_I": { + "presynaptic": "V4_L56_E", + "postsynaptic": "V1_L23_I", + "synapse": "rs", + "type": "continuousProjection", + "delay": 0, + "weight": "FB_l5e_l2i", + "random_connectivity": { + "probability": 1 + } + }, + "proj_V4_L56_E_V1_L56_E": { + "presynaptic": "V4_L56_E", + "postsynaptic": "V1_L56_E", + "synapse": "rs", + "type": "continuousProjection", + "delay": 0, + "weight": "FB_l5e_l5e", + "random_connectivity": { + "probability": 1 + } + }, + "proj_V4_L56_E_V1_L56_I": { + "presynaptic": "V4_L56_E", + "postsynaptic": "V1_L56_I", + "synapse": "rs", + "type": "continuousProjection", + "delay": 0, + "weight": "FB_l5e_l2i", + "random_connectivity": { + "probability": 1 + } + }, + "proj_V4_L56_E_V4_L23_I": { + "presynaptic": "V4_L56_E", + "postsynaptic": "V4_L23_I", + "synapse": "rs", + "type": "continuousProjection", + "delay": 0, + "weight": "l5e_l2i", + "random_connectivity": { + "probability": 1 + } + }, + "proj_V4_L56_E_V4_L56_E": { + "presynaptic": "V4_L56_E", + "postsynaptic": "V4_L56_E", + "synapse": "rs", + "type": "continuousProjection", + "delay": 0, + "weight": "wee", + "random_connectivity": { + "probability": 1 + } + }, + "proj_V4_L56_E_V4_L56_I": { + "presynaptic": "V4_L56_E", + "postsynaptic": "V4_L56_I", + "synapse": "rs", + "type": "continuousProjection", + "delay": 0, + "weight": "wei", + "random_connectivity": { + "probability": 1 + } + }, + "proj_V4_L56_I_V4_L56_E": { + "presynaptic": "V4_L56_I", + "postsynaptic": "V4_L56_E", + "synapse": "rs", + "type": "continuousProjection", + "delay": 0, + "weight": "wie", + "random_connectivity": { + "probability": 1 + } + }, + "proj_V4_L56_I_V4_L56_I": { + "presynaptic": "V4_L56_I", + "postsynaptic": "V4_L56_I", + "synapse": "rs", + "type": "continuousProjection", + "delay": 0, + "weight": "wii", + "random_connectivity": { + "probability": 1 } } - ], - "inputs": [ - { - "modulation_V1_L23_E": { - "input_source": "iclamp_V1_L23", - "population": "V1_L23_E", - "percentage": 100.0 - } - }, - { - "modulation_V1_L56_E": { - "input_source": "iclamp_V1_L56", - "population": "V1_L56_E", - "percentage": 100.0 - } + }, + "inputs": { + "modulation_V1_L23_E": { + "input_source": "iclamp_V1_L23", + "population": "V1_L23_E", + "percentage": 100.0 + }, + "modulation_V1_L56_E": { + "input_source": "iclamp_V1_L56", + "population": "V1_L56_E", + "percentage": 100.0 } - ] + } } } \ No newline at end of file diff --git a/NeuroML2/Interareal.net.nml b/NeuroML2/Interareal.net.nml index 95e1eee..915d1e2 100644 --- a/NeuroML2/Interareal.net.nml +++ b/NeuroML2/Interareal.net.nml @@ -1,5 +1,5 @@ - - Generated by NeuroMLlite v0.1.8 + + Generated by NeuroMLlite v0.5.3 Generated network: Interareal Generation seed: 1234 NeuroMLlite parameters: @@ -23,6 +23,7 @@ + @@ -52,70 +53,70 @@ Testing... - - + + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + diff --git a/NeuroML2/Interlaminar.json b/NeuroML2/Interlaminar.json index 1579562..ae89675 100644 --- a/NeuroML2/Interlaminar.json +++ b/NeuroML2/Interlaminar.json @@ -1,307 +1,260 @@ { "Interlaminar": { - "version": "NeuroMLlite v0.1.8", + "version": "NeuroMLlite v0.5.3", + "notes": "Testing...", "parameters": { - "wie": -3.25, - "iclamp_V1_L23_amp": "8nA", - "l5e_l2i": 0.75, - "l2e_l5e": 1, - "wii": -2.5, - "wee": 1.5, - "duration_stim": "1e9ms", - "wei": 3.5, - "sigma56": 0.45, - "delay_stim": "0ms", - "iclamp_V1_L56_amp": "8nA", - "sigma23": 0.3 - }, - "notes": "Testing...", - "cells": [ - { - "L23_E_comp": { - "lems_source_file": "Prototypes.xml" - } - }, - { - "L23_I_comp": { - "lems_source_file": "RateBased.xml" - } - }, - { - "L56_E_comp": { - "lems_source_file": "NoisyCurrentSource.xml" - } - }, - { - "L56_I_comp": { - "lems_source_file": "Prototypes.xml" - } + "wee": 1.5, + "wei": 3.5, + "wie": -3.25, + "wii": -2.5, + "l5e_l2i": 0.75, + "l2e_l5e": 1, + "sigma23": 0.3, + "sigma56": 0.45, + "delay_stim": "0ms", + "duration_stim": "1e9ms", + "iclamp_V1_L23_amp": "8nA", + "iclamp_V1_L56_amp": "8nA" + }, + "cells": { + "L23_E_comp": { + "lems_source_file": "Prototypes.xml" + }, + "L23_I_comp": { + "lems_source_file": "Prototypes.xml" + }, + "L56_E_comp": { + "lems_source_file": "Prototypes.xml" + }, + "L56_I_comp": { + "lems_source_file": "Prototypes.xml" } - ], - "synapses": [ - { - "rs": { - "lems_source_file": "Prototypes.xml" - } + }, + "synapses": { + "rs": { + "lems_source_file": "Prototypes.xml" + }, + "silent1": { + "lems_source_file": "RateBased.xml" } - ], - "input_sources": [ - { - "iclamp_V1_L23": { - "neuroml2_input": "PulseGenerator", - "parameters": { - "delay": "delay_stim", - "duration": "duration_stim", - "amplitude": "iclamp_V1_L23_amp" - } - } - }, - { - "iclamp_V1_L56": { - "neuroml2_input": "PulseGenerator", - "parameters": { - "delay": "delay_stim", - "duration": "duration_stim", - "amplitude": "iclamp_V1_L56_amp" - } - } + }, + "input_sources": { + "iclamp_V1_L23": { + "parameters": { + "amplitude": "iclamp_V1_L23_amp", + "delay": "delay_stim", + "duration": "duration_stim" + }, + "neuroml2_input": "PulseGenerator" + }, + "iclamp_V1_L56": { + "parameters": { + "amplitude": "iclamp_V1_L56_amp", + "delay": "delay_stim", + "duration": "duration_stim" + }, + "neuroml2_input": "PulseGenerator" } - ], - "regions": [ - { - "V1_L23": { - "x": 0.0, - "y": 5.0, - "z": 0.0, - "width": 5.0, - "height": 30.0, - "depth": 5.0 - } - }, - { - "V1_L56": { - "x": 0.0, - "y": 0.0, - "z": 0.0, - "width": 5.0, - "height": 5.0, - "depth": 5.0 - } + }, + "regions": { + "V1_L23": { + "x": 0.0, + "y": 5.0, + "z": 0.0, + "width": 5.0, + "height": 30.0, + "depth": 5.0 + }, + "V1_L56": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "width": 5.0, + "height": 5.0, + "depth": 5.0 } - ], - "populations": [ - { - "V1_L23_E": { - "size": 1, - "component": "L23_E_comp", - "properties": { - "color": ".8 0 0", - "radius": 0.5 - }, - "relative_layout": { - "region": "V1_L23", - "x": 0.0, - "y": 2.33333333333, - "z": 0.0 - } + }, + "populations": { + "V1_L23_E": { + "size": 1, + "component": "L23_E_comp", + "properties": { + "color": ".8 0 0", + "radius": 0.5 + }, + "relative_layout": { + "region": "V1_L23", + "x": 0.0, + "y": 2.3333333333333335, + "z": 0.0 } - }, - { - "V1_L23_I": { - "size": 1, - "component": "L23_I_comp", - "properties": { - "color": "0 0 .8", - "radius": 0.35 - }, - "relative_layout": { - "region": "V1_L23", - "x": 5.0, - "y": 1.66666666667, - "z": 0.0 - } + }, + "V1_L23_I": { + "size": 1, + "component": "L23_I_comp", + "properties": { + "color": "0 0 .8", + "radius": 0.35 + }, + "relative_layout": { + "region": "V1_L23", + "x": 5.0, + "y": 1.6666666666666667, + "z": 0.0 } - }, - { - "V1_L56_E": { - "size": 1, - "component": "L56_E_comp", - "properties": { - "color": "1 .2 0", - "radius": 0.6 - }, - "relative_layout": { - "region": "V1_L56", - "x": 0.0, - "y": 2.33333333333, - "z": 0.0 - } + }, + "V1_L56_E": { + "size": 1, + "component": "L56_E_comp", + "properties": { + "color": "1 .2 0", + "radius": 0.6 + }, + "relative_layout": { + "region": "V1_L56", + "x": 0.0, + "y": 2.3333333333333335, + "z": 0.0 } - }, - { - "V1_L56_I": { - "size": 1, - "component": "L56_I_comp", - "properties": { - "color": "0 .2 1", - "radius": 0.35 - }, - "relative_layout": { - "region": "V1_L56", - "x": 5.0, - "y": 1.66666666667, - "z": 0.0 - } + }, + "V1_L56_I": { + "size": 1, + "component": "L56_I_comp", + "properties": { + "color": "0 .2 1", + "radius": 0.35 + }, + "relative_layout": { + "region": "V1_L56", + "x": 5.0, + "y": 1.6666666666666667, + "z": 0.0 } } - ], - "projections": [ - { - "proj_V1_L23_E_V1_L23_E": { - "presynaptic": "V1_L23_E", - "postsynaptic": "V1_L23_E", - "synapse": "rs", - "type": "continuousProjection", - "delay": 0, - "weight": "wee", - "random_connectivity": { - "probability": 1.0 - } + }, + "projections": { + "proj_V1_L23_E_V1_L23_E": { + "presynaptic": "V1_L23_E", + "postsynaptic": "V1_L23_E", + "synapse": "rs", + "type": "continuousProjection", + "delay": 0, + "weight": "wee", + "random_connectivity": { + "probability": 1 } - }, - { - "proj_V1_L23_E_V1_L23_I": { - "presynaptic": "V1_L23_E", - "postsynaptic": "V1_L23_I", - "synapse": "rs", - "type": "continuousProjection", - "delay": 0, - "weight": "wei", - "random_connectivity": { - "probability": 1.0 - } + }, + "proj_V1_L23_E_V1_L23_I": { + "presynaptic": "V1_L23_E", + "postsynaptic": "V1_L23_I", + "synapse": "rs", + "type": "continuousProjection", + "delay": 0, + "weight": "wei", + "random_connectivity": { + "probability": 1 } - }, - { - "proj_V1_L23_E_V1_L56_E": { - "presynaptic": "V1_L23_E", - "postsynaptic": "V1_L56_E", - "synapse": "rs", - "type": "continuousProjection", - "delay": 0, - "weight": "l2e_l5e", - "random_connectivity": { - "probability": 1.0 - } + }, + "proj_V1_L23_E_V1_L56_E": { + "presynaptic": "V1_L23_E", + "postsynaptic": "V1_L56_E", + "synapse": "rs", + "type": "continuousProjection", + "delay": 0, + "weight": "l2e_l5e", + "random_connectivity": { + "probability": 1 } - }, - { - "proj_V1_L23_I_V1_L23_E": { - "presynaptic": "V1_L23_I", - "postsynaptic": "V1_L23_E", - "synapse": "rs", - "type": "continuousProjection", - "delay": 0, - "weight": "wie", - "random_connectivity": { - "probability": 1.0 - } + }, + "proj_V1_L23_I_V1_L23_E": { + "presynaptic": "V1_L23_I", + "postsynaptic": "V1_L23_E", + "synapse": "rs", + "type": "continuousProjection", + "delay": 0, + "weight": "wie", + "random_connectivity": { + "probability": 1 } - }, - { - "proj_V1_L23_I_V1_L23_I": { - "presynaptic": "V1_L23_I", - "postsynaptic": "V1_L23_I", - "synapse": "rs", - "type": "continuousProjection", - "delay": 0, - "weight": "wii", - "random_connectivity": { - "probability": 1.0 - } + }, + "proj_V1_L23_I_V1_L23_I": { + "presynaptic": "V1_L23_I", + "postsynaptic": "V1_L23_I", + "synapse": "rs", + "type": "continuousProjection", + "delay": 0, + "weight": "wii", + "random_connectivity": { + "probability": 1 } - }, - { - "proj_V1_L56_E_V1_L23_I": { - "presynaptic": "V1_L56_E", - "postsynaptic": "V1_L23_I", - "synapse": "rs", - "type": "continuousProjection", - "delay": 0, - "weight": "l5e_l2i", - "random_connectivity": { - "probability": 1.0 - } + }, + "proj_V1_L56_E_V1_L23_I": { + "presynaptic": "V1_L56_E", + "postsynaptic": "V1_L23_I", + "synapse": "rs", + "type": "continuousProjection", + "delay": 0, + "weight": "l5e_l2i", + "random_connectivity": { + "probability": 1 } - }, - { - "proj_V1_L56_E_V1_L56_E": { - "presynaptic": "V1_L56_E", - "postsynaptic": "V1_L56_E", - "synapse": "rs", - "type": "continuousProjection", - "delay": 0, - "weight": "wee", - "random_connectivity": { - "probability": 1.0 - } + }, + "proj_V1_L56_E_V1_L56_E": { + "presynaptic": "V1_L56_E", + "postsynaptic": "V1_L56_E", + "synapse": "rs", + "type": "continuousProjection", + "delay": 0, + "weight": "wee", + "random_connectivity": { + "probability": 1 } - }, - { - "proj_V1_L56_E_V1_L56_I": { - "presynaptic": "V1_L56_E", - "postsynaptic": "V1_L56_I", - "synapse": "rs", - "type": "continuousProjection", - "delay": 0, - "weight": "wei", - "random_connectivity": { - "probability": 1.0 - } + }, + "proj_V1_L56_E_V1_L56_I": { + "presynaptic": "V1_L56_E", + "postsynaptic": "V1_L56_I", + "synapse": "rs", + "type": "continuousProjection", + "delay": 0, + "weight": "wei", + "random_connectivity": { + "probability": 1 } - }, - { - "proj_V1_L56_I_V1_L56_E": { - "presynaptic": "V1_L56_I", - "postsynaptic": "V1_L56_E", - "synapse": "rs", - "type": "continuousProjection", - "delay": 0, - "weight": "wie", - "random_connectivity": { - "probability": 1.0 - } + }, + "proj_V1_L56_I_V1_L56_E": { + "presynaptic": "V1_L56_I", + "postsynaptic": "V1_L56_E", + "synapse": "rs", + "type": "continuousProjection", + "delay": 0, + "weight": "wie", + "random_connectivity": { + "probability": 1 } - }, - { - "proj_V1_L56_I_V1_L56_I": { - "presynaptic": "V1_L56_I", - "postsynaptic": "V1_L56_I", - "synapse": "rs", - "type": "continuousProjection", - "delay": 0, - "weight": "wii", - "random_connectivity": { - "probability": 1.0 - } + }, + "proj_V1_L56_I_V1_L56_I": { + "presynaptic": "V1_L56_I", + "postsynaptic": "V1_L56_I", + "synapse": "rs", + "type": "continuousProjection", + "delay": 0, + "weight": "wii", + "random_connectivity": { + "probability": 1 } } - ], - "inputs": [ - { - "modulation_V1_L23_E": { - "input_source": "iclamp_V1_L23", - "population": "V1_L23_E", - "percentage": 100.0 - } - }, - { - "modulation_V1_L56_E": { - "input_source": "iclamp_V1_L56", - "population": "V1_L56_E", - "percentage": 100.0 - } + }, + "inputs": { + "modulation_V1_L23_E": { + "input_source": "iclamp_V1_L23", + "population": "V1_L23_E", + "percentage": 100.0 + }, + "modulation_V1_L56_E": { + "input_source": "iclamp_V1_L56", + "population": "V1_L56_E", + "percentage": 100.0 } - ] + } } } \ No newline at end of file diff --git a/NeuroML2/Interlaminar.net.nml b/NeuroML2/Interlaminar.net.nml index 745773b..cb7c4da 100644 --- a/NeuroML2/Interlaminar.net.nml +++ b/NeuroML2/Interlaminar.net.nml @@ -1,5 +1,5 @@ - - Generated by NeuroMLlite v0.1.8 + + Generated by NeuroMLlite v0.5.3 Generated network: Interlaminar Generation seed: 1234 NeuroMLlite parameters: @@ -18,6 +18,7 @@ + @@ -32,38 +33,38 @@ Testing... - + - + - + - + - + - + - + - + - + diff --git a/NeuroML2/Interlaminar__lems.xml b/NeuroML2/Interlaminar__lems.xml new file mode 100644 index 0000000..28e9d72 --- /dev/null +++ b/NeuroML2/Interlaminar__lems.xml @@ -0,0 +1,170 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/NeuroML2/Intralaminar.json b/NeuroML2/Intralaminar.json index 3be8ae0..159267f 100644 --- a/NeuroML2/Intralaminar.json +++ b/NeuroML2/Intralaminar.json @@ -1,307 +1,260 @@ { "Intralaminar": { - "version": "NeuroMLlite v0.1.8", + "version": "NeuroMLlite v0.5.3", + "notes": "Testing...", "parameters": { - "wie": -3.25, - "iclamp_V1_L23_amp": "2nA", - "l5e_l2i": 0, - "l2e_l5e": 0, - "wii": -2.5, - "wee": 1.5, - "duration_stim": "1e9ms", - "wei": 3.5, - "sigma56": 0.45, - "delay_stim": "0ms", - "iclamp_V1_L56_amp": "2nA", - "sigma23": 0.3 - }, - "notes": "Testing...", - "cells": [ - { - "L23_E_comp": { - "lems_source_file": "Prototypes.xml" - } - }, - { - "L23_I_comp": { - "lems_source_file": "RateBased.xml" - } - }, - { - "L56_E_comp": { - "lems_source_file": "NoisyCurrentSource.xml" - } - }, - { - "L56_I_comp": { - "lems_source_file": "Prototypes.xml" - } + "wee": 1.5, + "wei": 3.5, + "wie": -3.25, + "wii": -2.5, + "l5e_l2i": 0, + "l2e_l5e": 0, + "sigma23": 0.3, + "sigma56": 0.45, + "delay_stim": "0ms", + "duration_stim": "1e9ms", + "iclamp_V1_L23_amp": "2nA", + "iclamp_V1_L56_amp": "2nA" + }, + "cells": { + "L23_E_comp": { + "lems_source_file": "Prototypes.xml" + }, + "L23_I_comp": { + "lems_source_file": "Prototypes.xml" + }, + "L56_E_comp": { + "lems_source_file": "Prototypes.xml" + }, + "L56_I_comp": { + "lems_source_file": "Prototypes.xml" } - ], - "synapses": [ - { - "rs": { - "lems_source_file": "Prototypes.xml" - } + }, + "synapses": { + "rs": { + "lems_source_file": "Prototypes.xml" + }, + "silent1": { + "lems_source_file": "RateBased.xml" } - ], - "input_sources": [ - { - "iclamp_V1_L23": { - "neuroml2_input": "PulseGenerator", - "parameters": { - "delay": "delay_stim", - "duration": "duration_stim", - "amplitude": "iclamp_V1_L23_amp" - } - } - }, - { - "iclamp_V1_L56": { - "neuroml2_input": "PulseGenerator", - "parameters": { - "delay": "delay_stim", - "duration": "duration_stim", - "amplitude": "iclamp_V1_L56_amp" - } - } + }, + "input_sources": { + "iclamp_V1_L23": { + "parameters": { + "amplitude": "iclamp_V1_L23_amp", + "delay": "delay_stim", + "duration": "duration_stim" + }, + "neuroml2_input": "PulseGenerator" + }, + "iclamp_V1_L56": { + "parameters": { + "amplitude": "iclamp_V1_L56_amp", + "delay": "delay_stim", + "duration": "duration_stim" + }, + "neuroml2_input": "PulseGenerator" } - ], - "regions": [ - { - "V1_L23": { - "x": 0.0, - "y": 5.0, - "z": 0.0, - "width": 5.0, - "height": 30.0, - "depth": 5.0 - } - }, - { - "V1_L56": { - "x": 0.0, - "y": 0.0, - "z": 0.0, - "width": 5.0, - "height": 5.0, - "depth": 5.0 - } + }, + "regions": { + "V1_L23": { + "x": 0.0, + "y": 5.0, + "z": 0.0, + "width": 5.0, + "height": 30.0, + "depth": 5.0 + }, + "V1_L56": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "width": 5.0, + "height": 5.0, + "depth": 5.0 } - ], - "populations": [ - { - "V1_L23_E": { - "size": 1, - "component": "L23_E_comp", - "properties": { - "color": ".8 0 0", - "radius": 0.5 - }, - "relative_layout": { - "region": "V1_L23", - "x": 0.0, - "y": 2.33333333333, - "z": 0.0 - } + }, + "populations": { + "V1_L23_E": { + "size": 1, + "component": "L23_E_comp", + "properties": { + "color": ".8 0 0", + "radius": 0.5 + }, + "relative_layout": { + "region": "V1_L23", + "x": 0.0, + "y": 2.3333333333333335, + "z": 0.0 } - }, - { - "V1_L23_I": { - "size": 1, - "component": "L23_I_comp", - "properties": { - "color": "0 0 .8", - "radius": 0.35 - }, - "relative_layout": { - "region": "V1_L23", - "x": 5.0, - "y": 1.66666666667, - "z": 0.0 - } + }, + "V1_L23_I": { + "size": 1, + "component": "L23_I_comp", + "properties": { + "color": "0 0 .8", + "radius": 0.35 + }, + "relative_layout": { + "region": "V1_L23", + "x": 5.0, + "y": 1.6666666666666667, + "z": 0.0 } - }, - { - "V1_L56_E": { - "size": 1, - "component": "L56_E_comp", - "properties": { - "color": "1 .2 0", - "radius": 0.6 - }, - "relative_layout": { - "region": "V1_L56", - "x": 0.0, - "y": 2.33333333333, - "z": 0.0 - } + }, + "V1_L56_E": { + "size": 1, + "component": "L56_E_comp", + "properties": { + "color": "1 .2 0", + "radius": 0.6 + }, + "relative_layout": { + "region": "V1_L56", + "x": 0.0, + "y": 2.3333333333333335, + "z": 0.0 } - }, - { - "V1_L56_I": { - "size": 1, - "component": "L56_I_comp", - "properties": { - "color": "0 .2 1", - "radius": 0.35 - }, - "relative_layout": { - "region": "V1_L56", - "x": 5.0, - "y": 1.66666666667, - "z": 0.0 - } + }, + "V1_L56_I": { + "size": 1, + "component": "L56_I_comp", + "properties": { + "color": "0 .2 1", + "radius": 0.35 + }, + "relative_layout": { + "region": "V1_L56", + "x": 5.0, + "y": 1.6666666666666667, + "z": 0.0 } } - ], - "projections": [ - { - "proj_V1_L23_E_V1_L23_E": { - "presynaptic": "V1_L23_E", - "postsynaptic": "V1_L23_E", - "synapse": "rs", - "type": "continuousProjection", - "delay": 0, - "weight": "wee", - "random_connectivity": { - "probability": 1.0 - } + }, + "projections": { + "proj_V1_L23_E_V1_L23_E": { + "presynaptic": "V1_L23_E", + "postsynaptic": "V1_L23_E", + "synapse": "rs", + "type": "continuousProjection", + "delay": 0, + "weight": "wee", + "random_connectivity": { + "probability": 1 } - }, - { - "proj_V1_L23_E_V1_L23_I": { - "presynaptic": "V1_L23_E", - "postsynaptic": "V1_L23_I", - "synapse": "rs", - "type": "continuousProjection", - "delay": 0, - "weight": "wei", - "random_connectivity": { - "probability": 1.0 - } + }, + "proj_V1_L23_E_V1_L23_I": { + "presynaptic": "V1_L23_E", + "postsynaptic": "V1_L23_I", + "synapse": "rs", + "type": "continuousProjection", + "delay": 0, + "weight": "wei", + "random_connectivity": { + "probability": 1 } - }, - { - "proj_V1_L23_E_V1_L56_E": { - "presynaptic": "V1_L23_E", - "postsynaptic": "V1_L56_E", - "synapse": "rs", - "type": "continuousProjection", - "delay": 0, - "weight": "l2e_l5e", - "random_connectivity": { - "probability": 1.0 - } + }, + "proj_V1_L23_E_V1_L56_E": { + "presynaptic": "V1_L23_E", + "postsynaptic": "V1_L56_E", + "synapse": "rs", + "type": "continuousProjection", + "delay": 0, + "weight": "l2e_l5e", + "random_connectivity": { + "probability": 1 } - }, - { - "proj_V1_L23_I_V1_L23_E": { - "presynaptic": "V1_L23_I", - "postsynaptic": "V1_L23_E", - "synapse": "rs", - "type": "continuousProjection", - "delay": 0, - "weight": "wie", - "random_connectivity": { - "probability": 1.0 - } + }, + "proj_V1_L23_I_V1_L23_E": { + "presynaptic": "V1_L23_I", + "postsynaptic": "V1_L23_E", + "synapse": "rs", + "type": "continuousProjection", + "delay": 0, + "weight": "wie", + "random_connectivity": { + "probability": 1 } - }, - { - "proj_V1_L23_I_V1_L23_I": { - "presynaptic": "V1_L23_I", - "postsynaptic": "V1_L23_I", - "synapse": "rs", - "type": "continuousProjection", - "delay": 0, - "weight": "wii", - "random_connectivity": { - "probability": 1.0 - } + }, + "proj_V1_L23_I_V1_L23_I": { + "presynaptic": "V1_L23_I", + "postsynaptic": "V1_L23_I", + "synapse": "rs", + "type": "continuousProjection", + "delay": 0, + "weight": "wii", + "random_connectivity": { + "probability": 1 } - }, - { - "proj_V1_L56_E_V1_L23_I": { - "presynaptic": "V1_L56_E", - "postsynaptic": "V1_L23_I", - "synapse": "rs", - "type": "continuousProjection", - "delay": 0, - "weight": "l5e_l2i", - "random_connectivity": { - "probability": 1.0 - } + }, + "proj_V1_L56_E_V1_L23_I": { + "presynaptic": "V1_L56_E", + "postsynaptic": "V1_L23_I", + "synapse": "rs", + "type": "continuousProjection", + "delay": 0, + "weight": "l5e_l2i", + "random_connectivity": { + "probability": 1 } - }, - { - "proj_V1_L56_E_V1_L56_E": { - "presynaptic": "V1_L56_E", - "postsynaptic": "V1_L56_E", - "synapse": "rs", - "type": "continuousProjection", - "delay": 0, - "weight": "wee", - "random_connectivity": { - "probability": 1.0 - } + }, + "proj_V1_L56_E_V1_L56_E": { + "presynaptic": "V1_L56_E", + "postsynaptic": "V1_L56_E", + "synapse": "rs", + "type": "continuousProjection", + "delay": 0, + "weight": "wee", + "random_connectivity": { + "probability": 1 } - }, - { - "proj_V1_L56_E_V1_L56_I": { - "presynaptic": "V1_L56_E", - "postsynaptic": "V1_L56_I", - "synapse": "rs", - "type": "continuousProjection", - "delay": 0, - "weight": "wei", - "random_connectivity": { - "probability": 1.0 - } + }, + "proj_V1_L56_E_V1_L56_I": { + "presynaptic": "V1_L56_E", + "postsynaptic": "V1_L56_I", + "synapse": "rs", + "type": "continuousProjection", + "delay": 0, + "weight": "wei", + "random_connectivity": { + "probability": 1 } - }, - { - "proj_V1_L56_I_V1_L56_E": { - "presynaptic": "V1_L56_I", - "postsynaptic": "V1_L56_E", - "synapse": "rs", - "type": "continuousProjection", - "delay": 0, - "weight": "wie", - "random_connectivity": { - "probability": 1.0 - } + }, + "proj_V1_L56_I_V1_L56_E": { + "presynaptic": "V1_L56_I", + "postsynaptic": "V1_L56_E", + "synapse": "rs", + "type": "continuousProjection", + "delay": 0, + "weight": "wie", + "random_connectivity": { + "probability": 1 } - }, - { - "proj_V1_L56_I_V1_L56_I": { - "presynaptic": "V1_L56_I", - "postsynaptic": "V1_L56_I", - "synapse": "rs", - "type": "continuousProjection", - "delay": 0, - "weight": "wii", - "random_connectivity": { - "probability": 1.0 - } + }, + "proj_V1_L56_I_V1_L56_I": { + "presynaptic": "V1_L56_I", + "postsynaptic": "V1_L56_I", + "synapse": "rs", + "type": "continuousProjection", + "delay": 0, + "weight": "wii", + "random_connectivity": { + "probability": 1 } } - ], - "inputs": [ - { - "modulation_V1_L23_E": { - "input_source": "iclamp_V1_L23", - "population": "V1_L23_E", - "percentage": 100.0 - } - }, - { - "modulation_V1_L56_E": { - "input_source": "iclamp_V1_L56", - "population": "V1_L56_E", - "percentage": 100.0 - } + }, + "inputs": { + "modulation_V1_L23_E": { + "input_source": "iclamp_V1_L23", + "population": "V1_L23_E", + "percentage": 100.0 + }, + "modulation_V1_L56_E": { + "input_source": "iclamp_V1_L56", + "population": "V1_L56_E", + "percentage": 100.0 } - ] + } } } \ No newline at end of file diff --git a/NeuroML2/Intralaminar.net.nml b/NeuroML2/Intralaminar.net.nml index 98e3740..a89224e 100644 --- a/NeuroML2/Intralaminar.net.nml +++ b/NeuroML2/Intralaminar.net.nml @@ -1,5 +1,5 @@ - - Generated by NeuroMLlite v0.1.8 + + Generated by NeuroMLlite v0.5.3 Generated network: Intralaminar Generation seed: 1234 NeuroMLlite parameters: @@ -18,6 +18,7 @@ + @@ -30,38 +31,38 @@ Testing... - - + + - + - + - + - + - + - + - + - + diff --git a/NeuroML2/Intralaminar__lems.xml b/NeuroML2/Intralaminar__lems.xml new file mode 100644 index 0000000..28e9d72 --- /dev/null +++ b/NeuroML2/Intralaminar__lems.xml @@ -0,0 +1,170 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/NeuroML2/SimInterareal_0.json b/NeuroML2/SimInterareal_0.json index 4e35bc5..e4357d8 100644 --- a/NeuroML2/SimInterareal_0.json +++ b/NeuroML2/SimInterareal_0.json @@ -1,11 +1,11 @@ { "SimInterareal_0": { - "version": "NeuroMLlite v0.1.8", - "network": "Interareal.json", - "duration": 40000.0, - "dt": 0.2, - "seed": 0, - "recordRates": { + "version": "NeuroMLlite v0.5.3", + "network": "Interareal.json", + "duration": 40000.0, + "dt": 0.2, + "seed": 0, + "record_rates": { "all": "*" } } diff --git a/NeuroML2/SimInterareal_30_0.json b/NeuroML2/SimInterareal_30_0.json index 4f1c3fe..5ef1cb1 100644 --- a/NeuroML2/SimInterareal_30_0.json +++ b/NeuroML2/SimInterareal_30_0.json @@ -1,11 +1,11 @@ { "SimInterareal_30_0": { - "version": "NeuroMLlite v0.1.8", - "network": "Interareal_30.json", - "duration": 40000.0, - "dt": 0.2, - "seed": 0, - "recordRates": { + "version": "NeuroMLlite v0.5.3", + "network": "Interareal_30.json", + "duration": 40000.0, + "dt": 0.2, + "seed": 0, + "record_rates": { "all": "*" } } diff --git a/NeuroML2/SimInterareal_3_0.json b/NeuroML2/SimInterareal_3_0.json index de440c9..acafd72 100644 --- a/NeuroML2/SimInterareal_3_0.json +++ b/NeuroML2/SimInterareal_3_0.json @@ -1,11 +1,11 @@ { "SimInterareal_3_0": { - "version": "NeuroMLlite v0.1.8", - "network": "Interareal_3.json", - "duration": 40000.0, - "dt": 0.2, - "seed": 0, - "recordRates": { + "version": "NeuroMLlite v0.5.3", + "network": "Interareal_3.json", + "duration": 40000.0, + "dt": 0.2, + "seed": 0, + "record_rates": { "all": "*" } } diff --git a/NeuroML2/SimInterareal_4_0.json b/NeuroML2/SimInterareal_4_0.json index 164b106..07bca6d 100644 --- a/NeuroML2/SimInterareal_4_0.json +++ b/NeuroML2/SimInterareal_4_0.json @@ -1,11 +1,11 @@ { "SimInterareal_4_0": { - "version": "NeuroMLlite v0.1.8", - "network": "Interareal_4.json", - "duration": 40000.0, - "dt": 0.2, - "seed": 0, - "recordRates": { + "version": "NeuroMLlite v0.5.3", + "network": "Interareal_4.json", + "duration": 40000.0, + "dt": 0.2, + "seed": 0, + "record_rates": { "all": "*" } } diff --git a/NeuroML2/SimInterlaminar_0.json b/NeuroML2/SimInterlaminar_0.json index c2edb1f..b127682 100644 --- a/NeuroML2/SimInterlaminar_0.json +++ b/NeuroML2/SimInterlaminar_0.json @@ -1,11 +1,11 @@ { "SimInterlaminar_0": { - "version": "NeuroMLlite v0.1.8", - "network": "Interlaminar.json", - "duration": 1000.0, - "dt": 0.2, - "seed": 0, - "recordRates": { + "version": "NeuroMLlite v0.5.3", + "network": "Interlaminar.json", + "duration": 1000.0, + "dt": 0.2, + "seed": 0, + "record_rates": { "all": "*" } } diff --git a/NeuroML2/SimIntralaminar_0.json b/NeuroML2/SimIntralaminar_0.json index e6cac07..735cb41 100644 --- a/NeuroML2/SimIntralaminar_0.json +++ b/NeuroML2/SimIntralaminar_0.json @@ -1,11 +1,11 @@ { "SimIntralaminar_0": { - "version": "NeuroMLlite v0.1.8", - "network": "Intralaminar.json", - "duration": 25000.0, - "dt": 0.2, - "seed": 0, - "recordRates": { + "version": "NeuroMLlite v0.5.3", + "network": "Intralaminar.json", + "duration": 25000.0, + "dt": 0.2, + "seed": 0, + "record_rates": { "all": "*" } } diff --git a/NeuroML2/regenerate_nml.sh b/NeuroML2/regenerate_nml.sh index a4d46a6..058d137 100755 --- a/NeuroML2/regenerate_nml.sh +++ b/NeuroML2/regenerate_nml.sh @@ -1,3 +1,5 @@ +#!/bin/bash +set -ex python GenerateNeuroMLlite.py -intralaminar # generate json files for NMLlite python GenerateNeuroMLlite.py -intralaminar -jnml # Run in jnml just to ensure they run diff --git a/Python/Mejias-2016.py b/Python/Mejias-2016.py index 40180af..39366c4 100644 --- a/Python/Mejias-2016.py +++ b/Python/Mejias-2016.py @@ -87,7 +87,7 @@ def getArguments(): # Define dt and the trial length dt = args.dt tstop = 25 # s - t = np.linspace(0, tstop, tstop/dt) + t = np.linspace(0, int(tstop), int(tstop/dt)) transient = 5 # speciy number of areas that communicate with each other Nareas = 1 diff --git a/Python/helper_functions.py b/Python/helper_functions.py index 18e6414..83b4f09 100644 --- a/Python/helper_functions.py +++ b/Python/helper_functions.py @@ -253,7 +253,7 @@ def firing_rate_analysis(noconns=False, # Intralaminar ######################################################################################################################## tstop = testduration/1000. # sec - t = np.linspace(0, tstop, tstop/dt) + t = np.linspace(0, int(tstop), int(tstop/dt)) # speciy number of areas that communicate with each other Nareas = 1 @@ -281,7 +281,7 @@ def firing_rate_analysis(noconns=False, ######################################################################################################################## tstop = testduration/1000. # sec - t = np.linspace(0, tstop, tstop/dt) + t = np.linspace(0, int(tstop), int(tstop/dt)) transient = 5 # speciy number of areas that communicate with each other Nareas = 1 diff --git a/Python/interlaminar.py b/Python/interlaminar.py index ba58db8..a03415d 100644 --- a/Python/interlaminar.py +++ b/Python/interlaminar.py @@ -263,8 +263,8 @@ def plot_power_spectrum_neurodsp(dt, rate_conn, rate_noconn, analysis): fs = 1/dt # Plot the results for L23 - freq_mean_L23_conn, P_mean_L23_conn = spectral.compute_spectrum(rate_conn[0, :, 0], fs, method='mean') - freq_mean_L23_noconn, P_mean_L23_noconn = spectral.compute_spectrum(rate_noconn[0, :, 0], fs, method='mean') + freq_mean_L23_conn, P_mean_L23_conn = spectral.compute_spectrum(rate_conn[0, :, 0], fs, avg_type='mean') + freq_mean_L23_noconn, P_mean_L23_noconn = spectral.compute_spectrum(rate_noconn[0, :, 0], fs, avg_type='mean') plt.figure() plt.loglog(freq_mean_L23_conn, P_mean_L23_conn, label='Coupled', linewidth=2, color='g') @@ -276,8 +276,8 @@ def plot_power_spectrum_neurodsp(dt, rate_conn, rate_noconn, analysis): plt.legend() # Plot the results for L56 - freq_mean_L56_conn, P_mean_L56_conn = spectral.compute_spectrum(rate_conn[2, :, 0], fs, method='mean') - freq_mean_L56_noconn, P_mean_L56_noconn = spectral.compute_spectrum(rate_noconn[2, :, 0], fs, method='mean') + freq_mean_L56_conn, P_mean_L56_conn = spectral.compute_spectrum(rate_conn[2, :, 0], fs, avg_type='mean') + freq_mean_L56_noconn, P_mean_L56_noconn = spectral.compute_spectrum(rate_noconn[2, :, 0], fs, avg_type='mean') plt.figure() plt.loglog(freq_mean_L56_conn, P_mean_L56_conn, label='Coupled', linewidth=2, color='#FF7F50') diff --git a/Python/interlaminar_a/spectrogram_l23.png b/Python/interlaminar_a/spectrogram_l23.png index 1574ab7..58e8944 100644 Binary files a/Python/interlaminar_a/spectrogram_l23.png and b/Python/interlaminar_a/spectrogram_l23.png differ diff --git a/Python/interlaminar_a/spectrogram_l56.png b/Python/interlaminar_a/spectrogram_l56.png index e8ec018..9ab3458 100644 Binary files a/Python/interlaminar_a/spectrogram_l56.png and b/Python/interlaminar_a/spectrogram_l56.png differ diff --git a/Python/intralaminar.py b/Python/intralaminar.py index cf5d1aa..f475a87 100644 --- a/Python/intralaminar.py +++ b/Python/intralaminar.py @@ -63,7 +63,7 @@ def intralaminar_plt(psd_dic): fxx_plt = psd_dic['fxx_bin'][fxx_plt_idx] # find the correspondent mean and std pxx for this range - Iexts = psd_dic.keys() + Iexts = list(psd_dic.keys()) # remove the fxx_bin key if 'fxx_bin' in Iexts: Iexts.remove('fxx_bin') diff --git a/Python/intralaminar/intralaminar.png b/Python/intralaminar/intralaminar.png index 02f5909..b0d750a 100644 Binary files a/Python/intralaminar/intralaminar.png and b/Python/intralaminar/intralaminar.png differ diff --git a/README.md b/README.md index 9fd6800..663f546 100644 --- a/README.md +++ b/README.md @@ -1,5 +1,7 @@ ## Mejias et al. 2016 +[![Continuous build using OMV](https://github.com/OpenSourceBrain/MejiasEtAl2016/actions/workflows/omv-ci.yml/badge.svg)](https://github.com/OpenSourceBrain/MejiasEtAl2016/actions/workflows/omv-ci.yml) [![Non OMV based tests](https://github.com/OpenSourceBrain/MejiasEtAl2016/actions/workflows/non-omv.yml/badge.svg)](https://github.com/OpenSourceBrain/MejiasEtAl2016/actions/workflows/non-omv.yml) + Implementation in in Matlab, Python and in NeuroML2/LEMS of Jorge F. Mejias, John D. Murray, Henry Kennedy, and Xiao-Jing Wang, “Feedforward and Feedback Frequency-Dependent Interactions in a Large-Scale Laminar Network of the Primate Cortex.” [Science Advances](http://advances.sciencemag.org/content/2/11/e1601335), 2016 ([bioRxiv](https://doi.org/10.1101/065854)). ### The model @@ -44,5 +46,3 @@ The data on 3D positions of areas ([MERetal14_on_F99.tsv](NeuroML2/MERetal14_on_ - Rembrandt Bakker, Paul Tiesinga, Rolf Kötter (2015) "The Scalable Brain Atlas: instant web-based access to public brain atlases and related content." Neuroinformatics. http://link.springer.com/content/pdf/10.1007/s12021-014-9258-x ([arXiv](http://arxiv.org/abs/1312.6310)) -[![Build Status](https://travis-ci.org/OpenSourceBrain/MejiasEtAl2016.svg?branch=master)](https://travis-ci.org/OpenSourceBrain/MejiasEtAl2016) - diff --git a/requirements.txt b/requirements.txt index 0785c92..29664b5 100644 --- a/requirements.txt +++ b/requirements.txt @@ -3,7 +3,7 @@ appnope==0.1.0 backports-abc==0.5 backports.functools-lru-cache==1.5 backports.shutil-get-terminal-size==1.0.0 -bleach==2.1.3 +bleach==3.3.0 cachetools==0.8.0 configparser==3.5.0 ConnPlotter==0.7a0 @@ -18,7 +18,7 @@ futures==3.2.0 graphviz==0.8.3 html5lib==1.0.1 ipykernel==4.8.2 -ipython==5.7.0 +ipython==8.10.0 ipython-genutils==0.2.0 ipywidgets==7.2.1 Jinja2>=2.10.1 @@ -27,16 +27,16 @@ jsonschema==2.6.0 jupyter==1.0.0 jupyter-client==5.2.3 jupyter-console==5.2.0 -jupyter-core==4.4.0 +jupyter-core==4.11.2 kiwisolver==1.0.1 lazyarray==0.3.2 libNeuroML==0.2.45 llvmlite==0.24.0 -lxml==4.2.1 +lxml==4.9.1 MarkupSafe==1.0 matplotlib==2.2.2 mistune==0.8.3 -nbconvert==5.3.1 +nbconvert==6.5.1 nbformat==4.4.0 neo==0.6.1 neuromllite==0.1.4 @@ -44,7 +44,7 @@ NEURON==7.5 notebook>=5.7.8 numba==0.39.0 numexpr==2.6.6 -numpy==1.14.3 +numpy==1.22.0 OpenCortex==0.1.10 pandocfilters==1.4.2 pathlib2==2.3.2 @@ -53,7 +53,7 @@ pickleshare==0.7.4 prompt-toolkit==1.0.15 ptyprocess==0.5.2 pyelectro==0.1.9 -Pygments==2.2.0 +Pygments==2.15.0 PyLEMS==0.4.9.1 PyNEST==2.14.0 pyNeuroML==0.3.12 @@ -76,7 +76,7 @@ tables==3.4.4 terminado==0.8.1 testpath==0.3.1 Topology==2.14.0 -tornado==5.0.2 +tornado==6.3.3 traitlets==4.3.2 update==0.0.1 wcwidth==0.1.7