38 #include <basic/Tracer.hh>
40 #include <utility/vector1.hh>
43 static basic::Tracer
tr(
"protocols.relax.cst_util");
54 if ( aln.
size() == 0 ) {
55 tr.Debug <<
"Empty alignment => no constraints!\n";
63 using namespace core::scoring::constraints;
77 for (
Size idx = 1; idx <= nres - 1; ++idx ) {
78 if ( map[idx] != 0 ) {
79 coord_sdevs.push_back(coord_sdev);
112 using namespace core::conformation;
113 using namespace core::scoring::constraints;
117 if ( coord_sdevs.size() >= idx ) {
119 core::Real const coord_sdev( coord_sdevs[idx] );
120 if ( coord_sdev > 0 ) {
121 for (
Size ii = 1; ii <= rsd.last_backbone_atom(); ++ii ) {
122 cst_set->add_constraint(
156 using namespace core::scoring;
160 Real const per_residue_score( rsd_energies[ scoretype ] );
161 scores.push_back( per_residue_score );
188 using namespace core::scoring::constraints;
190 Real const cst_sdev ( 2.0 );
202 resi.
xyz(atm_ii).distance( resj.
xyz(atm_jj) ));
203 if ( distance <= upper_dist_cutoff ) {
209 tr <<
"adding restraint from "
210 <<
"AtomID(" << atm_ii <<
"," << ii
211 <<
"AtomID(" << atm_jj <<
"," << jj
212 <<
") with distance = " << distance << std::endl;
218 tr.flush_all_channels();