choderalab / perses

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

had a TypeError on added_energy when run neq simulations #1063

Open SZhang66 opened 2 years ago

SZhang66 commented 2 years ago

Hi, I've been doing some tests with Perses recently which I think is a really cool tool to run repex, or neq simulations. But I saw a couple of errors when I run neq simulations using $python setup_relative_calculation.py setup_new.yaml or $perses-cli --yaml setup_new.yaml. I know how to fix the 1st one but not sure for the 2nd one. Hope you could provide me some suggestions.

Attached files include 1.) input files (CDK2_fixed_nohet.pdb, CDK2_ligands.sdf, and setup_new.yaml, downloaded from https://github.com/choderalab/perses/tree/99dab9d3af342aae8b11695815104e87df1d0d04/perses/data/cdk2-example), 2.) log files from my three tests, 3.) a short script for testing.

During my 1st test, I got this error: FileNotFoundError: [Errno 2] No such file or directory: 'output/xml/complex-real-old-state.gz'(details in test_1.log). I manually created a xml folder in the output folder. Then this error was fixed.

During my 2nd test, I had another error: TypeError: unsupported operand type(s) for +: 'float' and 'NoneType' (details in test_2.log). After I printed out the nonalch_zero_rp, alch_zero_rp and added_energy, I found added_energy is None and others are float. Therefore, I guess the problem coming from added_energy (or called _forward_added_valence_energy in the setup_relative_calculation.py).

During my 3rd test, I’d like to print out _forward_added_valence_energy for complex with a short script (junk.py). _forward_added_valence_energy is None for complex, solvent or vacuum. I guess It’s supposed to be a value. So, I manually added complex_added_valence_energy: 0. to my yaml file. It can’t be recognized. (The step maybe not reasonable. Just for testing)

My question is what should I do with this error on added_energy?

Btw, I found the below step took more than 3 hours. Is it weird? If I tested with a CDK8 system(~300 residues, downloaded from https://github.com/MCompChem/fep-benchmark/tree/master/cdk8), I could get similar outputs in 10mins.

--2022-06-28 21:14:06,068:(0.00s):proposal_generator:Using given geometries...
--2022-06-29 00:25:23,627:(11477.56s):proposal_generator:Proposed transformation would delete 1 atoms and create 1 atoms.

If you need more info, please feel free let me know. Thanks for reading!

files.zip

Best, Si

ijpulidos commented 2 years ago

@SZhang66 thanks for the feedback!

I cannot reproduce the errors you mention. I am directly running the example using perses-cli --yaml setup_new.yaml and it is indeed taking a long time when generating the topology proposal.

On the other hand, and more importantly, we are still in the process of cleaning up and improving the examples. Specifically, the one you point in perses/data/cdk2-example is a very old one and it is likely broken with the current state of perses. My suggestion is to use the examples in the examples directory. We will most likely delete the examples under the data subdirectory in the future, and stick to the ones in the examples directory that I just mentioned.

Please try running your scripts with the working examples I pointed and feel free to continue this thread if you encounter any issues with them. Thanks for bringing this up!