Hippocampal basket cell gap junction network dynamics (Saraga et al. 2006)

 Download zip file   Auto-launch 
Help downloading and running models
Accession:114047
2 cell network of hippocampal basket cells connected by gap junctions. Paper explores how distal gap junctions and active dendrites can tune network dynamics.
Reference:
1 . Saraga F, Ng L, Skinner FK (2006) Distal gap junctions and active dendrites can tune network dynamics. J Neurophysiol 95:1669-82 [PubMed]
Model Information (Click on a link to find other models with that property)
Model Type: Realistic Network;
Brain Region(s)/Organism:
Cell Type(s): Hippocampus CA1 basket cell; Abstract Wang-Buzsaki neuron;
Channel(s): I Na,t; I K;
Gap Junctions: Gap junctions;
Receptor(s):
Gene(s):
Transmitter(s): Gaba;
Simulation Environment: NEURON;
Model Concept(s): Activity Patterns; Oscillations; Active Dendrites; Action Potentials; Electrotonus; Delay;
Implementer(s): Saraga, Fernanda [Fernanda.Saraga at utoronto.ca];
Search NeuronDB for information about:  I Na,t; I K; Gaba;
/
Basketcell
README.HTML
gap.mod
hh.mod
cella.hoc
cellb.hoc
default_init.hoc
extras.hoc
fig6.hoc
freq.hoc
gapdist.hoc
gapdist.ses
gapmid.hoc
gapmid.ses
gapprox.hoc
gapprox.ses
init.hoc
initdist.hoc
initmid.hoc
initprox.hoc
maxvalue.hoc
minvalue.hoc
mosinit.hoc *
phaselag.hoc
prog.hoc
screenshot.jpg
state.hoc
state_init0.hoc
state_init1.hoc
xyvalues.hoc
                            
/*
WHAT THIS DOES

For finding y values:
It lets you type in the x value (time in ms) of a plot and displays the corresponding y value (in units of the vector).

For finding x values:
Specifies 'start' and 'stop' times (in ms) of where you want to search for the x values corresponding to your specified y value.
Specifies the range (float_epsilon) above and below your specified y value that is considered a match.
At the moment, please look at terminal for print out of the x values.
(I will fix this when I have time...)

Note:	You need to open a new window for each signal you want to measure values.
	If recording a vector (as opposed to picking one after), you need to select the vector
	before hitting "Init & Run"


HOW TO USE

If using this tool individually (not via extra.hoc),
place this file along with other model hoc files.
In the oc> prompt, type...
load_file("xyvalues.hoc")

Find the xy Values window in 'Tools' -> 'Miscellaneous'


-- Leo Ng
   July 8, 2004
*/


begintemplate XYValues

// rec record values of the vector.
// vec points to either rec or picked vector hoc_obj
public Select, x1, y1, y2, start, finish, range, rec, box, vec
external hoc_obj_
objref this, rec, sc, box, vec
strdef sig, cmd, x2values, title

// Sets the default values and creates the vectors.
proc init() {
	x1 = 0
	y1 = 0
	y2 = 0
	start = 0
	finish = 0
	range = 1
	sig = ""

	rec = new Vector()
	vec = rec
	sc = new SymChooser("Choose Vector")
	CreatePanel()
}

// Creates the GUI.
proc CreatePanel() {
	box = new VBox()
	box.ref(this)
	box.intercept(1)

	xpanel("xy Values")
	xbutton("Select Vector", "Select()")
	xvarlabel(sig)
	xvarlabel("")
	xradiobutton("Use recorded vector (above)", "vec = rec", 1)
	xradiobutton("Use picked vector", "vec = hoc_obj_[0]", 0)
	xvarlabel("")
	xvarlabel("Finding the corresponding y value:")
	xpvalue("Time (ms)", &x1, 1, "y1 = vec.x[x1/dt]")
	xvalue("Corresponding y Value", "y1", 2)
	xvarlabel("")
	xvarlabel("Finding the corresponding x value:")
	xpvalue("Interval Start (ms)", &start, 1)
	xpvalue("Interval End (ms)", &finish, 1)
	xpvalue("Float Epsilon", &range, 1)
	xpvalue("y Value", &y2, 1, "FindxValue()")
	xvarlabel("See terminal for x values")
	xpanel()

	box.intercept(0)
	sprint(title, "%s", this)
	box.map(title)
}

// Find x values within specified time interval.
// x values are found for values within 'range' of 'y2'
proc FindxValue() { local i, tmp
	tmp = float_epsilon
	float_epsilon = range
	print "The corresponding x values (t in ms) to ", y2, "in ", vec, " are:"
	for (i = start/dt; i <= (finish/dt - 1); i += 1) {
		if (vec.x[i] == y2) {
			print i*dt
		}
	}
	print " "
	float_epsilon = tmp
}

// Loads the signal choosing menu.
proc Select() {
	// Opens the SymChooser menu.
	// Stores the chosen variable in 'sig'.
	// Tells rec to record 'sig'.
	if (sc.run()) {
		sc.text(sig)
		sprint(cmd, "%s.rec.record(&%s)", this, sig)
		execute(cmd)
	}
}

endtemplate XYValues

// Adds windows to NEURON's main menu.
objref xyValues
proc MakexyValues() {
	xyValues = new XYValues()
	objref xyValues
}
nrnmainmenu_.miscellaneous_add("xy Values", "MakexyValues()")

Loading data, please wait...