21 #include <utility/string_util.hh>
25 #include <utility/vector1.hh>
29 using namespace core::pose;
30 using namespace core::pose::metrics;
34 namespace pose_metric_calculators {
37 ResidueDecompositionByChainCalculator::ResidueDecompositionByChainCalculator() :
47 chain_letters_(calculator.chain_letters()),
48 chain_numbers_(calculator.chain_numbers()),
49 use_numbers_(calculator.use_numbers())
65 std::map<core::Size, core::Size> chain_map;
71 runtime_assert(chain_map.find(*iter) == chain_map.end());
90 std::map<core::Size, core::Size>::iterator iter(chain_map.find(this_pose.
chain(i)));
91 if (iter != chain_map.end()) {
98 runtime_assert(this_pose.
pdb_info());
100 std::map<char, core::Size> chain_map;
106 runtime_assert(chain_map.find(*iter) == chain_map.end());
107 chain_map[*iter] = i;
117 if (chain_map.find(this_pose.
pdb_info()->chain(i)) == chain_map.end()) {
118 core::Size const chain_map_size(chain_map.size());
119 chain_map[this_pose.
pdb_info()->chain(i)] = chain_map_size+1;
128 std::map<char, core::Size>::iterator iter(chain_map.find(this_pose.
pdb_info()->chain(i)));
129 if (iter != chain_map.end()) {