Skip to content
Snippets Groups Projects
Commit 3cb6b129 authored by Studer Gabriel's avatar Studer Gabriel
Browse files

bugfix in deprecated DRMSD implementation

Penalties for missing residues also included values for distances
within the same residue => the penalty logic did not consider
the specified sequence separation.
parent e85318b2
Branches
Tags
No related merge requests found
...@@ -129,8 +129,17 @@ void fill_values(const GlobalRDMap& glob_dist_list, ...@@ -129,8 +129,17 @@ void fill_values(const GlobalRDMap& glob_dist_list,
rnum_one = i->first; rnum_one = i->first;
res_positions_one = positions.find(rnum_one); res_positions_one = positions.find(rnum_one);
if(res_positions_one == positions.end()){ if(res_positions_one == positions.end()){
//this residue is missing, so we give it the full penalty // this residue is missing, count how many interactions there are
drmsd_values[rnum_one] = std::make_pair(i->second.size()*squared_cap_distance,i->second.size()); // towards residues that fulfill sequence separation threshold
int n = 0;
for(ResidueRDMap::const_iterator j = i->second.begin(); j != i->second.end(); ++j){
//check sequence separation
rnum_two = j->first.second.GetResNum();
if(std::abs(rnum_one.GetNum() - rnum_two.GetNum()) > sequence_separation){
++n;
}
}
drmsd_values[rnum_one] = std::make_pair(n*squared_cap_distance,n);
continue; continue;
} }
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment