Improvements to record downloading and docstrings #352
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Description
Prior to this PR,
optimization_result_collection.to_records()downloads only the energies, first, and last molecules. It doesn't download the actual single point records, just the molecules. So the forces are not downloaded - they're later automatically downloaded when you hit therecord.topology property. Today this manifested for me as the trivial linetaking 20 seconds - a great deal of time in a loop of a thousand elements, and extremely frustrating as I thought I had already downloaded this data. This PR makes improvements to the signatures and docstrings of the
collection.to_records()andOptimizationResultCollection.to_basic_result_collection()methods that should enhance discoverability of this surprising behavior.Todos
Notable points that this PR has either accomplished or will accomplish.
includeargument toto_records()to enable users to select which fields to download (and hint to user that not all fields are downloaded by default!)to_records()to better reflect their purposeOptimizationResultCollection.to_records()docstring to explain that the user may want to call.to_basic_result_collection()firstto_basic_result_collection()with more detailsto_basic_result_collection(driver)argumentStatus