ChemBioHTP / EnzyHTP

EnzyHTP is a python library that automates the complete life-cycle of enzyme modeling
https://enzyhtp-doc.readthedocs.io
Other
8 stars 1 forks source link

Add support for PyMOL mutation engine #116

Closed seb124 closed 1 year ago

seb124 commented 1 year ago

This PR adds support for a PyMOL mutation engine through the definition of 2 new functions:

  1. Under mutation/api.py: mutate_stru_with_pymol. Takes in a Structure and List of Mutations. Creates a PyMOL session, loads the Structure into it, and calls the 2nd new function for each mutation in the List. Finally, saves the Structure from the PyMOL session and updates residues as necessary.

  2. Under _interface/pymol_interface.py: point_mutate. Takes in mutation information and the current PyMOL object name and session. Performs a single point mutation in-place using cmd.wizard().

Also added tests for both of these functions under their respective test/ files.

User will call this mutation engine with the mutation api's mutate_stru function and passing in "pymol" as the engine.

shaoqx commented 1 year ago

Great job! I added some quick comments.

shaoqx commented 1 year ago

I notice a problem related to the atom naming. I made it an issue since it's prob better to do it after this PR. #117 You can assign yourself to the issue and solve it after this PR.

shaoqx commented 1 year ago

Great job resolving those comments! I added some more comments to the new changes you made. (I tried to make them very details for the training purpose.)

shaoqx commented 1 year ago

Good job resolving the comments! I made some final suggestions and I think we will be ready to merge after resolving these!

shaoqx commented 1 year ago

Cool! Just several last changes and confirm the unit tests and we can merge it!