isayevlab / Auto3D_pkg

Auto3D generates low-energy conformers from SMILES/SDF
MIT License
146 stars 32 forks source link

tauto_k in get_stable_tautomers #75

Closed nadiahfl closed 5 months ago

nadiahfl commented 5 months ago

Describe the bug The tauto_k is said to output the top-k tautomers for each SMILES. When testing on the tutorial example sildnafil.smi (and other molecules), changing tauto_k in get_stable_tautomers function doesn't seem to change the number of output tautomers.

To Reproduce Steps to reproduce the behavior:

  1. Go to the tautomer tutorial (example/tautomer.ipynb)
  2. set tauto_k=3 to see it generates 3 tautomers
  3. set tauto_k=2 to see it still generates 3 tautomers

System information:

Additional context Add any other context about the problem here.

LiuCMU commented 5 months ago

Hello, thanks for the detailed description. I tried to reproduce the issue, but did get 2 tautomers when setting tauto_k = 2.

A place susceptible to error is argument k. Could you make sure that your k=1 in the options function? Besides, I also attached my jupyter notebook below for your reference. Let me know if you have further questions. tautomer.ipynb.txt

nadiahfl commented 5 months ago

Thanks for your helpful reply. I had tauto_k=2 and k=1, and the smi_taut.smi file has three tautomers which I thought is supposed to be two for tauto_k=2. I probably misunderstood this as it looks that the stable tautomers are written at the very end.

LiuCMU commented 5 months ago

I see where the problem is. The stable tautomers are stored in an SDF file, of which the path will be printed out in the terminal/console after Auto3D finishes running. There should be something like the following that specify the output SDF path in the terminal/console.

Begin to select stable tautomers based on their conformer energies...
Done.
The stable tautomers are stored in: /home/jack/Auto3D_pkg/example/files/sildnafil_20240329-144811-182857/sildnafil_out_top_tautomers.sdf