ChemBioHTP / EnzyHTP

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

Merging `RosettaInterface()`, updated `PyMolInterface()` and the ability to check for python modules within the `EnvironmentManager()` #115

Closed chrisjurich closed 1 year ago

chrisjurich commented 1 year ago

This PR has three main components which are listed below:

  1. Initial implementation of RosettaInterface()

A simple implementation of Rosetta within the EnzyHTP package. Currently offers support for

  1. Update of PyMolInterface() to only use pymol2 and have a session-based approach.

Updated PyMolInterface() so that it has a default session (attribute self.session_) which it uses by default for each function. If the user chooses, they can create a session from the function PyMolInterface.new_session() such that each function uses the state available in the session object. The PyMolInterface() also checks if pymol2 is in the current environment and errors/exists if it is not.

  1. Ability to check for python modules within EnvironmentManageer()

Using the importlib python module, EnzyHTP now looks for whether python modules exist in their environment. Each <Package>Interface() can now see if any modules are missing.

As before, the documentation for much of this code is in progress. Will be updated in a major commit some day.

shaoqx commented 1 year ago

Thank you, Chris! Great changes! So many great new features! In terms of changes:

chrisjurich commented 1 year ago

Have made all the necessary changes requested. In addition, I changed the API of PyMolInterface so that session is the first argument when present.