Ejemplo n.º 1
0
def test_coba_synapse():
    nineml_component = TestableComponent('coba_synapse')()
    if not nineml_component:
        raise RuntimeError('Cannot load NineML component')

    timeHorizon = 1
    reportingInterval = 0.001
    parameters = {
        'CobaSyn.q': 4.0E-9,
        'CobaSyn.tau': 0.005,
        'CobaSyn.vrev': 0.0
    }
    initial_conditions = {
        'CobaSyn.g': 1E-8,
    }
    analog_ports_expressions = {'CobaSyn.V': -0.050}
    event_ports_expressions = {
        'CobaSyn.spikeinput':
        ''  #'0.05, 0.10, 0.20, 0.30, 0.40, 0.50, 0.60, 0.70, 0.80, 0.90'
    }
    active_regimes = {'CobaSyn': 'cobadefaultregime'}
    variables_to_report = {'CobaSyn.I': True}

    inspector = nineml_component_inspector()
    inspector.inspect(nineml_component,
                      timeHorizon=timeHorizon,
                      reportingInterval=reportingInterval,
                      parameters=parameters,
                      initial_conditions=initial_conditions,
                      active_regimes=active_regimes,
                      analog_ports_expressions=analog_ports_expressions,
                      event_ports_expressions=event_ports_expressions,
                      variables_to_report=variables_to_report)
    results = inspector.showQtGUI()
    return results, inspector
Ejemplo n.º 2
0
def test_iaf():
    nineml_component = TestableComponent('iaf')()
    if not nineml_component:
        raise RuntimeError('Cannot load NineML component')

    timeHorizon = 1
    reportingInterval = 0.001
    parameters = {
        'iaf.cm': 0.2E-9,
        'iaf.gl': 1E-8,
        'iaf.taurefrac': 0.001,
        'iaf.vreset': -0.060,
        'iaf.vrest': -0.060,
        'iaf.vthresh': -0.040
    }
    initial_conditions = {'iaf.V': -0.050, 'iaf.tspike': -1.0}
    analog_ports_expressions = {'iaf.ISyn': 0.0}
    event_ports_expressions = {}
    active_regimes = {'iaf': 'subthresholdregime'}
    variables_to_report = {'iaf.V': True}

    inspector = nineml_component_inspector()
    inspector.inspect(nineml_component,
                      timeHorizon=timeHorizon,
                      reportingInterval=reportingInterval,
                      parameters=parameters,
                      initial_conditions=initial_conditions,
                      active_regimes=active_regimes,
                      analog_ports_expressions=analog_ports_expressions,
                      event_ports_expressions=event_ports_expressions,
                      variables_to_report=variables_to_report)
    results = inspector.showQtGUI()
    return results, inspector
Ejemplo n.º 3
0
def test_Izhikevich():
    nineml_component = TestableComponent('izhikevich')()
    if not nineml_component:
        raise RuntimeError('Cannot load NineML component')

    timeHorizon = 1
    reportingInterval = 0.001
    parameters = {
        "Izhikevich.a": 0.02,
        "Izhikevich.b": 0.2,
        "Izhikevich.c": -0.05,
        "Izhikevich.d": 2.0,
        "Izhikevich.theta": 0.03
    }
    initial_conditions = {"Izhikevich.U": 0.0, "Izhikevich.V": -0.07}
    analog_ports_expressions = {"Izhikevich.Isyn": "0.1"}
    event_ports_expressions = {}
    active_regimes = {}
    variables_to_report = {'Izhikevich.U': True, 'Izhikevich.V': True}

    inspector = nineml_component_inspector()
    inspector.inspect(nineml_component,
                      timeHorizon=timeHorizon,
                      reportingInterval=reportingInterval,
                      parameters=parameters,
                      initial_conditions=initial_conditions,
                      active_regimes=active_regimes,
                      analog_ports_expressions=analog_ports_expressions,
                      event_ports_expressions=event_ports_expressions,
                      variables_to_report=variables_to_report)
    results = inspector.showQtGUI()
    return results, inspector
Ejemplo n.º 4
0
def test_other(component_name):
    nineml_component = TestableComponent(component_name)()
    if not nineml_component:
        raise RuntimeError('Cannot load NineML component {0}'.format(component_name))

    inspector = nineml_component_inspector()
    inspector.inspect(nineml_component)
    results = inspector.showQtGUI()
    return results, inspector
Ejemplo n.º 5
0
def test_other(component_name):
    nineml_component = TestableComponent(component_name)()
    if not nineml_component:
        raise RuntimeError(
            'Cannot load NineML component {0}'.format(component_name))

    inspector = nineml_component_inspector()
    inspector.inspect(nineml_component)
    results = inspector.showQtGUI()
    return results, inspector
Ejemplo n.º 6
0
def test_hierachical_iaf_1coba():
    nineml_component = TestableComponent('hierachical_iaf_1coba')()
    if not nineml_component:
        raise RuntimeError('Cannot load NineML component')

    timeHorizon = 1.0
    reportingInterval = 0.001
    initial_conditions = {
        "iaf_1coba.iaf.tspike": -1.0,
        "iaf_1coba.iaf.V": -0.060,
        "iaf_1coba.cobaExcit.g": 0.0
    }
    parameters = {
        "iaf_1coba.iaf.gl": 1E-8,
        "iaf_1coba.iaf.vreset": -0.060,
        "iaf_1coba.iaf.taurefrac": 0.001,
        "iaf_1coba.iaf.vthresh": -0.040,
        "iaf_1coba.iaf.vrest": -0.060,
        "iaf_1coba.iaf.cm": 0.2E-9,
        "iaf_1coba.cobaExcit.vrev": 0.0,
        "iaf_1coba.cobaExcit.q": 4.0E-9,
        "iaf_1coba.cobaExcit.tau": 0.005
    }
    variables_to_report = {
        "iaf_1coba.cobaExcit.I": True,
        "iaf_1coba.iaf.V": True
    }
    event_ports_expressions = {
        "iaf_1coba.cobaExcit.spikeinput":
        "0.05, 0.10, 0.20, 0.30, 0.40, 0.50, 0.60, 0.70, 0.80, 0.90"
    }
    active_regimes = {
        "iaf_1coba.cobaExcit": "cobadefaultregime",
        "iaf_1coba.iaf": "subthresholdregime"
    }
    analog_ports_expressions = {}

    inspector = nineml_component_inspector()
    inspector.inspect(nineml_component,
                      timeHorizon=timeHorizon,
                      reportingInterval=reportingInterval,
                      parameters=parameters,
                      initial_conditions=initial_conditions,
                      active_regimes=active_regimes,
                      analog_ports_expressions=analog_ports_expressions,
                      event_ports_expressions=event_ports_expressions,
                      variables_to_report=variables_to_report)
    results = inspector.showQtGUI()
    return results, inspector
Ejemplo n.º 7
0
def test_hierachical_iaf_1coba():
    nineml_component = TestableComponent('hierachical_iaf_1coba')()
    if not nineml_component:
        raise RuntimeError('Cannot load NineML component')

    timeHorizon =  1.0
    reportingInterval = 0.001 
    initial_conditions = {
        "iaf_1coba.iaf.tspike": -1.0, 
        "iaf_1coba.iaf.V": -0.060, 
        "iaf_1coba.cobaExcit.g": 0.0
    }
    parameters = {
        "iaf_1coba.iaf.gl": 1E-8, 
        "iaf_1coba.iaf.vreset": -0.060, 
        "iaf_1coba.iaf.taurefrac": 0.001, 
        "iaf_1coba.iaf.vthresh": -0.040, 
        "iaf_1coba.iaf.vrest": -0.060, 
        "iaf_1coba.iaf.cm": 0.2E-9,
        
        "iaf_1coba.cobaExcit.vrev": 0.0, 
        "iaf_1coba.cobaExcit.q": 4.0E-9, 
        "iaf_1coba.cobaExcit.tau": 0.005
    } 
    variables_to_report = {
        "iaf_1coba.cobaExcit.I": True, 
        "iaf_1coba.iaf.V": True
    } 
    event_ports_expressions = {
        "iaf_1coba.cobaExcit.spikeinput": "0.05, 0.10, 0.20, 0.30, 0.40, 0.50, 0.60, 0.70, 0.80, 0.90"
    } 
    active_regimes = {
        "iaf_1coba.cobaExcit": "cobadefaultregime", 
        "iaf_1coba.iaf": "subthresholdregime"
    } 
    analog_ports_expressions = {}

    inspector = nineml_component_inspector()
    inspector.inspect(nineml_component, timeHorizon              = timeHorizon,
                                        reportingInterval        = reportingInterval,
                                        parameters               = parameters,
                                        initial_conditions       = initial_conditions,
                                        active_regimes           = active_regimes,
                                        analog_ports_expressions = analog_ports_expressions,
                                        event_ports_expressions  = event_ports_expressions,
                                        variables_to_report      = variables_to_report)
    results = inspector.showQtGUI()
    return results, inspector
Ejemplo n.º 8
0
def test_iaf():
    nineml_component = TestableComponent('iaf')()
    if not nineml_component:
        raise RuntimeError('Cannot load NineML component')

    timeHorizon = 1
    reportingInterval = 0.001
    parameters = {
        'iaf.cm' : 0.2E-9,
        'iaf.gl' : 1E-8,
        'iaf.taurefrac' : 0.001,
        'iaf.vreset' : -0.060,
        'iaf.vrest' : -0.060,
        'iaf.vthresh' : -0.040
    }
    initial_conditions = {
        'iaf.V' : -0.050,
        'iaf.tspike' : -1.0
    }
    analog_ports_expressions = {
        'iaf.ISyn' : 0.0
    }
    event_ports_expressions = {}
    active_regimes = {
        'iaf' : 'subthresholdregime'
    }
    variables_to_report = {
        'iaf.V' : True
    }

    inspector = nineml_component_inspector()
    inspector.inspect(nineml_component, timeHorizon              = timeHorizon,
                                        reportingInterval        = reportingInterval,
                                        parameters               = parameters,
                                        initial_conditions       = initial_conditions,
                                        active_regimes           = active_regimes,
                                        analog_ports_expressions = analog_ports_expressions,
                                        event_ports_expressions  = event_ports_expressions,
                                        variables_to_report      = variables_to_report)
    results = inspector.showQtGUI()
    return results, inspector
Ejemplo n.º 9
0
def test_Izhikevich():
    nineml_component = TestableComponent('izhikevich')()
    if not nineml_component:
        raise RuntimeError('Cannot load NineML component')

    timeHorizon = 1
    reportingInterval = 0.001
    parameters = {
                    "Izhikevich.a": 0.02,
                    "Izhikevich.b": 0.2,
                    "Izhikevich.c": -0.05,
                    "Izhikevich.d": 2.0,
                    "Izhikevich.theta": 0.03
                 }
    initial_conditions = {
                            "Izhikevich.U": 0.0,
                            "Izhikevich.V": -0.07
                         }
    analog_ports_expressions = {
                                  "Izhikevich.Isyn": "0.1"
                               }
    event_ports_expressions = {}
    active_regimes = {}
    variables_to_report = {
                             'Izhikevich.U' : True,
                             'Izhikevich.V' : True
                          }

    inspector = nineml_component_inspector()
    inspector.inspect(nineml_component, timeHorizon              = timeHorizon,
                                        reportingInterval        = reportingInterval,
                                        parameters               = parameters,
                                        initial_conditions       = initial_conditions,
                                        active_regimes           = active_regimes,
                                        analog_ports_expressions = analog_ports_expressions,
                                        event_ports_expressions  = event_ports_expressions,
                                        variables_to_report      = variables_to_report)
    results = inspector.showQtGUI()
    return results, inspector
Ejemplo n.º 10
0
def test_coba_synapse():
    nineml_component = TestableComponent('coba_synapse')()
    if not nineml_component:
        raise RuntimeError('Cannot load NineML component')

    timeHorizon = 1
    reportingInterval = 0.001
    parameters = {
        'CobaSyn.q' : 4.0E-9,
        'CobaSyn.tau' : 0.005,
        'CobaSyn.vrev' : 0.0
    }
    initial_conditions = {
        'CobaSyn.g' : 1E-8,
    }
    analog_ports_expressions = {
        'CobaSyn.V' : -0.050
    }
    event_ports_expressions = {
        'CobaSyn.spikeinput' : '' #'0.05, 0.10, 0.20, 0.30, 0.40, 0.50, 0.60, 0.70, 0.80, 0.90'
    }
    active_regimes = {
        'CobaSyn' : 'cobadefaultregime'
    }
    variables_to_report = {
        'CobaSyn.I' : True
    }

    inspector = nineml_component_inspector()
    inspector.inspect(nineml_component, timeHorizon              = timeHorizon,
                                        reportingInterval        = reportingInterval,
                                        parameters               = parameters,
                                        initial_conditions       = initial_conditions,
                                        active_regimes           = active_regimes,
                                        analog_ports_expressions = analog_ports_expressions,
                                        event_ports_expressions  = event_ports_expressions,
                                        variables_to_report      = variables_to_report)
    results = inspector.showQtGUI()
    return results, inspector
Ejemplo n.º 11
0
            .format(outdir, texFile))
        res = os.system(
            '/usr/bin/pdflatex -interaction=nonstopmode -output-directory {0} {1}'
            .format(outdir, texFile))
    else:
        res = os.system(
            '/usr/bin/pdflatex -interaction=nonstopmode {0}'.format(texFile))
        res = os.system(
            '/usr/bin/pdflatex -interaction=nonstopmode {0}'.format(texFile))

    return res


def showFile(pdf):
    if os.name == 'nt':
        os.filestart(pdf)
    elif os.name == 'posix':
        os.system('/usr/bin/xdg-open ' + pdf)


if __name__ == "__main__":
    component = 'hierachical_iaf_1coba'
    tex = component + '.tex'
    pdf = component + '.pdf'
    nineml_component = TestableComponent(component)()
    inspector = nineml_component_inspector()
    inspector.inspect(nineml_component)
    createLatexReport(inspector, [], 'nineml-tex-template.tex', tex)
    res = createPDF(tex)
    showFile(pdf)
Ejemplo n.º 12
0
    # Connect data reporter
    simName = simulation.m.Name + strftime(" [%d.%m.%Y %H:%M:%S]", localtime())
    if(datareporter.Connect("", simName) == False):
        sys.exit()

    # Initialize the simulation
    simulation.Initialize(daesolver, datareporter, log)

    # Solve at time=0 (initialization)
    simulation.SolveInitial()

    # Run
    simulation.Run()
    simulation.Finalize()

    inspector = nineml_component_inspector()
    inspector.inspect(nineml_comp)

    tmpFolder = tempfile.gettempdir()
    log_output = log.JoinMessages('\n')
    plots = datareporter.createReportData(tmpFolder)

    dictInputs = {}
    dictInputs['parameters']                = parameters
    dictInputs['initial_conditions']        = initial_conditions
    dictInputs['analog_ports_expressions']  = analog_ports_expressions
    dictInputs['event_ports_expressions']   = event_ports_expressions
    dictInputs['active_regimes']            = active_regimes
    dictInputs['variables_to_report']       = variables_to_report
    dictInputs['timeHorizon']               = timeHorizon
    dictInputs['reportingInterval']         = reportingInterval