-
Notifications
You must be signed in to change notification settings - Fork 26
Description
Description
The user guide states the following:
An RbtNullTransform can be used to send messages to the scoring function to modify
key scoring function parameters in order to increase search efficiency
Existing protocol files in the repo all follow this pattern, where any SF parameter overrides are specified inside RbtNullTransform sections. For example in data/scripts/dock.prm we find the following section:
SECTION SETSLOPE_1
TRANSFORM RbtNullTransform
WEIGHT@SCORE.RESTR.CAVITY 5.0 # Dock with a high penalty for leaving the cavity
WEIGHT@SCORE.INTRA.DIHEDRAL 0.1 # Gradually ramp up dihedral weight from 0.1->0.5
ECUT@SCORE.INTER.VDW 1.0 # Gradually ramp up energy cutoff for switching to quadratic
USE_4_8@SCORE.INTER.VDW TRUE # Start docking with a 4-8 vdW potential
DA1MAX@SCORE.INTER.POLAR 180.0 # Broader angular dependence
DA2MAX@SCORE.INTER.POLAR 180.0 # Broader angular dependence
DR12MAX@SCORE.INTER.POLAR 1.5 # Broader distance range
END_SECTION
Nevertheless, checking the code it seems that the sf parameter overrides can be specified for arbitrary transforms, not only NULL ones. Adding a parameter override to an arbitrary transform seems to work fine, for example the following is a valid transform section:
SECTION RANDOM_POP
TRANSFORM RbtRandPopTransform
WEIGHT@SCORE.RESTR.CAVITY 3.0 # Dock with a high penalty for leaving the cavity
POP_SIZE 50
SCALE_CHROM_LENGTH TRUE
END_SECTION
I have not found any reference to this in the user guide or example in the docs.
Question
Is the ability to specify parameter overrides in arbitrary transforms intended behaviour, or should it be restricted to the null transform? It seems that the parameter changes are applied before the execution of the transformation itself so I'd say it makes sense to allow it, but wanted to confirm