MantisBT - Rosetta
View Issue Details
0000345Rosetta[All Projects] Incorrect Resultspublic2014-07-03 12:392014-07-29 16:37
Labonte 
Labonte 
highmajoralways
resolvedfixed 
All platformsAnyAny
Trunk 
Trunk 
anything using CCD closure
N/A
Confirmed As Bug
57131
0000345: The rama score check in CCD closure behaves exactly opposite the way it should.
If the rama check flag is set to true during CCD closures, the moves are always accepted if the rama check score is WORSE!
Offending code:
// evaluate the rama score difference:
Real const old_rama_score( rama->eval_rama_score_residue( pose.aa(pos), torsions[pos][1], torsions[pos][2]));
Real const new_rama_score( rama->eval_rama_score_residue( pose.aa(pos), save_torsions[1], save_torsions[2]));

if (local_verbose)
tccd.Warning << "rama_check_boltzmann: " << pos << ' ' << old_rama_score << ' ' << new_rama_score << std::endl;

if ( new_rama_score > old_rama_score ) {
Real const boltz_factor ( (old_rama_score-new_rama_score)/ccd_temperature );
Real const negative_forty( -40.0f );
Real const probability ( std::exp(std::max(negative_forty,boltz_factor) ) );
if ( new_rama_score - start_rama_score[ pos ] > max_rama_score_increase ||
numeric::random::uniform() >= probability ) {
// undo the change:
torsions[pos] = save_torsions;

// recover saved coords
for ( int i=loop_begin; i<= loop_end; ++i ) {
for ( Size j=1; j<= nbb; ++j ) {
coords[i][j] = save_coords[i][j];
}
}

get_overlap_pos( coords, torsions, cutpoint, direction, bond_angle1, bond_length, bond_angle2, M );

} // rama reject
} // rama-score got worse
No tags attached.
Issue History
2014-07-03 12:39LabonteNew Issue
2014-07-03 12:39LabonteStatusnew => assigned
2014-07-03 12:39LabonteAssigned To => Labonte
2014-07-29 16:37LabonteFixed in SVN Version => 57131
2014-07-29 16:37LabonteStatusassigned => resolved
2014-07-29 16:37LabonteFixed in Version => Trunk
2014-07-29 16:37LabonteResolutionopen => fixed

There are no notes attached to this issue.