I am using make_fragments.pl with default options to generate fragment libraries and noticed that the 3mer and 9mer calculations are set to use different weighting schemes (see attached). Why is this? I haven't been able to find any documentation as to why you might want to use different weights for 3mers vs 9mers, or even why this particular weighting scheme is used in the first place (i.e. why are phi torsions weighted higher than psi torsions?). I'm curious because I would like to understand if these weights are appropriate for all fragment libraries or if they need to be optimized in some way for my specific protein. Thanks!
Personally I use the same weighting for both 9mers and 3mers, which is probably because I'm a bit lazy. But David Kim a wile ago made the effort to optimize these weights on a set of benchmark proteins and implemented them in Robetta server and these are the files you refer to.
The Phi and Psi scores compare the respective dihedral angle with predicted values, e.g by spider3 (http://sparks-lab.org/server/SPIDER3/) tool. That ML method accuracy is not the same for Phi as it is for Psi angles, thus the difference in weight. The weight for Rama score does not need to be very accurate - it's just a filter to remove some incorrect fragments.
Do the weights need to be optimized in some way for a specific protein?
I'd say it depends more on a modelling scenario. If you pick fragments for ab-initio, I'd use an additional secondary structure prediction and a quota protocol.