Skip to content

Releases: insilico-lib/insilico

insilico 0.25

06 May 06:53
Compare
Choose a tag to compare

This is a minor release with new feature, efficiency improvements. This release also includes some bug fixes.

New Features

  • Dynamic parameters
    • insilico was missing time dependent parameters as input.
      The way it was handled previously by simulation programmer, was by manipulating parameter values inside the code with time comparison. To ease this efforts by providing it as external file during execution this feature is introduced in this version.
    • Use -d as option to supply this file.
    • For using this feature, include insilico/core/dynamic_params.hpp.
    • Function for using this dynamic params from input file has following declaration
    • double dynamic_params::value(const std::string& param_name, const double time);
    • This function returns double value for parameter param_name at time time.

Enhancements

  • Efficiency pack - these functions are more efficient: injector, neuron_id_from_index, synapse_id_from_index, variable_name_from_index
  • New example SingleNeuron_HH1952_Stochastic added to demonstrate stochastic integration possibility

Bug Fixes

  • neuron_id_from_index and synapse_id_from_index computes correct IDs
  • Observer header is proper, even if parameters and variables are observed out-of-order

insilico 0.24

29 Apr 05:46
Compare
Choose a tag to compare

This is a major release for improvements in command-line interface,
observer and run-time error handling. This release also includes several minor bug fixes.

New Features

  • Observer can observe model parameters and runtime variables if available in input file
    • e.g. I_Syn, I_Na
  • Get variable name from its index (location) in global vector using Engine API as given below
    • std::string insilico::engine::variable_name_from_index(const unsigned index)

Enhancements

  • Headers are part of include/insilico
  • Observer supports custom delimiter
    • void configuration::observe_delimiter(const char)
  • Headers for observer can be disabled
    • void configuration::observe_header(const bool)
  • Value and Index functions does handles exceptions due to failures better than before
  • Command-line interface allows space between options to help tab completion
  • Example code demonstrate object-oriented insilico (SingleNeuron_HH1952 as of now)
  • Use of const in non-variable contexts
  • Warnings from GCC and clang are resolved by making code interoperable

Deprecation

  • insilico::engine::current_value() function are deprecated (read removed)

Bug Fixes

  • Comments support in input files improved (neuron and synapse input files only)
  • Malfunction in Injector is resolved
  • DefaultSynapse uses spike history
  • Erroneous exceptions are resolved and will not occur again

Moving from older version

  • Prefix include statements with "insilico/" directory
    • e.g. #include “insilico/core.hpp"
  • Change current_value functions into neuron_value/synapse_value depending on their contextual usage
    • grep -lar "current_value" . | grep cpp | xargs -IN sed -i '' s/current_value/neuron_value/g N
    • grep -lar "current_value" . | grep hpp | xargs -IN sed -i '' s/current_value/neuron_value/g N