Python can be used for all stages of controlling jobs submitted to a compute cluster. You've seen how you can write files using Python. This lets you use Python to write the command and input files for your programs. You have also seen how to run programs from within Python, so you can use Python to run the job using the newly-written input file. You can then process the output using split, search and replace. You could then use the processed output to write new input files to run more programs. In this way, Python can act as the glue that can stick a chain of programs together, with the output of one program being used to provide the input of the next program.