「view this page in B3 βῆτα server」

Revisions №57235

branch: master 「№57235」
Commited by: Noah
GitHub commit link: 「8e075936cd1e0338」 「№71」
Difference from previous tested commit:  code diff
Commit date: 2014-08-29 16:13:45

Merge pull request #71 from RosettaCommons/nollikai/BoltzmannRotamerMover Adding BoltzmannRotamerMover to protocols/simple_moves Created a new mover that calculates Boltzmann probabilities for each rotamer at a given position and then selects a rotamer based on these probabilities. If the position is designable, the mover will calculate a Boltzmann probability for each amino acid and then select an amino acid based on these probabilities. Boltzmann probabilities are calculated as p_i = e^(E_i / kT) / Z, where E_i is the change in energy of substituting the current rotamer with rotamer i, Z is the partition function (sum of Boltzmann factors for all rotamers), and kT can be set using set_temperature( Real ). The mover only changes one rotamer per apply. If randomize_resnum is set to true, the mover will select a random position out of the repackable and designable residues on which to perform the move. This position can be set using set_resnum( Size ). This mover solves a common problem I have encountered with traditional design, where multiple runs tend to output the same low energy sequence. Instead, the goal of this mover is to sample around local minima to obtain a large number of diverse low energy sequences. This is especially true when combined with local backbone moves, and I will commit another mover that performs coupled backrub and Boltzmann rotamer moves in the near future.

...