示例#1
0
 def test_hes_custom_weights(self, ens1, ens2):
     results, details = encore.hes([ens1, ens2], weights='mass')
     results_custom, details_custom = encore.hes([ens1, ens2],
                                                 weights=(ens1.select_atoms('name CA').masses,
                                                          ens2.select_atoms('name CA').masses))
     result_value = results[0, 1]
     result_value_custom = results_custom[0, 1]
     assert_almost_equal(result_value, result_value_custom)
示例#2
0
 def test_hes_custom_weights(self):
     results, details = encore.hes([self.ens1, self.ens2], weights='mass')
     results_custom, details_custom = encore.hes(
         [self.ens1, self.ens2],
         weights=(self.ens1.atoms.CA.masses, self.ens2.atoms.CA.masses))
     result_value = results[0, 1]
     result_value_custom = results_custom[0, 1]
     assert_almost_equal(result_value, result_value_custom)
示例#3
0
 def test_hes_custom_weights(self, ens1, ens2):
     results, details = encore.hes([ens1, ens2], weights='mass')
     results_custom, details_custom = encore.hes(
         [ens1, ens2],
         weights=(ens1.select_atoms('name CA').masses,
                  ens2.select_atoms('name CA').masses))
     result_value = results[0, 1]
     result_value_custom = results_custom[0, 1]
     assert_almost_equal(result_value, result_value_custom)
示例#4
0
 def test_hes_align(self, ens1, ens2):
     # This test is massively sensitive!
     # Get 5260 when masses were float32?
     results, details = encore.hes([ens1, ens2], align=True)
     result_value = results[0,1]
     expected_value = 2047.05
     assert_almost_equal(result_value, expected_value, decimal=-3,
                         err_msg="Unexpected value for Harmonic Ensemble Similarity: {0:f}. Expected {1:f}.".format(result_value, expected_value))
示例#5
0
 def test_hes_to_self(self, ens1):
     results, details = encore.hes([ens1, ens1])
     result_value = results[0, 1]
     expected_value = 0.
     assert_almost_equal(
         result_value,
         expected_value,
         err_msg="Harmonic Ensemble Similarity to itself not zero: {0:f}".
         format(result_value))
示例#6
0
 def test_hes(self):
     results, details = encore.hes([self.ens1, self.ens2], weights='mass')
     result_value = results[0, 1]
     min_bound = 1E5
     self.assertGreater(
         result_value,
         min_bound,
         msg=
         "Unexpected value for Harmonic Ensemble Similarity: {0:f}. Expected {1:f}."
         .format(result_value, min_bound))
示例#7
0
    def test_hes_error_estimation(self, ens1):
        expected_average = 10
        expected_stdev = 12
        averages, stdevs = encore.hes([ens1, ens1], estimate_error = True, bootstrapping_samples=10, selection="name CA and resnum 1-10")
        average = averages[0,1]
        stdev = stdevs[0,1]

        assert_almost_equal(average, expected_average, decimal=-2,
                            err_msg="Unexpected average value for bootstrapped samples in Harmonic Ensemble imilarity")
        assert_almost_equal(stdev, expected_stdev, decimal=-2,
                            err_msg="Unexpected standard daviation  for bootstrapped samples in Harmonic Ensemble imilarity")
示例#8
0
 def test_hes_align(self, ens1, ens2):
     # This test is massively sensitive!
     # Get 5260 when masses were float32?
     results, details = encore.hes([ens1, ens2], align=True)
     result_value = results[0, 1]
     expected_value = 2047.05
     assert_almost_equal(
         result_value,
         expected_value,
         decimal=-3,
         err_msg=
         "Unexpected value for Harmonic Ensemble Similarity: {0:f}. Expected {1:f}."
         .format(result_value, expected_value))
示例#9
0
    def test_hes_error_estimation(self, ens1):
        expected_average = 10
        expected_stdev = 12
        averages, stdevs = encore.hes([ens1, ens1],
                                      estimate_error=True,
                                      bootstrapping_samples=10,
                                      selection="name CA and resnum 1-10")
        average = averages[0, 1]
        stdev = stdevs[0, 1]

        assert_almost_equal(
            average,
            expected_average,
            decimal=-2,
            err_msg=
            "Unexpected average value for bootstrapped samples in Harmonic Ensemble imilarity"
        )
        assert_almost_equal(
            stdev,
            expected_stdev,
            decimal=-2,
            err_msg=
            "Unexpected standard daviation  for bootstrapped samples in Harmonic Ensemble imilarity"
        )
示例#10
0
 def test_hes(self, ens1, ens2):
     results, details = encore.hes([ens1, ens2], weights='mass')
     result_value = results[0, 1]
     min_bound = 1E5
     assert result_value > min_bound, "Unexpected value for Harmonic " \
                                       "Ensemble Similarity: {0:f}. Expected {1:f}.".format(result_value, min_bound)
示例#11
0
 def test_hes(self, ens1, ens2):
     results, details = encore.hes([ens1, ens2], weights='mass')
     result_value = results[0, 1]
     min_bound = 1E5
     assert result_value > min_bound, "Unexpected value for Harmonic " \
                                       "Ensemble Similarity: {0:f}. Expected {1:f}.".format(result_value, min_bound)
示例#12
0
 def test_hes_to_self(self, ens1):
     results, details = encore.hes([ens1, ens1])
     result_value = results[0, 1]
     expected_value = 0.
     assert_almost_equal(result_value, expected_value,
                         err_msg="Harmonic Ensemble Similarity to itself not zero: {0:f}".format(result_value))