|
---|
|
|
MT – (Walkthrough/demo) MT – To check whether things can be parameterized, I have to run AM1BCC. This can be time consuming. JW – Could we run assign_partial_charges in can_parameterize , then serialize the charges out and load them in subsequent steps? MT – I’d be concerned that other changes may happen that would invalidate the partial charges assigned early on. LW + JW – Since the charges are determined only by the chemical graph, and the chemical graph won’t change through the workflow, this should be safe. MT – I’m not sure what users will do and this may be a dangerous thing to assume.
LW – Could allow user to skip charge checking?
LW + JW – Config-style input, seems like we’re half a step from a bespokefit-style pydantic factory/config setup. This would remove the need for argument checking and leave that up to validate functions. JW – Would it be possible to store warnings/errors attached to their molecules in some way? MT – I’m resistant to this. That could blow up storage size a lot. Also, I hope that the filters will keep things from blowing up. JW – It’d be great to keep the stack trace of when a stage fails in the database, for debugging. MT – That could make the database very very large. LW – I see both sides here. Something ugly in the middle may be the ideal here… like a giant log file. But also the issue about per-molecule vs. per-conformer functionality/reporting is hard JW – Maybe a different sort of database? Neo4j may more smoothly handle the relationship MT – I’ll keep my eyes open for more appropriate relational databases.
JW – I’d be in favor of defining the plugin spec to resolve things like “do plugins raise a specific type of exception/a python exception at all?” and “can a step change the molecular graph?” MT – The chemical graph change thing is just an example, but I’m using it more broadly to refer to unexpected complexity/user-defined behavior in plugins. JW – This makes sense, but I’d like to make sure we do start ruling out some use cases, otherwise we’ll have a really hard time coming up with a concrete design. MT – There should be constraints (like the interface must be python, etc)… but generally saying that there must be a specification for a plugin is somewhat counterproductive. LW – Are you in favor of restricting what goes in and out of plugin workflow components, but not what happens inside of them? MT – Kinda. Imagining the case where BSwope wants to make his own workflow component, he’d use a mostly built-in workflow, but change one step. So wrt interactions between builtin plugins and user plugins, there could be tensions about what goes in and what comes out… LW – Initially we’re pitching to an experienced audience where we don’t have to say that you can’t modify the chemical graph, and I like the flexibility. MT – Agree JW – Sounds good.
|
|
|