Changeset 391

Show
Ignore:
Timestamp:
06/24/08 18:12:10 (5 months ago)
Author:
apdavison
Message:

Work on updating regression tests. Fixed a bug in connect() function in neuron module.

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • trunk/src/neuron/__init__.py

    r374 r391  
    592592        if "cond" in tgt.cellclass.__name__: 
    593593            weight = abs(weight) # weights must be positive for conductance-based synapses 
    594         else: 
    595             if tgt in gidlist: # only create connections to cells that exist on this machine 
    596                 if p < 1: 
    597                     if rng: # use the supplied RNG 
    598                         rarr = self.rng.uniform(0,1, len(source)) 
    599                     else:   # use the default RNG 
    600                         rarr = numpy.random.uniform(0,1, len(source)) 
    601                 for j, src in enumerate(source): 
    602                     if src > gid or src < 0 or not isinstance(src, int): 
    603                         raise common.ConnectionError, "Presynaptic cell id %s does not exist." % str(src) 
    604                     else: 
    605                         if p >= 1.0 or rarr[j] < p: # might be more efficient to vectorise the latter comparison 
    606                             hoc_commands += [#'nc = pc.gid_connect(%d, pc.gid2cell(%d).%s)' % (src, tgt, syn_objref), 
    607                                              'nc = pc.gid_connect(%d, cell%d.%s)' % (src, tgt, syn_objref)
    608                                              'nc.delay = %g' % delay
    609                                              'nc.weight = %g' % weight, 
    610                                              'tmp = netconlist.append(nc)'] 
    611                             ncid += 1 
    612             else
    613                 for j, src in enumerate(source): 
    614                     if src > gid or src < 0 or not isinstance(src, int): 
    615                         raise common.ConnectionError, "Presynaptic cell id %s does not exist." % str(src) 
     594        if tgt in gidlist: # only create connections to cells that exist on this machine 
     595            if p < 1: 
     596                if rng: # use the supplied RNG 
     597                    rarr = self.rng.uniform(0,1, len(source)) 
     598                else:   # use the default RNG 
     599                    rarr = numpy.random.uniform(0,1, len(source)) 
     600            for j, src in enumerate(source): 
     601                if src > gid or src < 0 or not isinstance(src, int): 
     602                    raise common.ConnectionError, "Presynaptic cell id %s does not exist." % str(src) 
     603                else: 
     604                    if p >= 1.0 or rarr[j] < p: # might be more efficient to vectorise the latter comparison 
     605                        hoc_commands += [#'nc = pc.gid_connect(%d, pc.gid2cell(%d).%s)' % (src, tgt, syn_objref), 
     606                                         'nc = pc.gid_connect(%d, cell%d.%s)' % (src, tgt, syn_objref), 
     607                                         'nc.delay = %g' % delay
     608                                         'nc.weight = %g' % weight
     609                                         'tmp = netconlist.append(nc)'] 
     610                        ncid += 1 
     611        else: 
     612            for j, src in enumerate(source)
     613                if src > gid or src < 0 or not isinstance(src, int): 
     614                    raise common.ConnectionError, "Presynaptic cell id %s does not exist." % str(src) 
     615    print hoc_commands 
    616616    hoc_execute(hoc_commands, "--- connect(%s,%s) ---" % (str(source), str(target))) 
    617617    return range(nc_start, ncid) 
  • trunk/test/IF_cond_alpha.py

    r390 r391  
    1010import sys 
    1111 
    12 simulator = sys.argv[-1] 
     12simulator_name = sys.argv[-1] 
    1313 
    14 exec("from pyNN.%s import *" % simulator
     14exec("from pyNN.%s import *" % simulator_name
    1515 
    16 setup(timestep=0.1,min_delay=0.1,max_delay=4.0
     16setup(timestep=0.1, min_delay=0.1, max_delay=4.0, debug=True
    1717 
    1818ifcell = create(IF_cond_alpha, {'i_offset' : 0.1,    'tau_refrac' : 3.0, 
     
    2727connI = connect(spike_sourceI, ifcell, weight=0.02, synapse_type='inhibitory',delay=4.0) 
    2828     
    29 record_v(ifcell, "Results/IF_cond_alpha_%s.v" % simulator
     29record_v(ifcell, "Results/IF_cond_alpha_%s.v" % simulator_name
    3030 
    3131run(200.0) 
  • trunk/test/IF_cond_exp.py

    r390 r391  
    1010import sys 
    1111 
    12 simulator = sys.argv[-1] 
     12simulator_name = sys.argv[-1] 
    1313 
    14 exec("from pyNN.%s import *" % simulator
     14exec("from pyNN.%s import *" % simulator_name
    1515 
    1616 
     
    2828connI = connect(spike_sourceI, ifcell, weight=0.02, synapse_type ='inhibitory',delay=4.0) 
    2929     
    30 record_v(ifcell, "Results/IF_cond_exp_%s.v" % simulator
     30record_v(ifcell, "Results/IF_cond_exp_%s.v" % simulator_name
    3131run(200.0) 
    3232 
  • trunk/test/IF_curr_alpha.py

    r390 r391  
    1010import sys 
    1111 
    12 simulator = sys.argv[-1] 
     12simulator_name = sys.argv[-1] 
    1313 
    14 exec("from pyNN.%s import *" % simulator
     14exec("from pyNN.%s import *" % simulator_name
    1515 
    1616 
     
    2828connI = connect(spike_sourceI, ifcell, weight=-1.5, synapse_type='inhibitory', delay=4.0) 
    2929 
    30 record_v(ifcell, "Results/IF_curr_alpha_%s.v" % simulator
     30record_v(ifcell, "Results/IF_curr_alpha_%s.v" % simulator_name
    3131run(200.0) 
    3232 
  • trunk/test/IF_curr_alpha2.py

    r390 r391  
    1010import sys 
    1111 
    12 simulator = sys.argv[-1] 
     12simulator_name = sys.argv[-1] 
    1313 
    14 exec("from pyNN.%s import *" % simulator
     14exec("from pyNN.%s import *" % simulator_name
    1515 
    1616 
    17 id = setup(timestep=0.01,min_delay=0.1) 
     17id = setup(timestep=0.1,min_delay=0.1) 
    1818 
    1919ifcells = create(IF_curr_alpha, {'i_offset' : 0.1, 'tau_refrac' : 0.1, 'v_thresh' : -52.2},n=5) 
     
    2323conn = connect(spike_source,ifcells,weight=1.5) 
    2424 
    25 record_v(ifcells[0], "Results/IF_curr_alpha2_%s.v" % simulator
     25record_v(ifcells[0], "Results/IF_curr_alpha2_%s.v" % simulator_name
    2626run(100.0) 
    2727 
  • trunk/test/IF_curr_exp.py

    r390 r391  
    1010import sys 
    1111 
    12 simulator = sys.argv[-1] 
     12simulator_name = sys.argv[-1] 
    1313 
    14 exec("from pyNN.%s import *" % simulator
     14exec("from pyNN.%s import *" % simulator_name
    1515 
    1616 
     
    2828connI = connect(spike_sourceI, ifcell, weight=-1.5, synapse_type='inhibitory', delay=4.0) 
    2929     
    30 record_v(ifcell, "Results/IF_curr_exp_%s.v" % simulator
     30record_v(ifcell, "Results/IF_curr_exp_%s.v" % simulator_name
    3131run(200.0) 
    3232   
  • trunk/test/IF_curr_exp2.py

    r390 r391  
    88from pyNN.random import NumpyRNG 
    99 
    10 simulator = sys.argv[-1] 
     10simulator_name = sys.argv[-1] 
    1111 
    12 exec("from pyNN.%s import *" % simulator
     12exec("from pyNN.%s import *" % simulator_name
    1313 
    1414 
    15 setup(timestep=0.01, min_delay=2.0, max_delay=4.0) 
     15setup(timestep=0.1, min_delay=2.0, max_delay=4.0) 
    1616 
    1717ifcell = create(IF_curr_exp,{'i_offset' :   0.1, 'tau_refrac' : 3.0, 
     
    3131conn = connect(spike_source, ifcell, weight=1.5, synapse_type='excitatory', delay=2.0) 
    3232     
    33 record(ifcell, "Results/IF_curr_exp2_%s.ras" % simulator
    34 record_v(ifcell, "Results/IF_curr_exp2_%s.v" % simulator
     33record(ifcell, "Results/IF_curr_exp2_%s.ras" % simulator_name
     34record_v(ifcell, "Results/IF_curr_exp2_%s.v" % simulator_name
    3535run(simtime) 
    3636   
  • trunk/test/SpikeSourcePoisson.py

    r390 r391  
    1010import sys 
    1111 
    12 simulator = sys.argv[-1] 
     12simulator_name = sys.argv[-1] 
    1313 
    14 exec("from pyNN.%s import *" % simulator
     14exec("from pyNN.%s import *" % simulator_name
    1515 
    1616 
     
    1919poissonsource = create(SpikeSourcePoisson,{'rate' : 100., 'duration' : 100., 'start' : 100.}) 
    2020 
    21 record(poissonsource, "Results/SpikeSourcePoisson_%s.ras" % simulator
     21record(poissonsource, "Results/SpikeSourcePoisson_%s.ras" % simulator_name
    2222run(300.0) 
    2323   
  • trunk/test/runtests.py

    r390 r391  
    77import logging 
    88import sys 
     9try: 
     10    import pylab 
     11    plotting = True 
     12except ImportError: 
     13    plotting = False 
    914 
    1015logging.basicConfig(level=logging.DEBUG, 
     
    2328    fail = False 
    2429    logfile = open("Results/%s_%s.log" % (cmd,engine), 'w') 
    25     if engine in ('nest1', 'pcsim', 'nest2', 'neuron'): 
     30    if engine in ('nest1', 'pcsim', 'nest2', 'neuron', 'neuron2'): 
    2631        cmd = sys.executable + ' ' + cmd + '.py ' + engine 
    2732    else: 
    28         logging.error('Invalid simulation engine "%s". Valid values are "nest1", "nest2", "pcsim", and "neuron"' % engine) 
     33        logging.error('Invalid simulation engine "%s". Valid values are "nest1", "nest2", "pcsim", "neuron", "neuron2"' % engine) 
    2934         
    3035    p = subprocess.Popen(cmd, shell=True, stdout=logfile, stderr=subprocess.PIPE, close_fds=True) 
     
    6570    fail = False 
    6671    fail_message = "" 
     72     
     73    if plotting: 
     74        fig = pylab.figure() 
     75        pylab.title(script) 
    6776     
    6877    for engine in engines: 
     
    91100                    trace = sortTracesByCells(trace, position) 
    92101                    traces[engine].append(trace) 
     102                    if plotting: 
     103                        pylab.plot(trace, label=engine) 
    93104            else: 
    94105                fail = True; fail_message += "No files match glob pattern. %s" % pattern 
     
    96107            fail = True 
    97108            fail_message += "Exception raised in %s. " % engine.upper() 
     109 
     110    if plotting: 
     111        pylab.legend() 
     112        pylab.savefig("Results/%s.png" % script) 
    98113 
    99114    if not fail: 
     
    193208if __name__ == "__main__": 
    194209     
    195     engine_list = ["nest1", "neuron", "pcsim", "nest2"
     210    engine_list = ["nest1", "neuron", "pcsim", "nest2", "neuron2"
    196211    for engine in engine_list: 
    197212        try: 
  • trunk/test/simpleNetwork.py

    r390 r391  
    1111import sys 
    1212 
    13 simulator = sys.argv[-1] 
     13simulator_name = sys.argv[-1] 
    1414 
    15 exec("from pyNN.%s import *" % simulator
     15exec("from pyNN.%s import *" % simulator_name
    1616 
    1717from NeuroTools.stgen import StGen 
     
    2929input_population  = Population(1, SpikeSourceArray, {'spike_times': spike_times }, "input") 
    3030 
    31 projection = Projection(input_population, output_population, 'allToAll'
     31projection = Projection(input_population, output_population, AllToAllConnector()
    3232projection.setWeights(1.0) 
    3333 
     
    3838run(tstop) 
    3939 
    40 output_population.printSpikes("Results/simpleNetwork_output_%s.ras" % simulator
    41 input_population.printSpikes("Results/simpleNetwork_input_%s.ras" % simulator
    42 output_population.print_v("Results/simpleNetwork_output_%s.v" % simulator
     40output_population.printSpikes("Results/simpleNetwork_output_%s.ras" % simulator_name
     41input_population.printSpikes("Results/simpleNetwork_input_%s.ras" % simulator_name
     42output_population.print_v("Results/simpleNetwork_output_%s.v" % simulator_name
    4343 
    4444end() 
  • trunk/test/simpleNetworkL.py

    r390 r391  
    1212import sys 
    1313 
    14 simulator = sys.argv[-1] 
     14simulator_name = sys.argv[-1] 
    1515 
    16 exec("from pyNN.%s import *" % simulator
     16exec("from pyNN.%s import *" % simulator_name
    1717 
    1818from NeuroTools.stgen import StGen 
     
    3434conn2 = connect(spike_source, ifcell2, weight=1.0) 
    3535     
    36 record_v(ifcell1, "Results/simpleNetworkL_1_%s.v" % simulator
    37 record_v(ifcell2, "Results/simpleNetworkL_2_%s.v" % simulator
     36record_v(ifcell1, "Results/simpleNetworkL_1_%s.v" % simulator_name
     37record_v(ifcell2, "Results/simpleNetworkL_2_%s.v" % simulator_name
    3838run(tstop) 
    3939     
  • trunk/test/small_network.py

    r390 r391  
    1212import sys 
    1313 
    14 simulator = sys.argv[-1] 
     14simulator_name = sys.argv[-1] 
    1515 
    16 exec("from pyNN.%s import *" % simulator
     16exec("from pyNN.%s import *" % simulator_name
    1717from NeuroTools.stgen import StGen 
    1818 
     
    4949cells.record_v() 
    5050 
    51 input_conns = Projection(spike_source,cells,'allToAll'
     51input_conns = Projection(spike_source, cells, AllToAllConnector()
    5252input_conns.setWeights(w) 
    5353input_conns.setDelays(syn_delay) 
     
    5757run(simtime) 
    5858 
    59 cells.printSpikes("Results/small_network_%s.ras" % (simulator, )) 
    60 cells.print_v("Results/small_network_%s.v" % (simulator, )) 
     59cells.printSpikes("Results/small_network_%s.ras" % (simulator_name, )) 
     60cells.print_v("Results/small_network_%s.v" % (simulator_name, )) 
    6161 
    6262print "Mean firing rate: ", cells.meanSpikeCount()*1000.0/simtime, "Hz"