In the status quo, we re-run build_full_model and clustering every time. This is wildly inefficient! Usually, not much has changed -- maybe only one swm_rebuild.out silent file has had added decoys, or maybe you've just changed some formatting that affects how you process the resulting data. But of course, you WANT to be sensitive to the possibility of changes, both in the input files and in the code.
Proposed strategy:
Take the git commit hash for main and for this repo, plus some hash of the input silent file.
If either git hash has changed, re-run all files.
If the git hashes are unchanged, only rerun changed silent files.
Obvious pitfall: un-committed changes to code (either in main or here) will not trigger re-runs. Better solution, @rhiju / @calebgeniesse?
In the status quo, we re-run
build_full_model
and clustering every time. This is wildly inefficient! Usually, not much has changed -- maybe only oneswm_rebuild.out
silent file has had added decoys, or maybe you've just changed some formatting that affects how you process the resulting data. But of course, you WANT to be sensitive to the possibility of changes, both in the input files and in the code.Proposed strategy:
main
and for this repo, plus some hash of the input silent file.Obvious pitfall: un-committed changes to code (either in
main
or here) will not trigger re-runs. Better solution, @rhiju / @calebgeniesse?