CVF aims to validate nmodl comparing its results with mod2c traces. The general scheme is presented below:
run_config.yamlis read: this gives us the setups for all the simulators that are going to be tested. Check the file for more info.- For each simulator we compile (in its appropriate
tmp_*folder) all the mod files (default inmod/local; you can add folders) - For each mod file CVF automatically (it is magic!) generates a
configobject that dictates how the simulations for that mod file must be done: how many cells, what stimuli, on which cells etc. If you prefer to specify how the mod file must be tested you can add a config file inconfig/<mod_file_name>.yaml(it must have the same name as the mod file). You can check the other files present inconfig/for inspiration - Simulations are run and compared (numerically and, possibly, visually)
In order to use CVF you need the various neuron and coreneurons that you are going to use (specified in run_config .yaml) installed with spack. For the standard cvf you need to do:
spack install neuron@develop~mpi
spack install coreneuron@develop~mpi~report ^bison@3.4.2
spack install coreneuron@develop+nmodl~mpi~report ^nmodl@develop ^bison@3.4.2CVF can be run in 2 ways:
-
Install cvf and run cvf_stdrun to do a standard check
- Load libraries
module load neuron/develop nmodl/develop - Create a python virtual env
python -m venv venv - Activate it
source venv/bin/activate - Install cvf
python3 setup.py install - Call the standard run
cvf_stdrun
- Load libraries
-
SUGGESTED:
- Load the libraries
module load neuron/develop nmodl/develop - Add your mod files in
mod/local - Modify
run_config.yamlto set up the various run configurations - Run your own python script (check
example.pyfor inspirations). The functions exposed to public (inchannel -validation-framework/commands) have python docstring to describe their functionalities
- Load the libraries
See the LICENSE file.
The development of this software was supported by funding to the Blue Brain Project, a research center of the École polytechnique fédérale de Lausanne (EPFL), from the Swiss government’s ETH Board of the Swiss Federal Institutes of Technology.
Copyright (c) 2023-2024 Blue Brain Project/EPFL
