diff --git a/gufe/protocols/protocol.py b/gufe/protocols/protocol.py index 8b181d75..05179a70 100644 --- a/gufe/protocols/protocol.py +++ b/gufe/protocols/protocol.py @@ -85,6 +85,10 @@ class Protocol(GufeTokenizable): - `_gather` - `_default_settings` + Optionally, these methods can be overridden: + + - `validate` + Attributes ---------- result_cls : type[ProtocolResult] @@ -155,6 +159,15 @@ def default_settings(cls) -> "ProtocolSettings": # type: ignore """ return cls._default_settings() + def validate(self, stateA: ChemicalSystem, stateB: ChemicalSystem, + mapping: Optional[dict[str, ComponentMapping]], + extends: Optional[ProtocolDAGResult]) -> bool: + """Check that a given input will be viable + + Has the same arguments as `create` + """ + return True + @abc.abstractmethod def _create( self,