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...
Autores principales: | , , , |
---|---|
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 |