Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add Destexhe 2001 Gfluct OU conductance based input source, tests, notebook showing conductances and distributions #9

Open
wants to merge 6 commits into
base: master
Choose a base branch
from

Conversation

sanjayankur31
Copy link

No description provided.

@sanjayankur31 sanjayankur31 marked this pull request as ready for review August 29, 2023 11:15
@sanjayankur31 sanjayankur31 changed the title wip: gfluct Add Destexhe 2001 Gfluct OU conductance based input source, tests, notebook showing conductances and distributions Aug 29, 2023
@sanjayankur31
Copy link
Author

Runs with jLEMS, but not with NEURON. When one runs the _nrn.py script, it gives:

]$ python LEMS_Gfluct_test_nrn.py 

    Starting simulation in NEURON of 3000ms generated from NeuroML2 model...

Population Pop0 contains 1 instance(s) of component: IF_curr_exp of type: IF_curr_exp
Processing 1 input lists
Finished processing 1 input lists
NEURON: syntax error
 near line 1
  { v_i_Currents_file.record(&syn_Pop0_0_0_noisyCurrentSource1_0.i) } 
                                                                ^
NEURON: syntax error
 near line 1
  { v_g_e_Conductance_file.record(&syn_Pop0_0_0_noisyCurrentSource1_0.g_e) } 
                                                                     ^
NEURON: syntax error
 near line 1
  { v_g_e1_Conductance_file.record(&syn_Pop0_0_0_noisyCurrentSource1_0.g_e1) } 
                                                                      ^
NEURON: syntax error
 near line 1
  { v_g_i_Conductance_file.record(&syn_Pop0_0_0_noisyCurrentSource1_0.g_i) } 
                                                                     ^
NEURON: syntax error
 near line 1
  { v_g_i1_Conductance_file.record(&syn_Pop0_0_0_noisyCurrentSource1_0.g_i1) } 
                                                                      ^
Setting up the network to simulate took 0.001689 seconds
Running a simulation of 3000.0ms (dt = 0.05ms; seed=54320)
Finished NEURON simulation in 0.072144 seconds (0.001202 mins)...
Saving results at t=3000.000000006531...
Saved data to: time.dat
Saved data to: i_gfluct.dat
Saved data to: g_gfluct.dat
Finished saving results in 0.110544 seconds
Done

So, the generation of the variable for the NEURON script doesn't quite work.

I'm not sure why this is, but based on what I read in jLEMS, this is treated like a synapse (the path has :), and so the NEURON variable is generated assuming its a synapse. I haven't seen any code that differentiates between a synaptic mechanism and an input mechanism either in jLEMS or in the Neuron writer. For the neuron script, to record conductances, one simply has to use Gfluct.g_e (i.e., <mechanism obj ref>.variable).

@pgleeson @borismarin : am I missing something here, or is recording from inputs in NEURON something we need to implement? (See also #6)

@sanjayankur31
Copy link
Author

image

^Graphs from the jupyternotebok for convenience

image

^Graphs from the paper (Fig 3)

sanjayankur31 and others added 3 commits August 29, 2023 15:15
@sanjayankur31 I believe there was a typo in the expression for the
total current in Gfluct.nml
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants