Rosetta 3.5
Main Page
Related Pages
Namespaces
Classes
Files
Examples
File List
File Members
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Friends
Macros
Pages
src
protocols
simple_moves
symmetry
SymmetricRMSMover.cc
Go to the documentation of this file.
1
// -*- mode:c++;tab-width:2;indent-tabs-mode:t;show-trailing-whitespace:t;rm-trailing-spaces:t -*-
2
// vi: set ts=2 noet:
3
//
4
// This file is part of the Rosetta software suite and is made available under license.
5
// The Rosetta software is developed by the contributing members of the Rosetta Commons consortium.
6
// (C) 199x-2009 Rosetta Commons participating institutions and developers.
7
// For more information, see http://www.rosettacommons.org/.
8
9
/// @file MinMover.cc
10
/// @brief
11
/// @author ashworth
12
13
// Unit headers
14
#include <
protocols/simple_moves/symmetry/SymmetricRMSMover.hh
>
15
16
// Package headers
17
#include <
core/pose/symmetry/util.hh
>
18
// AUTO-REMOVED #include <core/conformation/symmetry/util.hh>
19
20
#include <
core/conformation/symmetry/SymmetricConformation.hh
>
21
#include <
core/conformation/symmetry/SymmetryInfo.hh
>
22
23
#include <basic/datacache/BasicDataCache.hh>
24
#include <basic/datacache/DiagnosticData.hh>
25
#include <
core/pose/datacache/CacheableDataType.hh
>
26
27
// AUTO-REMOVED #include <protocols/jd2/ScoreMap.hh>
28
#include <
core/scoring/rms_util.hh
>
29
#include <
core/scoring/rms_util.tmpl.hh
>
30
// ObjexxFCL Headers
31
32
// C++ Headers
33
34
// Utility Headers
35
#include <basic/Tracer.hh>
36
37
#include <utility/vector1.hh>
38
39
40
namespace
protocols {
41
namespace
simple_moves {
42
namespace
symmetry {
43
44
using namespace
ObjexxFCL;
45
static
basic::Tracer
TR
(
"protocols.simple_moves.symmetry.SymmetricRMSMover"
);
46
47
SymmetricRMSMover::SymmetricRMSMover
()
48
: protocols::moves::
Mover
(
"SymmetricRMSMover"
) {}
49
50
SymmetricRMSMover::~SymmetricRMSMover
(){}
51
52
void
53
SymmetricRMSMover::apply
(
core::pose::Pose
& pose )
54
{
55
using namespace
basic::datacache;
56
//using core::pose::datacache::CacheableDataType::SCORE_MAP;
57
58
std::map < std::string, core::Real > score_map;
59
if
( !(pose.
data
().has(
core::pose::datacache::CacheableDataType::SCORE_MAP
) ) ) {
60
score_map[
"NO_OUTPUT_TAG_CACHED_SORRY"
] = 0.0;
61
}
else
{
62
score_map = (
static_cast<
DiagnosticData
const
&
>
( pose.
data
().get(
core::pose::datacache::CacheableDataType::SCORE_MAP
))).data() ;
63
}
64
65
assert(
core::pose::symmetry::is_symmetric
( pose ) );
66
SymmetricConformation
const
& SymmConf (
67
dynamic_cast<SymmetricConformation const & > ( pose.
conformation
()) );
68
core::conformation::symmetry::SymmetryInfoCOP
symm_info( SymmConf.
Symmetry_Info
() );
69
70
FArray1D_bool superpos ( pose.
total_residue
(), false );
71
for
(
Size
res=1; res <= symm_info->num_total_residues_without_pseudo(); ++res )
72
{
73
superpos(res) =
true
;
74
}
75
if
(
get_native_pose
() ) {
76
core::Real
const
rms
(
core::scoring::rmsd_with_super_subset
( *
get_native_pose
(), pose, superpos,
core::scoring::is_protein_CA
) );
77
score_map[
"rms"
] =
rms
;
78
pose.
data
().set(
core::pose::datacache::CacheableDataType::SCORE_MAP
,
new
basic::datacache::DiagnosticData( score_map ));
79
}
80
81
}
82
83
std::string
84
SymmetricRMSMover::get_name
()
const
{
85
return
"SymmetricRMSMover"
;
86
}
87
88
89
}
// symmetry
90
}
// moves
91
}
// protocols
Generated on Sat Jun 1 2013 12:18:09 for Rosetta 3.5 by
1.8.4