LGMD with 3D morphology and active dendrites (Dewell & Gabbiani 2018)

 Download zip file   Auto-launch 
Help downloading and running models
Accession:195666
This is a model of the locust LGMD looming sensitive neuron from Dewell & Gabbiani 2018. The morphology was constructed based on 2-photon imaging, and active conductances throughout the neuron were based on sharp electrode recordings in vivo.
Reference:
1 . Dewell RB, Gabbiani F (2018) Biophysics of object segmentation in a collision-detecting neuron. Elife [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): Locust Lobula Giant Movement Detector (LGMD) neuron;
Channel(s): I M; I h; Ca pump; I K,Ca; I T low threshold; I_KD;
Gap Junctions:
Receptor(s):
Gene(s):
Transmitter(s):
Simulation Environment: NEURON;
Model Concept(s): Active Dendrites; Synaptic Integration; Spatio-temporal Activity Patterns; Vision;
Implementer(s): Dewell, Richard Burkett [dewell at bcm.edu]; Gabbiani, F;
Search NeuronDB for information about:  I T low threshold; I M; I h; I K,Ca; I_KD; Ca pump;
//
// SumPulse(amp, count, delay, start, dc, dc_start, dc_end)
// InjectChirp(amp, f0, bta, start, chirptype, duration, dc, dc_start, dc_end)
//
// current injection procedures
//
//

objref idc[1], sp[1]

proc SumPulse() {local n, amp, count, delay, start, dc, dc_t1, dc_t2
//SumPulse( amp, count, delay, start, dc, dc start, dc end)
//e.g. Tines[786] {SumPulse( 3, 5, 10, 250, -3, 100, 400)}

	n = numarg()

	amp		= $1		// amplitude of sEPSP
	count	= $2		// number sEPSP
	if (count < 1) {
		return
	}
	delay	= $3		// delay between sEPSP
	start	= $4		// time to start sEPSP
	if(n > 5) {
		dc		= $5	// offset level
		dc_t1 	= $6	// start of holding current
		dc_t2	= $7	// end holding current		
	} else {
		dc = 0
	}
	
	idc[0] = new IClamp(0.5)
	idc[0].amp = dc
	if (dc != 0) {
		idc[0].dur = dc_t2 - dc_t1
		idc[0].del = dc_t1
	}
	
	objref sp[count]
	for (i=0; i<count; i=i+1) {
		sp[i] = new sEPSP(0.5)     // sEPSP waveform (defined in sEPSP.mod)
		sp[i].A	= amp
		sp[i].onset= start+delay*i
	}
	
} // end SumPulses()


proc InjectChirp() {local n, amp, f0, beta, start, flag, duration, dc, dc_t1, dc_t2
//InjectChirp(amp, init_freq, beta, chirp start, chirp type, duration, dc, dc start, dc end)
//e.g. Tines[786] {InjectChirp(2, 10, 0, 250, 0, 1000, -3, 100, 1400)}

	n = numarg()

	amp		= $1		// amplitude of the chirp
	if (amp == 0) {
		return
	}
	f0		= $2		// initial frequency of the chirp
	beta 	= $3		// rate of frequency change
	start	= $4		// start time of the chirp stimulation
	flag	= $5		// type of chirp
	duration	= $6	// duration of chirp (ms)
	
	if (n > 7) {
		dc		= $7	// offset level
		dc_t1 	= $8	// start of holding current
		dc_t2	= $9	// end holding current		
	} else {
		dc = 0
	}
	
	idc[0] = new IClamp(0.5)
	idc[0].amp = dc
	if (dc != 0) {
		idc[0].dur = dc_t2 - dc_t1
		idc[0].del = dc_t1
	}

	sp[0] = new chirp(0.5)     // chirp waveform (defined in chirp.mod)
	sp[0].amp	= amp
	sp[0].t1	= start
	sp[0].beta	= beta
	sp[0].Finit	= f0
	sp[0].ctype	= flag
	sp[0].dur	= duration

} // end InjectChirp()

Loading data, please wait...