Draft: Time out feature
Problem: GSAM and particularly the code calling RDT remained blocked because of some reactions resulting in several days of computing without any results.
Solution: I modified ComputeGSAM.java to add a timeout.
To do so I created a void called "perform_aam" that performs the atom mapping step. This void is converted to a callable task and called for each entry of rxnSmilesMap. If the executor cannot get the results from the thread before a defined time (default = 6hours) set by the user with the parameter -t, the task is killed and the failed reaction is displayed in the log.
This is a quick and dirty solution. I think the optimal solution would be to define timers directly in RDT and for each algorithm.
Cheers,
Louison