Skip to content

GNB-UAM/electromotor-nmodel

Repository files navigation

Electromotor-nmodel

License: CC BY-NC 4.0 Boost v1.45 dependency CMake v2.8 dependency Build Status

Computational model of the electromotor command network of pulse-type mormyrids. Code also includes the genetic algorithm used to automatically tune the parameters of the model to predefined target patterns.


Please, if you use this model or the code of the genetic algorithm, cite in your publication the following paper: BioRxiv 10.1101/2020.06.09.142083

Installation

A .deb package is provided for Ubuntu 20.04. You can download it HERE.

Then, install the .deb package you just download using dpkg:

dpkg -i electromotor-nmodel_<v>_20.04_amd64.deb

Build

Instructions are provided to build the project in Ubuntu.

First, clone the source repository from Github. From terminal, go to the directory you want to download the source code and run:

git clone --recursive https://github.com/GNB-UAM/electromotor-nmodel.git

Ǹow make sure you install all required packages

sudo apt-get install libboost-all-dev libyaml-cpp-dev libhdf5-dev libhdf5-cpp-103 git-all cmake

Now use cmake to compile the source and build the binaries.

cd electromotor-nmodel
mkdir bin
cd bin
cmake ..
make

Usage

emmodel

Simulates the electromotor command network using the parameters described by the input file. It outputs the current value of each synapse (EDP, EPCN,IDP, IPCN, ECDP) and the voltage from each neuron (VPd, DP, PCN and CN) in every time step of the simulation described in the config file (see References for more information).

$ ./emmodel <option(s)> SOURCES

Options:
    -h, Show this message.
    -i, Input file.
    -o, Output file.
    -s, Print synapses.

The input file must be a valid YAML document describing the parameters. See the provided model configurations (ST, SGA, RGA) in configs/

The output will be an ASCII file with space-separated columns for each simulation defined in the configuration. For every output file, each column represents the voltage of a neuron in the model (and synaptic currents if argument -s is provided). Each row represents a simulation step.

emmodelGAFit

Genetic algorithm that provides parameter optimization to adjust the output of the model to the target patterns provided as input (see References for more information about the GA).

$ ./emmodelGAFit <option(s)> SOURCES

Options:
    -h, Show this message.
    -i, Input file.
    -o, Output file
    -h, Show this message.
    -i, Input file.
    -o, Output file
    -g, Number of generations.
    -e, Stop convergence value.
    -s, Statistics output file.
    -n, Number of individuals per generation.
    -a, Manual limits [-a,a] for alpha parameter.
    -b, Manual limits [-b,b] for beta parameter.
    -t, Manual limits [-t,t] for the conductivity parameter.
    -m, Manual limits [-m,m] for maximum release time parameter.
    -p, Percentual limits from the initial value of all parameters.
    -q, Print best GA each q generations.

The input file must be a valid YAML document describing the initial parameters and the target patterns used to adjust the parameters. See the provided model configurations (ST, SGA, RGA) in configs/

Developed by

Ángel Lareo
alt text alt text alt text
PhD in Universidad Autónoma de Madrid. Grupo de Neurocomputación biológica (GNB).

References

A. Lareo, P. Varona. F. Rodríguez. Modeling the variability of the electromotor command system of pulse mormyrids. BioRxiv 10.1101/2020.06.09.142083