Cargando…

Python as a Federation Tool for GENESIS 3.0

The GENESIS simulation platform was one of the first broad-scale modeling systems in computational biology to encourage modelers to develop and share model features and components. Supported by a large developer community, it participated in innovative simulator technologies such as benchmarking, pa...

Descripción completa

Detalles Bibliográficos
Autores principales: Cornelis, Hugo, Rodriguez, Armando L., Coop, Allan D., Bower, James M.
Formato: Online Artículo Texto
Lenguaje:English
Publicado: Public Library of Science 2012
Materias:
Acceso en línea:https://www.ncbi.nlm.nih.gov/pmc/articles/PMC3262781/
https://www.ncbi.nlm.nih.gov/pubmed/22276101
http://dx.doi.org/10.1371/journal.pone.0029018
_version_ 1782221766886686720
author Cornelis, Hugo
Rodriguez, Armando L.
Coop, Allan D.
Bower, James M.
author_facet Cornelis, Hugo
Rodriguez, Armando L.
Coop, Allan D.
Bower, James M.
author_sort Cornelis, Hugo
collection PubMed
description The GENESIS simulation platform was one of the first broad-scale modeling systems in computational biology to encourage modelers to develop and share model features and components. Supported by a large developer community, it participated in innovative simulator technologies such as benchmarking, parallelization, and declarative model specification and was the first neural simulator to define bindings for the Python scripting language. An important feature of the latest version of GENESIS is that it decomposes into self-contained software components complying with the Computational Biology Initiative federated software architecture. This architecture allows separate scripting bindings to be defined for different necessary components of the simulator, e.g., the mathematical solvers and graphical user interface. Python is a scripting language that provides rich sets of freely available open source libraries. With clean dynamic object-oriented designs, they produce highly readable code and are widely employed in specialized areas of software component integration. We employ a simplified wrapper and interface generator to examine an application programming interface and make it available to a given scripting language. This allows independent software components to be ‘glued’ together and connected to external libraries and applications from user-defined Python or Perl scripts. We illustrate our approach with three examples of Python scripting. (1) Generate and run a simple single-compartment model neuron connected to a stand-alone mathematical solver. (2) Interface a mathematical solver with GENESIS 3.0 to explore a neuron morphology from either an interactive command-line or graphical user interface. (3) Apply scripting bindings to connect the GENESIS 3.0 simulator to external graphical libraries and an open source three dimensional content creation suite that supports visualization of models based on electron microscopy and their conversion to computational models. Employed in this way, the stand-alone software components of the GENESIS 3.0 simulator provide a framework for progressive federated software development in computational neuroscience.
format Online
Article
Text
id pubmed-3262781
institution National Center for Biotechnology Information
language English
publishDate 2012
publisher Public Library of Science
record_format MEDLINE/PubMed
spelling pubmed-32627812012-01-24 Python as a Federation Tool for GENESIS 3.0 Cornelis, Hugo Rodriguez, Armando L. Coop, Allan D. Bower, James M. PLoS One Research Article The GENESIS simulation platform was one of the first broad-scale modeling systems in computational biology to encourage modelers to develop and share model features and components. Supported by a large developer community, it participated in innovative simulator technologies such as benchmarking, parallelization, and declarative model specification and was the first neural simulator to define bindings for the Python scripting language. An important feature of the latest version of GENESIS is that it decomposes into self-contained software components complying with the Computational Biology Initiative federated software architecture. This architecture allows separate scripting bindings to be defined for different necessary components of the simulator, e.g., the mathematical solvers and graphical user interface. Python is a scripting language that provides rich sets of freely available open source libraries. With clean dynamic object-oriented designs, they produce highly readable code and are widely employed in specialized areas of software component integration. We employ a simplified wrapper and interface generator to examine an application programming interface and make it available to a given scripting language. This allows independent software components to be ‘glued’ together and connected to external libraries and applications from user-defined Python or Perl scripts. We illustrate our approach with three examples of Python scripting. (1) Generate and run a simple single-compartment model neuron connected to a stand-alone mathematical solver. (2) Interface a mathematical solver with GENESIS 3.0 to explore a neuron morphology from either an interactive command-line or graphical user interface. (3) Apply scripting bindings to connect the GENESIS 3.0 simulator to external graphical libraries and an open source three dimensional content creation suite that supports visualization of models based on electron microscopy and their conversion to computational models. Employed in this way, the stand-alone software components of the GENESIS 3.0 simulator provide a framework for progressive federated software development in computational neuroscience. Public Library of Science 2012-01-20 /pmc/articles/PMC3262781/ /pubmed/22276101 http://dx.doi.org/10.1371/journal.pone.0029018 Text en Cornelis et al. http://creativecommons.org/licenses/by/4.0/ This is an open-access article distributed under the terms of the Creative Commons Attribution License, which permits unrestricted use, distribution, and reproduction in any medium, provided the original author and source are properly credited.
spellingShingle Research Article
Cornelis, Hugo
Rodriguez, Armando L.
Coop, Allan D.
Bower, James M.
Python as a Federation Tool for GENESIS 3.0
title Python as a Federation Tool for GENESIS 3.0
title_full Python as a Federation Tool for GENESIS 3.0
title_fullStr Python as a Federation Tool for GENESIS 3.0
title_full_unstemmed Python as a Federation Tool for GENESIS 3.0
title_short Python as a Federation Tool for GENESIS 3.0
title_sort python as a federation tool for genesis 3.0
topic Research Article
url https://www.ncbi.nlm.nih.gov/pmc/articles/PMC3262781/
https://www.ncbi.nlm.nih.gov/pubmed/22276101
http://dx.doi.org/10.1371/journal.pone.0029018
work_keys_str_mv AT cornelishugo pythonasafederationtoolforgenesis30
AT rodriguezarmandol pythonasafederationtoolforgenesis30
AT coopalland pythonasafederationtoolforgenesis30
AT bowerjamesm pythonasafederationtoolforgenesis30