michellab / sireparsertests

Dataset to validate Sire Amber parsers
0 stars 0 forks source link

Core dump with latest devel #2

Open jmichel80 opened 5 years ago

jmichel80 commented 5 years ago

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.

[ julien@mechagodzilla: 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 
double free or corruption (top)
Aborted (core dumped)

Now I'm getting this error message...

Will recompile from scratch and give it another go later as I have to go now

jmichel80 commented 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?

chryswoods commented 5 years ago

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...

chryswoods commented 5 years ago

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
chryswoods commented 5 years ago

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 
jmichel80 commented 5 years ago

Looking into it. I will double check that all the inputs can be processed correctly by sander before checking agreement with Sire.

jmichel80 commented 5 years ago

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

Sire energies

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

Sander energies

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

jmichel80 commented 5 years ago

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?

chryswoods commented 5 years ago

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.

chryswoods commented 5 years ago

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.

chryswoods commented 5 years ago

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.

screenshot 2019-02-07 at 14 28 31

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.

jmichel80 commented 5 years ago

Hi Chris,

I added the missing sander input file to the repository. I confirm I get the same results.

Best wishes,

Julien


Dr. Julien Michel, Senior Lecturer Room 263, School of Chemistry University of Edinburgh David Brewster road Edinburgh, EH9 3FJ United Kingdom phone: +44 (0)131 650 4797 http://www.julienmichel.net/

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.