0

I have tried to construct a Hodgkin-Huxley Model with brian2 and encountered the following error messages at the same time: 'Attribute' object has no attribute 'id' and Unknown syntax: Call at the same time. I used Anaconda Jupyternotebook amd my brian2 version is 2.5.1

This is the code I am working on:

from brian2 import *

cm = 1*uF
vna = -115*mV
vk = 12*mV
vl = -10.613*mV
gnabar = 120*mS
gkbar = 36*mS
gl = 0.3*mS
Iapp = 15*uA

# Typical equations
eqs = '''
dv/dt = (-ina - ik - il + Iapp ) / cm : volt
dn/dt = ((ninf - n)/taun)*Hz : 1
dm/dt = ((minf - m)/taum)*Hz : 1
dh/dt = ((hinf - h)/tauh)*Hz : 1
ina = gna* (v - vna) : amp
ik  = gk * (v - vk) : amp
il  = gl * (v - vl) : amp
gna = gnabar * m**3 * h : siemens
gk  = gkbar  * n**4 : siemens
an   = 0.01*(v + 55)/(1 - np.exp(-(v + 55)/10)) : 1
bn   = 0.125*np.exp(-(v + 65)/80) : 1
ninf = an/(an+bn) : 1
taun = 1/(an+bn) : 1
am   = 0.1*(v+40)/( 1 - np.exp(-(v+40)/10) ) : 1
bm   = 4*np.exp(-(v+65)/18) : 1
minf=am/(am+bm) : 1
taum=1/(am+bm) : 1
ah   = 0.07*np.exp(-(v+65)/20) : 1
bh   = 1/( 1 + np.exp(-(v+35)/10) ) : 1
hinf = ah/(ah+bh) :1 
tauh = 1/(ah+bh) : 1
'''


G = NeuronGroup(1, eqs, method = 'rk4')
G.v = -57*mV

M = StateMonitor(G, 'v', record=True)

run(50*ms)
    
plot(M.t/ms, M.v[0])
xlabel('t (ms)')
ylabel('V (mV)')

This parameters should return a repetitive spiking graph, but it returned error messages as below:

Traceback (most recent call last):

  File "C:\ProgramData\Anaconda3\lib\site-packages\brian2\parsing\rendering.py", line 78, in render_node
    return getattr(self, methname)(node)

  File "C:\ProgramData\Anaconda3\lib\site-packages\brian2\parsing\rendering.py", line 238, in render_Call
    return self.render_func(node.func)(*(self.render_node(arg)

  File "C:\ProgramData\Anaconda3\lib\site-packages\brian2\parsing\rendering.py", line 217, in render_func
    if node.id in DEFAULT_FUNCTIONS:

AttributeError: 'Attribute' object has no attribute 'id'


During handling of the above exception, another exception occurred:

Traceback (most recent call last):

  File "C:\ProgramData\Anaconda3\lib\site-packages\IPython\core\interactiveshell.py", line 3437, in run_code
    exec(code_obj, self.user_global_ns, self.user_ns)

  File "<ipython-input-8-fb76df00abe2>", line 56, in <module>
    G = NeuronGroup(1, eqs, method = 'rk4')

  File "C:\ProgramData\Anaconda3\lib\site-packages\brian2\groups\neurongroup.py", line 499, in __init__
    model = Equations(model)

  File "C:\ProgramData\Anaconda3\lib\site-packages\brian2\equations\equations.py", line 554, in __init__
    self._equations = parse_string_equations(eqns)

  File "C:\ProgramData\Anaconda3\lib\site-packages\brian2\utils\caching.py", line 101, in cached_func
    func._cache[cache_key] = func(*args, **kwds)

  File "C:\ProgramData\Anaconda3\lib\site-packages\brian2\equations\equations.py", line 366, in parse_string_equations
    expression = Expression(p.sub(' ', expression))

  File "C:\ProgramData\Anaconda3\lib\site-packages\brian2\equations\codestrings.py", line 107, in __init__
    str_to_sympy(code)

  File "C:\ProgramData\Anaconda3\lib\site-packages\brian2\parsing\sympytools.py", line 76, in str_to_sympy
    return _str_to_sympy(expr)

  File "C:\ProgramData\Anaconda3\lib\site-packages\brian2\utils\caching.py", line 101, in cached_func
    func._cache[cache_key] = func(*args, **kwds)

  File "C:\ProgramData\Anaconda3\lib\site-packages\brian2\parsing\sympytools.py", line 82, in _str_to_sympy
    s_expr = SympyNodeRenderer().render_expr(expr)

  File "C:\ProgramData\Anaconda3\lib\site-packages\brian2\parsing\rendering.py", line 66, in render_expr
    return self.render_node(node.body)

  File "C:\ProgramData\Anaconda3\lib\site-packages\brian2\parsing\rendering.py", line 78, in render_node
    return getattr(self, methname)(node)

  File "C:\ProgramData\Anaconda3\lib\site-packages\brian2\parsing\rendering.py", line 274, in render_BinOp
    1 / self.render_node(node.right))

  File "C:\ProgramData\Anaconda3\lib\site-packages\brian2\parsing\rendering.py", line 78, in render_node
    return getattr(self, methname)(node)

  File "C:\ProgramData\Anaconda3\lib\site-packages\brian2\parsing\rendering.py", line 283, in render_BinOp
    -self.render_node(node.right))

  File "C:\ProgramData\Anaconda3\lib\site-packages\brian2\parsing\rendering.py", line 80, in render_node
    raise SyntaxError(f"Unknown syntax: {nodename}")

  File "<string>", line unknown
SyntaxError: Unknown syntax: Call
colidyre
  • 4,170
  • 12
  • 37
  • 53
ZLi
  • 1

0 Answers0