Additional code

GUI

The GUI code in alphapept/gui is not covered by notebooks. The reason for this is that a key feature of streamlit is that code changes can be directly displayed in the browser application. streamlit watches the *.py-files and automatically updates accordingly. Having an intermediate notebook that first needs to be run before the code changes are propagated would limit the coding experience with having live feedback of code changes.

Regardless of that, complex algorithmic code that requires more documentation should always reside in the notebooks.

Adding pages

The central entry point of the GUI is webui.py. When the AlphaPept webpage launches, the user can choose from a list of options in the sidebar (e.g. Start, Status and New experiment).

The options that are displayed are all elements in the sidebar dictionary in webui.py. In order to add a new page, simply import your page as a module and add it to the dictionary.

CI test

The files test_ci.py and test_gpu_.py are part of the continous integration pipeline. As indicated in the contributing-page they can be run on a local machines.

Note

Unless you are a core developer, there should not be the need to add integration tests. Feel free to create a PR in case.

Sandbox

The sandbox folder contains multiple sample notebooks that show how AlphaPept can be interfaced. Furthermore, the underlying notebooks for the paper figures are present.

The folder /figures contains the output of the figure notebooks, which are indicated with a P. These rely on a helper file named test_files.py. The folder /timings contains timing documents from different machines. They were created running timing_test.py.

Some notebooks create/download files, which are stored in /temp

Misc Notebooks

  • Test_Run: Notebook that runs a small thermo_IRT-file. It shows how the pipeline can be run from within a notebook, how the data can be accessed and how spectra can be plotted
  • ParameterScreen: The settings of AlphaPept are defined in the settings_template.yaml. This can be used to screen to parameters and check their influence on performance.
  • Systems_check: This notebooks contains all larger tests from the continuous integration. It is meant to have more in-depth access to the data of the test runs. This notebook relies on the test_helper.py file.

Installer

The installer-folder has contains a batch script to freeze the current installation and create a one-click installer. In order to create the installer, we use the tool Inno Setup.