choderalab / perses

Experiments with expanded ensembles to explore chemical space
http://perses.readthedocs.io
MIT License
179 stars 50 forks source link

Adding protein mutation support to YAML parsing #1047

Open sukritsingh opened 2 years ago

sukritsingh commented 2 years ago

This is a feature request only but it'd be really cool if the YAML input to Perses could support Protein Mutation setups. Presently, setting up the mutation-oriented HTFs is done using the API (which is fine) but YAML support would allow for seamless usage with the perses-fah cli tool, making it easier to put these types of experiments on Folding@home!

zhang-ivy commented 2 years ago

There is already yaml support if you want to generate protein mutation input files for fah (using perses-fah). Here is an example: https://github.com/choderalab/perses/blob/main/perses/data/barstar-mutation/mutant.yaml This example actually hasn't been completely updated in awhile, but basically any argument you see that's available in PointMutationExecutor should be an argument that can be specified in the yaml.

To better understand how the perses-fah CLI works, I suggest reading through https://github.com/choderalab/perses/blob/main/perses/app/fah_generator.py

It's just the normal perses CLI that doesn't support protein mutations yet.

ijpulidos commented 2 years ago

Nice to see @sukritsingh is using perses. Thanks for your feedback!

@zhang-ivy Ah! I didn't know this. Thanks for sharing this information. I guess this issue can be used then if we want to add the support for the new perses cli and try to integrate both pipelines. Even though this is probably something that requires a bit more thinking (since it might be a big refactor), it is always good to start thinking about these things.

sukritsingh commented 2 years ago

Oh! I didn't realize that the two CLIs allowed for different YAMLs - this is what I was looking for. Thanks so much for that example, @zhang-ivy!

Future integrating of the two pipelines still sounds like it would make sense in the long-term, but since serializing for FAH is a very specific use-case it could just be an "add-on" where the standard HTFs are serialized to XMLs (ala what FAH generator does). Appreciate the help!