Abstract

SummaryJupyter 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).

Highlights

  • Jupyter Notebooks (Kluyver et al, 2016, Perkel (2018)) provide executable documents that can be run in a web browser

  • Many scientific simulation packages use text-based configuration files to provide parameter values and run at the command line without a graphical interface. 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

Read more

Summary

Summary

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. Many scientific simulation packages use text-based configuration files to provide parameter values and run at the command line without a graphical interface. 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. $ python xml2jupyter.py config_biorobots.xml test_user_params.py $ jupyter notebook test_gui.ipynb.

PhysiCell Jupyter GUI
Extensions and Discussion
Full Text
Published version (Free)

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call