10 class chain_validation_information_t {
13 std::vector<residue_validation_information_t> rviv;
14 chain_validation_information_t() {}
15 explicit chain_validation_information_t(
const std::string &chain_id_in) : chain_id(chain_id_in) {}
17 add_residue_validation_information(rvi);
24 class validation_information_min_max_t {
29 validation_information_min_max_t() : is_set(
false), min(0), max(0) {}
30 validation_information_min_max_t(
const double &min_in,
const double &max_in) : is_set(
true), min(min_in), max(max_in) {}
36 enum graph_data_type { UNSET, DENSITY, DISTORTION, ENERGY, PROBABILITY, CORRELATION, LOG_PROBABILITY, TORSION_ANGLE };
39 class validation_information_t {
43 std::vector<chain_validation_information_t> cviv;
50 enum graph_data_type type;
55 unsigned int get_index_for_chain(
const std::string &chain_id) {
56 for (
unsigned int i=0; i<cviv.size(); i++) {
57 if (chain_id == cviv[i].chain_id)
62 return cviv.size() -1;
65 unsigned int idx = get_index_for_chain(chain_id);
66 cviv[idx].add_residue_validation_information(rvi);
73 bool empty()
const {
return cviv.empty(); }
77 double min = 9999999999999;
78 double max = -9999999999999;
79 for (
const auto &chain : cviv) {
80 for (
const auto &res : chain.rviv) {
82 if (res.function_value < min) min = res.function_value;
83 if (res.function_value > max) max = res.function_value;
100 for (
unsigned int i=0; i<cviv.size(); i++) {
101 const auto &cvi = cviv[i];
102 for (
unsigned int j=0; j<cvi.rviv.size(); j++) {
103 const auto &rvi = cvi.rviv[j];
104 s.add(rvi.function_value);