Goodman-lab / DP5

Python workflow for DP5 and DP4 analysis of organic molecules
Other
174 stars 101 forks source link

QbasicTimer : stop : Failed. Possibly trying to stop from a different thread #49

Closed vmarar closed 3 years ago

vmarar commented 3 years ago

QbasicTimer : stop : Failed. Possibly trying to stop from a different thread

I keep getting this error and the GUI quits automatically. It does not give me a traceback

Thanks!

KristapsE commented 3 years ago

This sounds like a GUI issue - @HowarthA wrote pretty much all of it, so hopefully he might be able to look into this. In the meantime, could you please let us know your OS and what versions of Python and PyQT are you running?

vmarar commented 3 years ago

It is version 5.15.1

HowarthA commented 3 years ago

Hi, the problem here is likely PyDP4 starts running on a new thread and reaches a problem with the inputs and hence attempts to quit. Could you give us some details about your input files? Are you running DP4-AI with pre-completed calculations or are you using the GUI to launch the calculations for you, if so, how far through the calculations has the program reached prior to quitting?

vmarar commented 3 years ago

It seems to quit immediately. I switched over to the command line version because batch processing is more important to me and came across another issue. All of my .tout files generated have empty lines that say Enter Cartesian Coordinate File Name

HowarthA commented 3 years ago

Hi, it seems as though this is probably related to a known bug in TINKER, have a look at this issue here #48

vmarar commented 3 years ago

Getting to that error also required me changing line 60 in Tinker.py as I kept getting errors that key files were not being found(or created) for each of the diastereomers files.

my file structure is as follows:

The error I get without changing line 60 is : No such file or directory ./out1.key

HowarthA commented 3 years ago

also have you changed the TINKER path on line 60 of PyDP4.py?

vmarar commented 3 years ago

yes that has been changed

KristapsE commented 3 years ago

Have you applied the fix from #36 ? It addresses the new TINKER command line interface which requires interactive input - this wasn't the case when DP4-AI was released.

vmarar commented 3 years ago

I changed that now and it shows no change, it still isn't generating key files for diastereomers files. I looked in the Tinker.py file but can't seem to find where it creates those key files. Before I changed it so it was reading from the same key file for each diastereomers but I assume that is incorrect

vmarar commented 3 years ago

I found the main issue, sdf2tinkerxyz keeps creating a file in the main folder with the entire path as the name, I was able to change the code so It creates the key and xyz folder in my output folder but it seems to still use the entire path as the name. Would you know how/where to change it so it creates files using out1, out2, out3 etc key and xyz files? I couldn't find any useful information on their site

KristapsE commented 3 years ago

I have a feeling you might be using the tool slightly differently from what how it was intended. Have you had a look at the original data (https://www.repository.cam.ac.uk/handle/1810/303161) to see what a job folder generally looks like? Before DP4-AI has been run, the job folder should just contain the sdf of one or more diastereomers.

From command line running a job would then be by cd-ing in the job folder and then running

/path/to/PyDP4.py Candidate CandidateNMR

if using diastereomer generation or

/path/to/PyDP4.py Candidate1 Candidate2 ... CandidateN CandidateNMR

if not using diastereomer generation.

I would probably at this point suggest starting from a fresh copy of DP4-AI and just applying the fix from #36, but no other modifications.

Hope this helps.

KristapsE commented 3 years ago

Also I just thought I'd also remind that the preferred way of letting DP4-AI know where to find DFT and MM software packages is through settings.cfg. There is a settings.example file in the official package, please modify this to match your installations and rename it to settings.cfg. No other software path-related modifications to Python code should be necessary.

vmarar commented 3 years ago

Thank you so much! That worked!

vmarar commented 3 years ago

Just had another question. According to the paper it should take about a minute per molecule, after reducing number of conformers to 1 it still takes about an hour ( 16 cores, using MPI with NWChem on a molecule that is similar to the ones drawn in the paper using the PyDP4.py script).

According to your reported speeds when comparing our results it seems we are using DP4 and not DP4-AI.

Are there settings that we need to tweak or is it a resource issue in order to replicate the timings in the paper for DP4-AI?

Thank you!

KristapsE commented 3 years ago

About an hour of computational time for 1 conformer seems reasonable. The times shown in the paper are the NMR processing times excluding molecular mechanics and DFT calculation time. DP4-AI innovation is that it removes the need to analyze the NMR spectrum and manually extract and assign peaks to the atoms in the molecules - which is actually very human intensive, therefore that manual intepretation part sees the dramatic speedup.

I'm glad the issue has been solved - I will close the issue now.