Issue 68 edesolv
Energy of desolvation currently working in this branch (complete issue: #issue68).
The organization of deeprank/features/Edesolv.py though might not be great, so I would appreciate comments on that (if needed).
Pull Request Test Coverage Report for Build 1127779947
- 133 of 166 (80.12%) changed or added relevant lines in 2 files are covered.
- No unchanged relevant lines lost coverage.
- Overall coverage increased (+0.2%) to 77.329%
| Changes Missing Coverage | Covered Lines | Changed/Added Lines | % |
|---|---|---|---|
| deeprank/features/Edesolv.py | 131 | 164 | 79.88% |
| <!-- | Total: | 133 | 166 |
| Totals | |
|---|---|
| Change from base Build 741819231: | 0.2% |
| Covered Lines: | 1760 |
| Relevant Lines: | 2276 |
💛 - Coveralls
- Write an unit test to test the code
For point 3, isn't it better if I simply add Edesolv as a feature in test_generate.py? In this way, it will be tested along with the other features and there will be no need to change its specific unit test.
- Write an unit test to test the code
For point 3, isn't it better if I simply add Edesolv as a feature in test_generate.py? In this way, it will be tested along with the other features and there will be no need to change its specific unit test.
Yep, makes sense :-)
@DarioMarzella Please leave me a message when all requested changes have been handled :-) The tests failed and please look into it.
@DarioMarzella Please leave me a message when all requested changes have been handled :-) The tests failed and please look into it.
Yes, I am waiting for the comparison with HADDOCK to update you :)
@DarioMarzella Please leave me a message when all requested changes have been handled :-) The tests failed and please look into it.
I just got the result, and seems like the Edesolv I get from DeepRank by setting a grid big enough to take the whole protein correlates a bit worse with haddock than the one I previously got by taking into account the interface only. This makes me wonder if HADDOCK is using the whole proteins or the surface atoms only for the Edesolv. (Please note I had to use a different set of structures previously used for comparison. I previously used all the CAPRI set structures, now I had to use only some BM5 structures)
Last result (using all-atom Edesolv): Pearson correlation: 0.92 Mean absolute difference: 4.13 Plot: haddock_vs_deeprank.pdf
Previous results (using interface-only Edesolv): Pearson correlation: 0.98 Mean absolute difference: -2.93 Plot: haddock_vs_deeprank_capri.pdf
Update: it might be that HADDOCK uses different thresholds to calculate the Edesolv. My values correlate better with HADDOCK itw and worse with HADDOCK it1 and it0.
HADDOCK it0 models:
Pearson corr: 0.89
Mean Absolute difference: 5.05
Plot:

HADDOCK it1 models:
Pearson: 0.95
Mean Absolute Difference: 2.98
Plot:

HADDOCK itw models:
Pearson: 0.97
Mean Absolute value: 3.13
Plot:

@DarioMarzella Thanks for the results! If we're using the same equations and parameters as Haddock, the results should be same or the difference should be at the level of precision, e.g. 0.01(?). Did you check the Haddock code? If not, you'd better to have a look and also get clear with your wonder "This makes me wonder if HADDOCK is using the whole proteins or the surface atoms only for the Edesolv." (I don't remember and cannot provide a direct answer here :-(
And note the difference might be also from the calculation of surface area, Haddock does not use biopython for that. If the major part of difference is from area calculation, it's fine then and we should leave a note in the documentation.
This repo is going to be archived #260. So closing this PR now.