-
Notifications
You must be signed in to change notification settings - Fork 22
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Solve problems in arc's directed scans. #602
Conversation
Codecov Report
@@ Coverage Diff @@
## main #602 +/- ##
=======================================
Coverage 72.16% 72.16%
=======================================
Files 97 97
Lines 25564 25608 +44
Branches 5392 5408 +16
=======================================
+ Hits 18447 18479 +32
- Misses 5758 5768 +10
- Partials 1359 1361 +2
... and 2 files with indirect coverage changes 📣 We’re building smart automated test selection to slash your CI/CD build times. Learn more |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looking good!
Please see a few comments
Also, it would significantly strengthen this PR if you can add a directed scan test using tani
@@ -233,6 +233,8 @@ def parse_geometry(path: str) -> Optional[Dict[str, tuple]]: | |||
content = read_yaml_file(path) | |||
if isinstance(content, dict) and 'xyz' in content.keys(): | |||
return content['xyz'] | |||
if isinstance(content, dict) and 'opt_xyz' in content.keys(): |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Perhaps change the tani script to store the xyz output in an xyz key instead of the opt_xyz key. We wouldn’t want additional future adapters to add their own custom keys for the geometry (unless there’s good reason to) and have to accommodate for them in this (and other?) functions
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
There is an important distinction between xyz
and opt_xyz
, how would we differentiate them without using different keys?
I don't think it's just the torchani adapter that relates differently to these properties..
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@kfir4444, let me know when this is resolved, and let's merge this in
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@alongd I will probably add more commits to this PR before
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Was this addressed? Are we leaving it both 'xyz' and 'opt_xyz'?
06c825b
to
7a91585
Compare
Thanks for the commants @alongd! |
3caaa75
to
70934c5
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks, I added a few comments.
There are at least three cases where we use inconsistent types. It's an invitation for bugs down the road. Can you check?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks, I added two comments
@@ -233,6 +233,8 @@ def parse_geometry(path: str) -> Optional[Dict[str, tuple]]: | |||
content = read_yaml_file(path) | |||
if isinstance(content, dict) and 'xyz' in content.keys(): | |||
return content['xyz'] | |||
if isinstance(content, dict) and 'opt_xyz' in content.keys(): |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Was this addressed? Are we leaving it both 'xyz' and 'opt_xyz'?
7a0ff12
to
3b13424
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looking good! Let's wait for the tests and we can merge
This would cause problems in future processing.
This is engaged if the user did not request an opt job.
Sometimes, a user may not request a certain job type, but still provide a `level` argument. This detaches the need verify if a job type is true before making the level of theory to a ``Level`` object.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
looks good to me
A few functions returned a
np.float64
, which caused errors when dumped into yaml files, and several other small corrections.