Implement native files protocols for optimization and torsiondrive#373
Implement native files protocols for optimization and torsiondrive#373bennybp wants to merge 1 commit intoMolSSI:next2025from
Conversation
Codecov Report❌ Patch coverage is 🚀 New features to boost your workflow:
|
| ) | ||
| stderr: Optional[str] = Field(None, description="The standard error of the program execution.") | ||
| native_files: Dict[str, Any] = Field({}, description="DSL files.") | ||
| native_files: Dict[str, Any] = Field({}, description="Other program-specific files returned from the computation.") |
There was a problem hiding this comment.
Oh, I remember why native_files wasn't fully implemented (result field but not protocol) now: the target programs (geometric, optking, torsiondrive, qcmanybody) don't really have a history of random text or binary file in/outputs. Anything extra they did comm. could probably be absorbed into schema another way.
| r"""Program-specific to keep from a computation.""" | ||
|
|
||
| all = "all" | ||
| input = "input" |
There was a problem hiding this comment.
And since geometric/TD/QCMB are API or schema input, they have no "input" file generated
loriab
left a comment
There was a problem hiding this comment.
Also add a note (unorganized is fine) to the changelog, or we'll never keep track :-)
|
|
||
|
|
||
| class NativeFilesProtocolEnum(str, Enum): | ||
| r"""Program-specific to keep from a computation.""" |
There was a problem hiding this comment.
| r"""Program-specific to keep from a computation.""" | |
| r"""Program-specific to keep from a computation. | |
| Less likely to be used when program is API- or schema-based (e.g., geomeTRIC) | |
| """ |
Description
Implements native files protocols for optimization and torsiondrive
This refactors the protocols enum to
common_models.py, and uses it for OptimizationSpecification and TorsiondriveSpecification.Conversion function for optimization specifications is also updated.
Validators have been simply copied from AtomicInput. Eventually we will likely refactor out a base class for some of this, but not today.
Changelog description
Status