Estimation and Production of Time Intervals (Migliore et al 2001)

 Download zip file   Auto-launch 
Help downloading and running models
Accession:3167
NEURON model files from the paper M. Migliore, L. Messineo, M. Cardaci, G.F. Ayala, Quantitative modeling of perception and production of time intervals, J.Neurophysiol. 86, 2754-2760 (2001). Contact michele.migliore@pa.ibf.cnr.it if you have any questions about the implementation of the model.
Reference:
1 . Migliore M, Messineo L, Cardaci M, Ayala GF (2001) Quantitative modeling of perception and production of time intervals. J Neurophysiol 86:2754-60 [PubMed]
Model Information (Click on a link to find other models with that property)
Model Type: Neuron or other electrically excitable cell;
Brain Region(s)/Organism:
Cell Type(s):
Channel(s): I Na,t; I A; I K;
Gap Junctions:
Receptor(s): AMPA;
Gene(s):
Transmitter(s):
Simulation Environment: NEURON;
Model Concept(s): Simplified Models;
Implementer(s): Migliore, Michele [Michele.Migliore at Yale.edu];
Search NeuronDB for information about:  AMPA; I Na,t; I A; I K;
/
timing
README.txt
kaprox.mod *
kdrca1.mod *
na3.mod *
pnoise.mod
mosinit.hoc
timing_db.hoc
                            
COMMENT
*************** M.Migliore 2001 ************
Pulses of in (0.2ms) are generated using a modified Poisson
distribution of arrival times with mean frequency drawn from a normal distr.
At this time it cannot be started from the INITIAL block using the variable time step. 
An external event must be used.
ENDCOMMENT
					       
NEURON {
	POINT_PROCESS pnoise
	RANGE e,onset,gavr,count,alp,eps,bet,rfreq,meant,type,sd,start,seed
	NONSPECIFIC_CURRENT i
}
UNITS {
	(nA) = (nanoamp)
	(mV) = (millivolt)
	(umho) = (micromho)
}

PARAMETER {
	e=0	(mV)
	v	(mV)
	count=0
	onset=0 (ms)
	alp=0.8  (ms)
	bet=3  (ms)
	eps=1  (ms)
	on=0.02 (nA)
        gavr=0 (umho)
	meant=100 (ms) 
	rfreq=0 (ms)
	type=-1
	sd=0
	start=0
	seed=1
}

ASSIGNED {
	i (nA)
	in 
}

STATE {	c (microsiemens) <1.e-4> n (microsiemens) <1.e-4>}

INITIAL {
	c=0
	n=0
	in=0
	getpar(sd)
	getpar(type)
}

BREAKPOINT {
	SOLVE states METHOD sparse
	i = c*(v - e)
}

KINETIC states {
	~ in <-> n (1/alp, 0)
	~ n  <-> c (1/bet, 0)
	~ c   ->   (1/eps)
	}

PROCEDURE getpar(r) {
	if (r < 0) {
		if (r==-1) {onset=-rfreq*log(1-scop_random())
		} else {
		onset=rfreq
		}
		} else {
		while (rfreq<=0) {rfreq=normrand(meant,r)}
		}
}
NET_RECEIVE (w) {
	if (flag == 0) { : from external
			net_send(onset, 1)	:starts the process
			getpar(type)		:sets next onset
	}
	if (flag == 1) {
		in=gavr*on
		net_send(0, 0)
		net_send(.2, 2)
	}
	if (flag == 2) {
		in=0
		count=count+1
	}
}




Loading data, please wait...