|
Description of parameter space and
simulation files
We varied 8 selected parameters in all
combinations: the maximal conductances of the
spike-mediated (gSynS)
and of graded transmission (gSynG),
and of the IP, ICaS, Ileak, Ih,
and IK2 currents, across of 0, 25, 50, 75, 100, 125, 150, and
175 percent of their canonical values, and the leak reversal potential across
-70 mV, -65 mV, -60 mV, -55 mV, and -50 mV values, resulting in a parameter
space of 10,485,760 simulated model instances (10,321,920 of these are HCO
instances because they have at least one synaptic component present, and
the rest of them, 163,840, are essentially isolated neuron instances but
contain twin neurons without any synaptic interaction). We used the same
parameter values in each of the paired model neurons. All simulations were
started from the same initial conditions, which were different for each of the
two neurons (Doloc-Mihu and Calabrese, 2011).
----------------- How to run simulations
------------------
This file explains how to run simulations on a
Linux cluster. To start the simulation process you must first make some arrangements.
This file explains how to do these arrangements step by step. The files
needed are Linux/Unix and Perl scripts implemented by Dr. Cengiz Gunay (cgunay at emory.edu). Click here
to download the simulation scripts.
Short description
---------------------
We give the parameters of the model outside the model in an ASCII input
file, in a very convenient format (4 formats accepted at this time). Using
the simulation scripts, this input file is transformed into another file (db
file) containing all the possible parameter combinations, with each
combination on one line. Further, each line will furnish input parameters
for each simulation. To run your simulations, you need to have this db file
created within the directory where your model is.
Steps
for running simulations
-----------------------------------
(1)
Prepare an ASCII file param_ASCII_file.txt (here, called
paramLists.txt) that contains your input data.
Format for this file:
- each line has one parameter and all its values that will be used included
between [] and separated by spaces,
- the last line is
standard: "trial 1 ++"
- make sure your file is clean, ie. it doesn't have extra white characters that could appear
if the file was created under Window environment.
- choose your format according to the type of brute-force approach you will
be using. Options are:
1. Additive increments
param_name range_low range_high num_steps
2. Multiplicative increments
param_name base_val *mul_factor ^num_steps
3. Choose from a list
param_name [ val1 val2 ... ]
4. Independent counter (indicates
trial number)
param_name start_val ++
[increment]
E.g, for LEECH the paramLists.txt looks like this
(option 3, in the above list):
eLeak [ -0.065 -0.055 -0.050 -0.040 -0.030 ]
gBar1
[ 0 -0.3 -0.6 0.2 0.4 ]
gBar2
[ 0 -0.3 -0.6 0.2 0.4 ]
gBar3
[ 0 -0.3 -0.6 0.2 0.4 ]
gBar4
[ 0 -0.3 -0.6 0.2 0.4 ]
gBar5
[ 0 -0.3 -0.6 0.2 0.4 ]
gBar6
[ 0 -0.3 -0.6 0.2 0.4 ]
gBar7
[ 0 -0.3 -0.6 0.2 0.4 ]
trial
1 ++
(2)
Obtain the parameter file containing all combinations of the parameters
from the input file (from 1, above). For this, use
command:
>./paramScanSingle.pl
name_param_file < param_ASCII_file.txt
E.g.:
>./paramScanSingle.pl
all_sim_comb < paramLists.txt
will create all_sim_comb.par file which contains on each line a combination
of the (model) parameters.
Note: The Perl script file paramScanSingle.pl
reads the param_ASCII_file.txt and creates the parameter combinations file
all_sim_comb.par. The first line of this file contains the number of
combinations (or, no. of lines in the file, equivalent to the no. of
simulations) and the (no. of parameters + 1). The rest of the lines are all
the same: "list of parameters no_of_line
0". E.g.(first 5 lines of the all_sim_comb.par file):
390625
9
-0.065
0 0 0 0 0 0
0 1 0
-0.055
0 0 0 0 0 0
0 2 0
-0.050
0 0 0 0 0 0
0 3 0
-0.040
0 0 0 0 0 0
0 4 0
-0.030
0 0 0 0 0 0
0 5 0
Note: you can find the usage of the perl script
by typing:
>./paramScanSingle.pl
(3)
Create a db that is a hashtable for the
simulations:
>./create_perlhash_param_db all_sim_comb.par
The output of the command is all_sim_comb.par.db
(*.par.db) file which is a db containing a hashtable. This db provides fast access to a simulation
based on its hash key from the hashtable (reading
its corresponding line from the parameter file is a much slower way of
accessing it).
Note: The db file is a very large file. So, before creating it, one needs
to make sure there is enough space on the disk.
Note: You can access data from the database by using dosimnum
script:
>./dosimnum //gives the usage of the
command
For accessing line 8 (the 8th combination of
parameters) of the all_sim_comb.par.db db:
>./dosimnum param_file line_no //general syntax
E.g.:
>./dosimnum all_sim_comb.par 8
(4)
Submit jobs to cluster nodes (make sure you have sge_submit, sge_perlhash.sh, param_ASCII_file.txt, and db_file files created as above in the simulation
directory):
>
./sge_submit //gives general info on
how to run the script
E.g., run in the script directory:
>./sge_submit mainSimScript.g all_sim_comb.par [options-to-qsub]
The sge_submit:
-
creates the db from the param_file
-
submits to a specific cluster node a specific simulation (according to its
line number); For this, it calls sge_perlhash.sh script with your_genesis_script_to_run and param_file.
The sge_perlhash.sh:
-
sources your bash
-
set up the current directory for the simulation
-
sets up a Genesis environment variable to a specific row no.
-
finally, runs simulation by passing this variable as param
to your_genesis_script (here, mainSimScript.g)
Alternatively, you can submit certain jobs
directly to the cluster:
E.g., to submit 3 jobs, numbered 4,5,6:
> qsub
-t 4:6 ./sge_perlhash.sh mainSimScript.g
all_sim_comb.par
Last updated June
22, 2012. Please send comments to adolocm@emory.edu.
|
|