Cargando…

xml2jupyter: Mapping parameters between XML and Jupyter widgets

Jupyter Notebooks (Kluyver et al., 2016, Perkel (2018)) provide executable documents (in a variety of programming languages) that can be run in a web browser. When a notebook contains graphical widgets, it becomes an easy-to-use graphical user interface (GUI). Many scientific simulation packages use...

Descripción completa

Detalles Bibliográficos
Autores principales: Heiland, Randy, Mishler, Daniel, Zhang, Tyler, Bower, Eric, Macklin, Paul
Formato: Online Artículo Texto
Lenguaje:English
Publicado: 2019
Materias:
Acceso en línea:https://www.ncbi.nlm.nih.gov/pmc/articles/PMC6656392/
https://www.ncbi.nlm.nih.gov/pubmed/31342010
http://dx.doi.org/10.21105/joss.01408
_version_ 1783438638377336832
author Heiland, Randy
Mishler, Daniel
Zhang, Tyler
Bower, Eric
Macklin, Paul
author_facet Heiland, Randy
Mishler, Daniel
Zhang, Tyler
Bower, Eric
Macklin, Paul
author_sort Heiland, Randy
collection PubMed
description Jupyter Notebooks (Kluyver et al., 2016, Perkel (2018)) provide executable documents (in a variety of programming languages) that can be run in a web browser. When a notebook contains graphical widgets, it becomes an easy-to-use graphical user interface (GUI). Many scientific simulation packages use text-based configuration files to provide parameter values and run at the command line without a graphical interface. Manually editing these files to explore how different values affect a simulation can be burdensome for technical users, and impossible to use for those with other scientific backgrounds. xml2jupyter is a Python package that addresses these scientific bottlenecks. It provides a mapping between configuration files, formatted in the Extensible Markup Language (XML), and Jupyter widgets. Widgets are automatically generated from the XML file and these can, optionally, be incorporated into a larger GUI for a simulation package, and optionally hosted on cloud resources. Users modify parameter values via the widgets, and the values are written to the XML configuration file which is input to the simulation’s command-line interface. xml2jupyter has been tested using PhysiCell (Ghaffarizadeh, Heiland, Friedman, Mumenthaler, & Macklin, 2018), an open source, agent-based simulator for biology, and it is being used by students for classroom and research projects. In addition, we use xml2jupyter to help create Jupyter GUIs for PhysiCell-related applications running on nanoHUB (Madhavan et al., 2013).
format Online
Article
Text
id pubmed-6656392
institution National Center for Biotechnology Information
language English
publishDate 2019
record_format MEDLINE/PubMed
spelling pubmed-66563922019-07-24 xml2jupyter: Mapping parameters between XML and Jupyter widgets Heiland, Randy Mishler, Daniel Zhang, Tyler Bower, Eric Macklin, Paul J Open Source Softw Article Jupyter Notebooks (Kluyver et al., 2016, Perkel (2018)) provide executable documents (in a variety of programming languages) that can be run in a web browser. When a notebook contains graphical widgets, it becomes an easy-to-use graphical user interface (GUI). Many scientific simulation packages use text-based configuration files to provide parameter values and run at the command line without a graphical interface. Manually editing these files to explore how different values affect a simulation can be burdensome for technical users, and impossible to use for those with other scientific backgrounds. xml2jupyter is a Python package that addresses these scientific bottlenecks. It provides a mapping between configuration files, formatted in the Extensible Markup Language (XML), and Jupyter widgets. Widgets are automatically generated from the XML file and these can, optionally, be incorporated into a larger GUI for a simulation package, and optionally hosted on cloud resources. Users modify parameter values via the widgets, and the values are written to the XML configuration file which is input to the simulation’s command-line interface. xml2jupyter has been tested using PhysiCell (Ghaffarizadeh, Heiland, Friedman, Mumenthaler, & Macklin, 2018), an open source, agent-based simulator for biology, and it is being used by students for classroom and research projects. In addition, we use xml2jupyter to help create Jupyter GUIs for PhysiCell-related applications running on nanoHUB (Madhavan et al., 2013). 2019-07-01 2019 /pmc/articles/PMC6656392/ /pubmed/31342010 http://dx.doi.org/10.21105/joss.01408 Text en Authors of papers retain copyright and release the work under a Creative Commons Attribution 4.0 International License.(http://creativecommons.org/licenses/by/4.0/).
spellingShingle Article
Heiland, Randy
Mishler, Daniel
Zhang, Tyler
Bower, Eric
Macklin, Paul
xml2jupyter: Mapping parameters between XML and Jupyter widgets
title xml2jupyter: Mapping parameters between XML and Jupyter widgets
title_full xml2jupyter: Mapping parameters between XML and Jupyter widgets
title_fullStr xml2jupyter: Mapping parameters between XML and Jupyter widgets
title_full_unstemmed xml2jupyter: Mapping parameters between XML and Jupyter widgets
title_short xml2jupyter: Mapping parameters between XML and Jupyter widgets
title_sort xml2jupyter: mapping parameters between xml and jupyter widgets
topic Article
url https://www.ncbi.nlm.nih.gov/pmc/articles/PMC6656392/
https://www.ncbi.nlm.nih.gov/pubmed/31342010
http://dx.doi.org/10.21105/joss.01408
work_keys_str_mv AT heilandrandy xml2jupytermappingparametersbetweenxmlandjupyterwidgets
AT mishlerdaniel xml2jupytermappingparametersbetweenxmlandjupyterwidgets
AT zhangtyler xml2jupytermappingparametersbetweenxmlandjupyterwidgets
AT bowereric xml2jupytermappingparametersbetweenxmlandjupyterwidgets
AT macklinpaul xml2jupytermappingparametersbetweenxmlandjupyterwidgets