Skip to content
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

Add Protocol.validate method that takes same inputs as create; add a passthrough in Transformation #412

Open
dotsdl opened this issue Nov 19, 2024 · 1 comment
Assignees
Milestone

Comments

@dotsdl
Copy link
Member

dotsdl commented Nov 19, 2024

In practice, a Protocol can fail during execution due to poor input choices to their create methods, such as incompatibilities between stateA and stateB, mapping issues, or conflicts with any of these and settings choices. This can trip users up, cost them time in diagnosing problems in (potentially remote) execution, and waste expensive compute on transformations that are certain to fail.

One option is to encourage Protocol authors to add validation checks for known limitations like the above to their _create methods, but this would slow down execution by remote execution systems every time the create method is called.

Instead, we propose adding a distinct validate method (with corresponding _validate method that Protocol authors specify) that features largely the same signature as create. This method would allow Protocol authors to specify (reasonably) rapid validation code specific to their Protocol that can catch obvious issues before performing potentially expensive compute on a set of inputs that are bound to fail.

@jthorton
Copy link
Contributor

I give +1 for this idea. We want a rapid validation method that checks common failure points while creating the transformation to make it fail during network construction rather than at DAG creation.

@dotsdl dotsdl added this to the Release 1.3 milestone Dec 17, 2024
@dotsdl dotsdl moved this to Upcoming Sprint - Queued in gufe : advancement sprints Jan 7, 2025
@dotsdl dotsdl moved this from Upcoming Sprint - Queued to Sprint - Available in gufe : advancement sprints Jan 21, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
Status: Sprint - Available
Development

No branches or pull requests

2 participants