akiyamalab/restretto

Treating IntraEnergy wrongly

Opened this issue · 1 comments

According to the AutoDock Vina paper (Trott & Alson, 2010), the optimization is done based on $c = c_{inter}+c_{intra}$, not $c_{inter}$ only. The output order is the same manner.

fltype calcscore(const Molecule &mol) const {

Here is the score calculation function of optimizer, and it calculates inter-molecular energy only. it should be updated to sum intra-molecular energy also.

it causes the wrong order of output poses.

fltype opt_score = opt_grid.optimize(mol);

the process ordering output poses uses the optimization scores, resulting in $c_{inter}$ only so far. However, the original is $c = c_{inter} + c_{intra}$.

Code modification is minimum: add mol.getIntraEnergy() to the output of calcscore()