===============================================================================
-------------------------------------------------------------------------------
This will reproduce the model figures of peron and gabbiani 2009, which at this
time is "in press" with Nature Neuroscience:
"Spike Frequency Adaptation Mediates Looming Stimulus Selectivity in a
Collision-Detecting Neuron"
[Eventually, we hope to add a more in-depth exploration of the model which
has been submitted to another journal; for this reason you will see references
to nature neuro. In the final version, the two will be submitted as one
package since both use the same underlying model]
-------------------------------------------------------------------------------
File Summary and General Summary of Model Implementation
-------------------------------------------------------------------------------
In a nutshell, three components are included:
1. MATLAB scripts that generate simulations to run for both instances.
2. A MATLAB parallel execution system that runs these simulations.
3. MATLAB scripts to generate the manuscript figures
All simulations were performed on an 8-core Mac Pro running OS X 10.5.4.
It shoudl also work well on Linux machines (an earlier though very similar
version of simulations were performed on a Fedora Core 8 box, again with 8
cores). If you are using Windows, I know a good support group ... (seriously,
it should work with minor tweaks, but why are you doing this to yourself?).
Directories (children of the one you untar scripts in):
nn_par_out: output for nature neuro simulations
nn_par_mat: parallel .mat files (See below) for nature neuro simulations
Here is a detailed description of each file and what it contributes:
acute_synmap.mat, uniform_synmap.mat: used to tell the simulation generator
where each ommatidium points to in visual space so that the visual stimulus
activates appropriate ommatidia. "acute" is based on the realistic sampling
of visual space by the locust eye as inferred by Krapp and Gabbiani (2005),
while "uniform" samples space uniformly with the same number of ommatidia
(~7500) as the acute map.
daemon.m: Runs simulations generated by generate.m; run as many instanses of
MATLAB as you have cores on your computer, invoking the daemon in each one.
generate.m: This generates .mat files that each define INDIVIDUAL simulations
run by the parallel daemon.
generate_simulations.m: A wrapper for generate.m that calls that generator with
the specific commands for all simulation classes.
get_curinj_pattern.m: used by simulation generator to obtain current injection
for pseudotranslation with various accelaration profiles.
get_curinj_vec.m: used by post-simulation analysis script to get current inj.
shape for pseudolooming stimuli -- for plotting purposes.
get_general_model_settings.m: this is the heart of the parameter definitions;
you will notice one set of parameters for nature neuroscience and one for
XXXXX.
get_inst_freq.m: computes instantaneous frequency plot.
get_spikes.m: extract spike timings based on a threshold.
get_synaptic_noise.m: generates a synaptic noise conductance vector.
get_synaptic_pattern.m: generates synaptic input for visual stimuli - much more
relaistic than current injection vector based simulations.
nn_par_model.sh: Execution of parallelized daemon for nature neuro sims.
plot_nn_sims.m: plots the nature neuroscience figures
readme.txt: a very mysterious file (warning: self-reference detected).
three_cmpt.m: the core of the simulator; this is the script that runs using
an ODE solver and actually runs most of the code.
uniform_synmap.mat: see acute_synmap.mat
-------------------------------------------------------------------------------
Step-by-Step Instructions for Replicating Paper Figures
-------------------------------------------------------------------------------
1. Create the output directories (see above). They should appear when
you untar, but empty. If not, however, make them.
2. Run generate_simulations.m. This should populate nn_par_mat dir.
3. Run the shell scripts -- nn_par_model.sh -- separately
so that you use all your cores. For instance, if you have 8 cores, I
would suggest running nn_par_model.sh 7 times.
WARNING: The shell script makes assumptions about where your matlab is;
make sure this is correct. Also, be aware that this uses the UNIX
utility screen, which allows running of processes in background that are
login-independent (i.e., you can close terminals and logoff a computer
and process will keep running). Be familiar with screen if you want
to use this; otherwise, run the daemons MANUALLY (to figure out how,
look at the shell script!).
To stop the run (you can do this at the end to kill the processes or you
can leave, shut down, come back, and resume by running the shell script
again), create a file "stop_par.m" in the xx_par_mat directory.
4. Run the analysis to plot figures - plot_nn_sims.m.
-------------------------------------------------------------------------------
Miscellaneous Notes
-------------------------------------------------------------------------------
1. The papers included mention of simulations with and without feed-forward
inhibition; if you want to run simulations *without* feed-forward inhib.,
you should still include spontaneous inhibitory activity. Go into
get_general_model_settings, and change, for one (or both) of the parameter
sets (nature neuro) ps_mod.g_max_syn_inh to 0.
|