Open jmichel80 opened 5 years ago
I confirm that updating devel from https://github.com/michellab/Sire/commit/789a461af867b0d29168599b555e385f58ea49db to https://github.com/michellab/Sire/commit/b0740ffc99aeac0019b82363bee3131eae2ed6c6
has broken the parser on my build. I can read the inputs if I switch back to the old parm reader.
@chryswoods could you check if the test script also triggers an error in your hands?
I get this crash. However, when I comment out the "sander_energies1 = _sanderEnergy(prm_file, rst_file)" lines then the crash disappears. Very strange. The script also doesn't work on my Mac as sander doesn't run. I recommend adjusting the script so that the output of sander is included in the repo. This would allow us to run the tests without rerunning sander each time. It would also eliminate any interference between sander and Sire.
(also, the second energy test should be nrg2 = s2.energy()
not nrg2 = system.energy()
)
I'll continue to see if I can trigger a crash that is debuggable...
Run manually, the energies are in agreement (for BACE:bace_lig1);
NSTEP ENERGY RMS GMAX NAME NUMBER
1 -1.2928E+05 1.4127E+01 9.9115E+01 CB 1902
BOND = 1106.1670 ANGLE = 3060.9520 DIHED = 4956.5503
VDWAALS = 15104.6281 EEL = -171028.8930 HBOND = 0.0000
1-4 VDW = 1424.9093 1-4 EEL = 16097.4734 RESTRAINT = 0.0000
E_{ions:ions}^{CLJ} 374.3231839209191
E_{ions:ions}^{LJ} -0.00028352814965529625
E_{ions:ions}^{coulomb} 374.3234674490688
E_{ions:molecules}^{CLJ} -2593.9775794202183
E_{ions:molecules}^{LJ} 93.69543718570173
E_{ions:molecules}^{coulomb} -2687.67301660592
E_{molecules-intrabonded}^{1-4[LJ]} 0.0
E_{molecules-intrabonded}^{1-4[coulomb]} 0.0
E_{molecules-intrabonded}^{1-4} 0.0
E_{molecules-intrabonded}^{angle} 3060.9519878687947
E_{molecules-intrabonded}^{bend-bend} 0.0
E_{molecules-intrabonded}^{bond} 1106.1670163989781
E_{molecules-intrabonded}^{dihedral} 4764.859167366259
E_{molecules-intrabonded}^{improper} 191.69166793878668
E_{molecules-intrabonded}^{internal} 9123.669839572818
E_{molecules-intrabonded}^{stretch-bend-torsion} 0.0
E_{molecules-intrabonded}^{stretch-bend} 0.0
E_{molecules-intrabonded}^{stretch-stretch} 0.0
E_{molecules-intrabonded}^{urey_bradley} 0.0
E_{molecules-intranonbonded}^{CLJ} -12378.909613716902
E_{molecules-intranonbonded}^{LJ} -1715.9003965301417
E_{molecules-intranonbonded}^{coulomb} -10663.00921718676
E_{molecules:molecules}^{CLJ} -123808.67998857905
E_{molecules:molecules}^{LJ} 18151.742736413365
E_{molecules:molecules}^{coulomb} -141960.42272499242
E_{total} -129283.57415822243
I've just run again including the sander output, and there is no crash. It may be a random crash, so difficult to debug. I will keep hunting. Here is the output from a successful vanilla run of your script;
[chris@cibod sireparsertests]$ ~/sire.app/bin/python test_prmparser.py
Size of test set: 1
############### Testing input/bace_ds/03-fesetup-morph/_complexes/BACE:bace_lig1/solvated.parm7 input/bace_ds/03-fesetup-morph/_complexes/BACE:bace_lig1/BACE:bace_lig1_equilibrated.rst7
==============================================================
Sending anonymous Sire usage statistics to http://siremol.org.
For more information, see http://siremol.org/analytics
To disable, set the environment variable 'SIRE_DONT_PHONEHOME' to 1
To see the information sent, set the environment variable
SIRE_VERBOSE_PHONEHOME equal to 1. To silence this message, set
the environment variable SIRE_SILENT_PHONEHOME to 1.
==============================================================
Difference in energies between sander and sire with input 0.000626159 kcal mol-1
Difference in energies between sire input and sire output 0 kcal mol-1
Difference in energies between sire output and sander output 0.000626159 kcal mol-1
Looking into it. I will double check that all the inputs can be processed correctly by sander before checking agreement with Sire.
Still not sure what causes the random crash. I am in the process of saving the sander outputs to log files and will upload to the repository. I have a few other things to do first so it might take me a few days.
The tests so far have uncovered at least one interesting failure where the Sire and Sander angle energies differ by 0.08 kcal mol-1.
############### Testing input/jnk1_ds/03-fesetup-morph/_ligands/jnk1_lig17/solvated.parm7 input/jnk1_ds/03-fesetup-morph/_ligands/jnk1_lig17/jnk1_lig17_equilibrated.rst7 Difference in energies between sander and sire with input -0.0864287 kcal mol-1
E{ions:ions}^{CLJ} 0.0 E{ions:ions}^{LJ} 0.0 E{ions:ions}^{coulomb} 0.0 E{ions:molecules}^{CLJ} 0.0 E{ions:molecules}^{LJ} 0.0 E{ions:molecules}^{coulomb} 0.0 E{molecules-intrabonded}^{1-4[LJ]} 0.0 E{molecules-intrabonded}^{1-4[coulomb]} 0.0 E{molecules-intrabonded}^{1-4} 0.0 E{molecules-intrabonded}^{angle} 20.134484075798998 E{molecules-intrabonded}^{bend-bend} 0.0 E{molecules-intrabonded}^{bond} 11.121108962892151 E{molecules-intrabonded}^{dihedral} 12.43325422358592 E{molecules-intrabonded}^{improper} 1.5974360435206771 E{molecules-intrabonded}^{internal} 45.286283305797745 E{molecules-intrabonded}^{stretch-bend-torsion} 0.0 E{molecules-intrabonded}^{stretch-bend} 0.0 E{molecules-intrabonded}^{stretch-stretch} 0.0 E_{molecules-intrabonded}^{ureybradley} 0.0 E{molecules-intranonbonded}^{CLJ} -288.4695858332306 E{molecules-intranonbonded}^{LJ} 18.22190739205997 E{molecules-intranonbonded}^{coulomb} -306.69149322529057 E{molecules:molecules}^{CLJ} -11417.136965769641 E{molecules:molecules}^{LJ} 1959.5510211512135 E{molecules:molecules}^{coulomb} -13376.687986920855 E{total} -11660.320268297075
bond 11.1211 kcal_per_mol angle 20.221 kcal_per_mol dihedral 14.0307 kcal_per_mol vdw 1960.2813 kcal_per_mol vdw14 17.4916 kcal_per_mol eel -13027.994558732144 kcal_per_mol eel14 -655.3849808539259 kcal_per_mol total -11660.233839586068 kcal_per_mol
An update. I have written a new script test_prmparser2.py that reads precalculated sander energies for comparison to Sire energies. However I still get random ''double free or corruption (out)'' crashes when I process the protein-ligand input files. I've tried writing the output to a file instead of the standard output as I thought there was something going on earlier with this when sander was executed by the script, but that doesn't seem to be the problem.
@chryswoods could you confirm if this new version of the script also crashes randomly on your computer?
I can confirm that the script crashes randomly on my computer. This is using the latest devel on OS X using the full anaconda compiler and dependencies. I also get full crashes when using the old Amber parser, related to how this was python-wrapped. I will look into these and will fix.
Please could you try to download the install sire-devel-latest-linux.run from the website and try that? I still get the double-free crash (which I will investigate), but only if I run in parallel mode. When running using a single core it doesn't crash. e.g.
$SIRE/bin/sire_python --ppn=1 test_prmparser2.py
works (I have tried it running through all ligands/complexes). Try this to debug any differences in energy while I fix the parallel programming crash.
My run using only one core is complete. It stopped when processing
############### Testing input/jnk1_ds/03-fesetup-morph/_ligands/jnk1_lig21/solvated.parm7 input/jnk1_ds/03-fesetup-morph/_ligands/jnk1_lig21/jnk1_lig21_equilibrated.rst7
because it was missing some input files. I've attached the log file output here; test_prmparser2.log
I've plotted this below. As you can see, nearly everything run had very good agreement. There were only three structures that had non-numeric-rounding disagreement, identified on the graph.
Do you get the same results? If so, then we just need to identify the source of the difference for these three structures and I need to fix the parallel crashing bug.
Hi Chris,
I added the missing sander input file to the repository. I confirm I get the same results.
Best wishes,
Julien
On Thu, Feb 7, 2019 at 2:30 PM Christopher Woods notifications@github.com<mailto:notifications@github.com> wrote:
My run using only one core is complete. It stopped when processing
############### Testing input/jnk1_ds/03-fesetup-morph/_ligands/jnk1_lig21/solvated.parm7 input/jnk1_ds/03-fesetup-morph/_ligands/jnk1_lig21/jnk1_lig21_equilibrated.rst7
because it was missing some input files. I've attached the log file output here; test_prmparser2.loghttps://github.com/michellab/sireparsertests/files/2841169/test_prmparser2.log
I've plotted this below. As you can see, nearly everything run had very good agreement. There were only three structures that had non-numeric-rounding disagreement, identified on the graph.
[screenshot 2019-02-07 at 14 28 31]https://user-images.githubusercontent.com/3694698/52417870-b939e500-2ae4-11e9-94e4-034d942027b1.png
Do you get the same results? If so, then we just need to identify the source of the difference for these three structures and I need to fix the parallel crashing bug.
— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHubhttps://github.com/michellab/sireparsertests/issues/2#issuecomment-461442226, or mute the threadhttps://github.com/notifications/unsubscribe-auth/ALLd5J4g2yyFbx2rZrsYnXjtdmFRfCxUks5vLDh_gaJpZM4aek0N.
The University of Edinburgh is a charitable body, registered in Scotland, with registration number SC005336.
Ok the tests seemed to work on my laptop, so I moved to a workstation to process the full dataset overnight. I updated sire to the latest devel branch and then launched the test script.
Now I'm getting this error message...
Will recompile from scratch and give it another go later as I have to go now