Closed xiki-tempula closed 1 year ago
Thanks for reporting. I'll have a think since the current approach doesn't generalise well, so probably needs a complete rethink. I did question this during the previous PR since I was concerned that this would be a short-term fix. Since this only affects your sandpit, it's also possible for you to fix at your end and raise a PR. I'd rather not keep having to modify this region of the code without full context of the output formatting and type of simulations that are run.
Looking at the output file I don't think the DoF
approach makes sense. It is probably better to have the functions take a ti_region
parameter (which is 0 for non-FEP simulations) then another flag that tells you whether you want a soft-core record from that region. The main issue is that there isn't full overlap between the normal records and those for the soft-core part, so it might be easier (although painful) to just create a whole bunch of new methods for the soft-core terms.
I think I have thought of a simple fix. Will give it a quick try and report back.
Okay, it's working, but this new output file that you have shared contains a lot of additional information that wasn't present in the others which is causing issues for the parse, e.g.:
...
------------------------------------------------------------------------
TI 1 EE14-SC 0.00000 1.00000 0.00000 -0.00000
TI 2 EE14-SC -47.72422 0.00000 0.00000 0.00000
lambda = 0.000 : EE14-SC H= 0.0000 dU/dL: L= 0.0000 NL= 0.0000 Tot= 0.00000
------------------------------------------------------------------------
TI 1 Self-Rec -0.02504 1.00000 0.00000 -0.00000
TI 2 Self-Rec -0.00000 0.00000 0.00000 0.00000
lambda = 0.000 : Self-Rec H= -0.0250 dU/dL: L= 0.0000 NL= 0.0000 Tot= 0.00000
------------------------------------------------------------------------
TI 1 Self-SC -0.00000 1.00000 0.00000 -0.00000
TI 2 Self-SC -41.56967 0.00000 0.00000 0.00000
lambda = 0.000 : Self-SC H= 0.0000 dU/dL: L= 0.0000 NL= 0.0000 Tot= 0.00000
------------------------------------------------------------------------
TI 1 vDW-Corr 0.00000 1.00000 0.00000 -0.00000
TI 2 vDW-Corr -0.01409 0.00000 0.00000 0.00000
lambda = 0.000 : vDW-Corr H= 0.0000 dU/dL: L= 0.0000 NL= 0.0000 Tot= 0.00000
------------------------------------------------------------------------
lambda = 0.000 : Total dU/dl: 0.000000 L: 0.00000 NL: 0.00000 PI: 0.00000
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
MBAR Energy analysis:
Energy at 0.0000 = -21439.240358
Energy at 0.0667 = -21436.569044
Energy at 0.1333 = -21420.047126
Energy at 0.2000 = -21381.348536
Energy at 0.2667 = -21317.294906
Energy at 0.3333 = -21228.898916
Energy at 0.4000 = -21120.365162
Energy at 0.4667 = -20998.249282
Energy at 0.5333 = -20870.529218
Energy at 0.6000 = -20745.673330
...
Just working out a way to ignore this section of the output file, although I worry what other records might be present in future depending on what options are set and what type of simulation is run. This was the original reason why I used watchdog
to automatically parse the mdout
file, since the formatting was consistent.
Maybe only save the data that has a method for it? Instead of trying to save everything and something breaks down.
Describe the bug Problem with parsing the amber output file. For the state where there is softcore region in both TI region 1 and TI region 2. The current parser gives wrong number of temperature in dof=2
To Reproduce The example output would be
If you replace https://github.com/OpenBioSim/biosimspace/blob/devel/tests/Sandpit/Exscientia/output/amber_fep.out with amber_fep.out.zip. The test will fail.
Expected behavior One might need two dof for the softcore region (please complete the following information):
dev
release]Additional context Add any other context about the problem here.