In the Input Arguments section of the App Editor, one can configure the input options that will be shown to the
end-users of an application and how the end-users inputs will be passed back to the program.
Designing the Input User Interface
Input Description: Provides the text that will be shown above the input option when users run the application.
Input Rendering: This dropdown specifies how the input options are shown to the end-users of the application:
Text Input - Text field where users can type or copy & paste inputs that will be treated as a string
Hidden from user - Allows you to provide a predefined argument without the user being able to view or change the
Toggle - Provides the user with an on/off toggle switch. The toggle will pass the values defined in the on / off
File Input - Button users can press to upload a file. Note, that to set a default file the file must be uploaded in
the Application Files specify the path to the file in the default file field.
Number Input - Field where users can input integer or float
Radio Select - Button for mutually exclusive options
Dropdown Select - Dropdown menu where user can choose between option provide by you
stdin: If your application takes stdin, you can specify this under the "Advanced Settings" section. Putting stdin
on will give the user the option to provide a text or file input which will be passed to the application as stdin.
Require users to specify this input?: If set to on, users will not be able to run the application without providing
Working with Sub-arguments: It is possible to have sub-arguments (options that are shown to the user depending on
whether the user has chosen a particular option before that). To create sub-arguments one has to specify them
directly in the .yml config file. Read more about the .yml config file
Under the hood, input arguments in BioLib are passed to the main script pretty much as if they were command-line
Input Key: The value provided here is the flag that will be passed back to the script along with any input the
end-user provides. Make sure this field matches exactly the naming in the code including any dashes if such are used!
For example, a simple Python script might parse arguments using the argparse library. The code example below takes
a text input and prints it.
# define importsimport argparse
# read inputs provided by user
parser = argparse.ArgumentParser()
args = parser.parse_args()print("My name is", args.name)
In the Input Arguments section, the Input Key should be set to --name to pass the value correctly.
In this example, the arguments passed to the script will be --name Charles Darwin.
Note that scripts may expect e.g. a file-input without any corresponding key or flag. In such cases simply leave the
Input Key field empty.
Key-Value Separator: Here, you can set the Key-Value Separator. If this is left blank, space is used as the
default character (as in the example above). If your script expects a particular flag to be separated from the value
passed by say an equal sign (for example --type=a ) then this could be specified as follows:
Option Display Name and Option Value: The Option Display Name is the option that will be shown to the user of an
application, e.g. in a drop-down or radio select menu. The Option Value is the value that will be passed back to the
script when a user chooses a particular option.
Continuing the example above the user of the application would be presented with the following option:
If a user chooses Type A, this will be passed as --type=a .
Default value: Allows you to provide a default value. In particular, it can be very useful for allowing users of
an application to try out the application with an example input.
Still have a question?
If you have any questions that you can't find an answer to above, please reach out to the BioLib community.