NEURON GUI suddenly closes; why..?

Anything that doesn't fit elsewhere.
Post Reply
OJAG

NEURON GUI suddenly closes; why..?

Post by OJAG »

Hi Ted,

I am running a simulation already for 1 year and everything was quite ok. Now I decided to increase the running time from tstop=4e4(ms) to tstop=1.6e5(ms) and I already realized that at time t=1.53e5(ms) everything suddenly closes, I mean the whole GUI of NEURON and even the console. What could be a reason for that?


Thanks a lot for your help in advance


Oscar Javier
ted
Site Admin
Posts: 6299
Joined: Wed May 18, 2005 4:50 pm
Location: Yale University School of Medicine
Contact:

Re: NEURON GUI suddenly closes; why..?

Post by ted »

Very strange. To identify the cause, I'll have to be able to reproduce the symptom. Can you zip up the mod, hoc, and ses files that are necessary to run the simulation, and send them to me
ted dot carnevale at yale dot edu
?

Also, what version of NEURON are you using?
OJAG

Re: NEURON GUI suddenly closes; why..?

Post by OJAG »

Hi Again Ted,

I have been looking at my simulation and the problem seem to be related with the "weight" of external drive in the form of spikes trains. To deliver the spikes I am creating one NetStim object such that

tstop=2e5ms-2.5e5
.
.
.
interval=90ms
number=tstop/interval
noise=1

This connected to a Expsyn with e=0V tau=2ms and w=3.3e-4 uS, this last parameter appears to be responsible for the crashing of the whole simulation and even the sudden closing of the GUI and console after 1.53e5ms. The strange thing is that by reducing w from 3.3e-4 uS to 1.6e-4uS the simulation runs at least until 2.5e5ms i.e. about the double of the original time.

I think it could be one problem of instability during the computation of the exponential solution of the derivative in the Expsyn object but I can't really see a clear relation between the problem and the object,


The second possibility is that the problem is related to the definition of my gaba synapses and although I haven't found suspicious stuff maybe something in the state discontinuity of the NET_RECEIVE block can be producing divergences in during the computation, here a copy of the used GABAA receptor definition

Code: Select all

TITLE first_GABA_recept_model (first order kinetics )
COMMENT
This program just explore basics charactieristics of GABAergic synapses
in the frame of  a simple integrate and fire model. Modified from original of R. van Elburg and based on
Bush PC, Prince DA, Miller KD (1999),J Neurophysiol 82:1748-58





    This is mod-file describes a point process with first order kinetics, that can act as several 
    synapses described by first order kinetics.
     
	Author: 
	Taken from  model for pyramidal cells in J. Tegner, A. Compte, 
	X.J. Wang, J. Neurosci. 22(20): 9053-9062, 2002	
	X.J. Wang, J. Neurosci. 21(19):9587-9603

	Modifications:
	
	ID	Date		Authors				Email			Description
	M_001
	
ENDCOMMENT

NEURON {
	POINT_PROCESS Gaba_syn
	RANGE e, i, g
	RANGE tau_d, frac_rec
	RANGE area_cell
	NONSPECIFIC_CURRENT i
}

UNITS {
	(nA)   = (nanoamp)
	(mV)   = (millivolt)
	(uS)   = (microsiemens)
	(um)   = (micron)
}

PARAMETER {
	: e = -90 mV for inhibitory synapses,
	:     0 mV for excitatory
	:e = 	:-90 
	e=-80	(mV): value of boergers and koppel's paper
	
	: tau_d decay time, frac_rec usage fraction of receptors
		tau_d = 10 (ms) 	< 1e-9, 1e9 > : 
	    frac_rec = 0.9 (1) 	<0,1>
	
	: maximum coductance
	   g=1e-5 (uS/um2) : this must be multiplied by the area to give actual walue
                   : since the conductance density is  gie=5-7mS/cm2 gii=15-20mS/cm2
                   : Jensen et al. NeuroImage 26 (2005) 347-355
                   
    :cell surface area
        area_cell= 1 (um2)
}

ASSIGNED {
	v (mV)
	i (nA)
	g_eff (uS)
	
}

STATE {
	s
}

INITIAL {
	s=0 :
	g_eff=g*area_cell
}

BREAKPOINT {
	SOLVE state METHOD cnexp
	i =g_eff*s*(v - e) :
}

DERIVATIVE state {
	s' = 	-s/tau_d
}

NET_RECEIVE(weight,s_tp,tp(ms)) {:tp time of previous spike
	: Calculate current value single synapse state variable at t-epsilon
	UNITSOFF
	:printf("%g  %g\t",t,s_tp)
    s_tp =s_tp*weight*exp(-(t-tp)/tau_d) 
    :printf("%g\t",s_tp)
	UNITSON
	
	: To make sure that we add the same amount to the exact single synapse state variable and the summed
	: state variable we should first update the summed variable and then the single synapse state variable
	state_discontinuity(s, s + frac_rec*weight*(1-s_tp))	
    s_tp = s_tp + frac_rec*(1-s_tp)
	:printf("%g %g %g %g\n",weight,s_tp,s,frac_rec)
    tp=t
}
One more question: Is it possible to get a log file for each run of the simulation?

Thanks again for any clue

Oscar Javier
Post Reply