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