As for changing the distance on a distance restraint, it seems like
you should just add code to set the constant in the appropriate
restraint class. Seems like a useful thing to have.
On Nov 5, 2007, at 1:36 PM, Friedrich Foerster wrote:
hi all,
i think we urgently need a solution for integrating different weights
of terms into the scoring function to get real applications going.
Schedules in optimization
Old fashioned - but working - optimization strategies in modeling
often use variable target functions. That means the scoring function
is gradually changed in the course of optimization. In MODELLER,
Andrej probably spent significant time of his thesis figuring out a
reasonable way of varying the different terms of the scoring function
to eventually obtain the best (=lowest scoring) results. Although the
eventual relative weights of all terms is 1, finding the global
minimum can be greatly facilitated by 'guiding' the optimization by
removing high barriers that make the optimization stuck in early
stages of the optimization.
In particular, it is beneficial to vary the term penalizing steric
clashes S_vol (soft-sphere overlap) during optimization, /ie/ have it
practically zero in the beginning of the optimization to allow the
particles to rearrange drastically and then gradually increase the
weight for this term. In MODELLER a 'schedule' was used for this
purpose. A schedule was a list of relative weights of the relative
weights of the scoring terms.
IMP currently does not have any way of easily adjusting the different
weights of the terms constituting the score. The only way of changing
the restraints is to generate new ones, eg for volume exclusion one
would need to regenerate these restraints each time specifying a
different standard deviation every time, which is awkward in my eyes.
I would be eager to have some kind of schedule in IMP, /ie/ an easy
way to alter the relative contribution of terms to the score.
Specifically, one could envision the following things useful during
an optimization run for the volume exclusion restraint:
* scale S_vol differently at different stages of optimization
* vary radii (=minimum distance in restraint) at different stages
of optimization
*
Technically, the weight could be either the same for a given kind of
restraint, or possibly even a property of a restraint. In the latter
case, specific atom pairs could be penalized less than others for
clashes, which might make sense if the accuracy of the representation
(/eg/ a rigid body) is lower/higher for specific particles.
I do not favor any particular way of integrating a weight. One option
- and currently a parameter in the EM score - is to call the
restraint with a given weight. The term (and derivative) will be
added to the overall functions using this weight.
Any ideas/suggestions/preferences?
frido
also found at:
https://salilab.org/internal/wiki/IMP/schedule
--
--
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Friedrich Foerster %
% Andrej Sali Lab %
% University of California at San Francisco %
# MC 2552 %
% Byers Hall Room 501 %
% 1700 4th Street %
% San Francisco, CA 94158-2330, USA %
% %
% phone: +1 (415) 514-4258 %
% fax: +1 (415) 514-4231 %
% %
% www.salilab.org/~frido %
% %
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%