The optional input can be used for restarting Q-RepEx simulations from the 3 rd run forward. A help module is provided in Q-RepEx. It can be activated by issuing the command: python repex_v1.0.py help A schematic representation of the Q-RepEx procedure is provided in Figure . The user provided input is read in from the command line. The code then identifies the CPU architecture, which is later used to best parallelize the Q6 runs. Q-RepEx checks for the existence of relevant input files before an initial, sequential run over all input files is performed. This is necessary for generating the initial restart files from each λ window. The Q6 restart files contain coordinates and velocity information at each window. Exchanging these between different windows changes the initial conditions for each run. A first mixing of initial conditions occurs after the initial run over all FEP-US windows has completed. Subsequently, Q-RepEx enters a loop over the number of runs, where one Q6 run is performed per available CPU socket, if more than one is available, otherwise all cores are used, until all files have finished. Once all EVB-FEP/US windows have been simulated, on odd numbered runs, Q-RepEx exchanges restarts files in pairs, starting with the first window. On even numbered runs, the exchange is performed in pairs starting with the second restart file. As outlined in Ref. , this procedure is equivalent to averaging over various initial conditions. It therefore allows the reduction of the number of replicas required for sufficient sampling. Additionally, the exchange of simulation conditions in interchanging patterns for odd and even runs leads to a complete exchange of the starting conformations over the EVB/FEP-US reaction path. This is more efficient than the alternative of performing many forward and backward EVB-FEP/US simulations, in order to obtain adequate sampling of the system.