Closed jthorton closed 3 years ago
Started reviewing this today, which turned into "eh, I could just add that...", which turned into a kinda beefy commit. I really like how you did this. If tests pass I think this is good to merge in an initial form.
A few notes --
single_molecule_coverage
so that the exception doesn't go in the parameter dictionary, but is instead passed as a separate return value. In my experience, exception handling has so many bizarre edge cases that I've learned to keep the "good" and "bad" datastreams as far apart as possible. validate
and generate
python methods have filenames as inputs and folders as outputs. Handling the I/O in cli.py
is a much cleaner and more testable design. I've moved this further in that direction.C(=O)OBr
for the former, but I can't seem to think of a molecule for the latter.Oh, and I mostly tested the exception/file handling. We should add a test with something like ethanol and really go through the resulting dict with a fine-toothed comb to ensure that every value is correct.
Description
Adds a coverage report function which is exposed to the CLI preprocess group. I think this should possibly come after step 1 as we do not want to spend time making conformers for molecules that will latter fail?
The function labels each molecule and tries to generate an openmm system this way we can also check for charge failures as well as missing parameters.
The past molecules are moved to the specified output folder and a coverage report json file is made which should be easy to combine.
Todos
Notable points that this PR has either accomplished or will accomplish.
Questions
Status