Handle the processing of inputs and outputs yourself
Algorithm templates rely heavily on both Docker and Python examples. These are commonly used containerization frameworks and programming languages. As a platform, Grand Challenge does not readily care if the container was a Docker image or if Python was used. The templates help speed up processing.
Creating the image completely yourself gets you fine-grained control over how inputs and outputs are read and written. But this also means that you have to choose input and output interfaces. Interfaces tell the Grand-Challenge platform what kind of data it has to deal with, and where to get or put it. Interfaces have to be selected on the Grand Challenge website and sometimes new ones may need to be requested.
The general principle is that your Algorithm container will process one job at a time, and each job will process only one set of inputs. So you need to write your scripts to read that one set of inputs from a location in /input
and write your algorithm's outputs to a location in /output
. Check the snippets on this demo algorithm template for examples in Python.