choderalab / perses

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

`RelativeFEPSetup` cannot handle list of smiles as input ligands #1155

Open ijpulidos opened 1 year ago

ijpulidos commented 1 year ago

According to the documentation, RelativeFEPSetup should be able to handle a list of SMILES strings as input ligands but it makes the interpreter to freeze giving the following warnings:

Warning: Unable to set unknown read format (UNDEFINED) in input stream, using existing format (Canonical stereo SMILES)
Warning: Unable to open "Oc1ccccc1" for reading molecules.

Warning: Error reading molecule "" in Canonical stereo SMILES format.

And example code to reproduce the issue is as follows (Warning, this kinda kills the python interpreter, use at your own risk):

from perses.app.relative_setup import RelativeFEPSetup
from openmm import unit
phenol_smiles = "Oc1ccccc1"
paracetamol_smiles = "CC(=O)Nc1ccc(O)cc1"
input_smiles = [phenol_smiles, paracetamol_smiles]
fe_setup = RelativeFEPSetup(
                ligand_input=input_smiles,
                old_ligand_index=0,
                new_ligand_index=1,
                forcefield_files=["amber14/tip3p.xml"],
                small_molecule_forcefield="gaff-2.11",
                phases=["solvent"],
                solvent_padding=1.1 * unit.nanometers)