This folder contains all of the code necessary to generate the data
for the simplified axon models as well as the models using the exact
geometry of cell reconstructions.

The data for AP propagation across a gap junction in the main axon
(figures 8 and 9) was generated by vs-expcell_gj.hoc.

The data using the alternative currents from Schmidt-Hieber et
al. (2008) was generated by vs-expcell_gj_Jonas.hoc. Likewise, data
for AP propagation across a gap junction in the initial segment was
generated by vs-expcell_gjISgNa.hoc (for axonal stimulation, figures 6
and 7) and vs-expcell_gjsISgNa.hoc (for somatic stimulation).

Before loading vs-expcell_gj.hoc, vs-expcell_gj_Jonas.hoc,
vs-expcell_gjISgNa.hoc, or vs-expcell gjsISgNa.hoc, you must first set
the variables: g_gj (gap junction conductance), vs (somatic voltage),
and layer (2, 4, or 5). You can do this by first launching NEURON with
simulation_base.hoc, setting these variables, and then loading the
file "vs-expcell_gj.hoc".
Typical values for the somatic voltage were -80, -70, and -60. Typical
gap junction conductances were .001 to .01 (uS) for main axon gap
junctions, and .008 to .024 (uS) for IS gap junctions.
The program vs-expcell_gj.hoc does take awhile, because it is doing an
iterative search for the g_Na threshold. If you want to watch what is
going on, you can call setup_gj_session() before loading the file.


Data for AP propagation from a collateral to the main axon (figure 6)
was generated by vs-generic_cutoff.hoc and vs-arg_cutoff.hoc. The data
using alternative current from Schmidt-Hieber et al. (2008) was
generated by vs-generic_cutoff_Jonas.hoc and
vs-arg_cutoff_Jonas.hoc. Before loading these files, you must first
set the variables: cell_name (name of cell to be loaded), IS
(compartment number for IS), prop_site (compartment number where AP
propgation is tested), extstim (compartment number to apply external
stimulation), junction (compartment number where collateral meets the
main axon).

vs-expcell_gj_gL.hoc was used to create figure 10.
vs-expcell_gjCC.hoc was used to create figure 14 in the appendix.

The folder run_files contains all of the batch scripts used to run
these experiments. The scripts for AP propagation from collaterals
specify the parameters used for each cell in figure 6.

simulation_base.hoc contains all of the main functions for running
simulations. The load_axon() function is used to load all axon/cell
templates. The first argument indicates which cell to load: numbers
1-7 are for cells using the exact geometry of 3D reconstructions, 8 is
for BranchDistCell which is the template for the simplified axon
model.  The load_gj_axons() function is used to load 2 simplified
axons coupled by a gap junction.

Once an axon/cell is loaded then you can call
setup_session() or setup_gj_session() to display: 
(1) the run control window
(2) a graph of time versus voltage for the 
    - extstim_site: site where external stimulus is applied
    - extstimrec_site: site where we record to see if an AP was
    induced at the extstim_site
    - stim_site: site where the collateral meets the main axon (
    collateral *stimulates* the main axon)
    - prop_site: site where we test to see if an AP propagated
    - soma
(3) the PointProcessGroupManager
(4) a Shape Plot of the cell(s)

Other important functions are run_search() and refine_search(). These
are the gateway functions to find the g_Na thresholds. run_seach() is
for finding a threshold that hasn't been investigated yet. Once a
threshold has been investigated, the search generates a
"simulation_database" file that contains all the results of the
search. This file can then be used to refine the threshold value in
subsequent searchs called with refine_search(). All code for actually
finding the thresholds is in PropagationSearch.hoc.

See comments in individual files for more information.

