예제 #1
0
    def test_ces_error_estimation(self, ens1):
        expected_average = 0.03
        expected_stdev = 0.31
        averages, stdevs = encore.ces(
            [ens1, ens1],
            estimate_error=True,
            bootstrapping_samples=10,
            clustering_method=encore.AffinityPropagationNative(
                preference=-2.0),
            selection="name CA and resnum 1-10")
        average = averages[0, 1]
        stdev = stdevs[0, 1]

        assert_almost_equal(
            average,
            expected_average,
            decimal=1,
            err_msg=
            "Unexpected average value for bootstrapped samples in Clustering Ensemble similarity"
        )
        assert_almost_equal(
            stdev,
            expected_stdev,
            decimal=0,
            err_msg=
            "Unexpected standard daviation  for bootstrapped samples in Clustering Ensemble similarity"
        )
예제 #2
0
    def test_ces_error_estimation_ensemble_bootstrap(self, ens1):
        # Error estimation using a method that does not take a distance
        # matrix as input, and therefore relies on bootstrapping the ensembles
        # instead

        pytest.importorskip('sklearn')

        expected_average = 0.03
        expected_stdev = 0.02
        averages, stdevs = encore.ces(
            [ens1, ens1],
            estimate_error=True,
            bootstrapping_samples=10,
            clustering_method=encore.KMeans(n_clusters=2),
            selection="name CA and resnum 1-10")
        average = averages[0, 1]
        stdev = stdevs[0, 1]

        assert_almost_equal(
            average,
            expected_average,
            decimal=1,
            err_msg=
            "Unexpected average value for bootstrapped samples in Clustering Ensemble similarity"
        )
        assert_almost_equal(
            stdev,
            expected_stdev,
            decimal=1,
            err_msg=
            "Unexpected standard daviation  for bootstrapped samples in Clustering Ensemble similarity"
        )
예제 #3
0
 def test_ces_to_self(self, ens1):
     results, details = \
         encore.ces([ens1, ens1],
         clustering_method=encore.AffinityPropagationNative(preference = -3.0))
     result_value = results[0,1]
     expected_value = 0.
     assert_almost_equal(result_value, expected_value,
                         err_msg="ClusteringEnsemble Similarity to itself not zero: {0:f}".format(result_value))
예제 #4
0
 def test_ces(self, ens1, ens2):
     results, details = encore.ces([ens1, ens2])
     result_value = results[0, 1]
     expected_value = 0.51
     assert_almost_equal(
         result_value,
         expected_value,
         decimal=2,
         err_msg=
         "Unexpected value for Cluster Ensemble Similarity: {0:f}. Expected {1:f}."
         .format(result_value, expected_value))
예제 #5
0
 def test_ces_to_self(self, ens1):
     results, details = \
         encore.ces([ens1, ens1],
         clustering_method=encore.AffinityPropagationNative(preference = -3.0))
     result_value = results[0, 1]
     expected_value = 0.
     assert_almost_equal(
         result_value,
         expected_value,
         err_msg="ClusteringEnsemble Similarity to itself not zero: {0:f}".
         format(result_value))
예제 #6
0
    def test_ces_error_estimation(self, ens1):
        expected_average = 0.03
        expected_stdev = 0.31
        averages, stdevs = encore.ces([ens1, ens1],
                                      estimate_error = True,
                                      bootstrapping_samples=10,
                                      clustering_method=encore.AffinityPropagationNative(preference=-2.0),
                                      selection="name CA and resnum 1-10")
        average = averages[0,1]
        stdev = stdevs[0,1]

        assert_almost_equal(average, expected_average, decimal=1,
                            err_msg="Unexpected average value for bootstrapped samples in Clustering Ensemble similarity")
        assert_almost_equal(stdev, expected_stdev, decimal=0,
                            err_msg="Unexpected standard daviation  for bootstrapped samples in Clustering Ensemble similarity")
예제 #7
0
    def test_ces_error_estimation_ensemble_bootstrap(self, ens1):
        # Error estimation using a method that does not take a distance
        # matrix as input, and therefore relies on bootstrapping the ensembles
        # instead

        pytest.importorskip('sklearn')

        expected_average = 0.03
        expected_stdev = 0.02
        averages, stdevs = encore.ces([ens1, ens1],
                                      estimate_error = True,
                                      bootstrapping_samples=10,
                                      clustering_method=encore.KMeans(n_clusters=2),
                                      selection="name CA and resnum 1-10")
        average = averages[0,1]
        stdev = stdevs[0,1]

        assert_almost_equal(average, expected_average, decimal=1,
                            err_msg="Unexpected average value for bootstrapped samples in Clustering Ensemble similarity")
        assert_almost_equal(stdev, expected_stdev, decimal=1,
                            err_msg="Unexpected standard daviation  for bootstrapped samples in Clustering Ensemble similarity")
예제 #8
0
from MDAnalysis import Universe
import MDAnalysis.analysis.encore as encore

ens1 = Universe("results/full_bayesian/calmodulin/saxs/saxs_ensemble.pdb", multiframe=True)
ens2 = Universe("results/full_bayesian/calmodulin/saxs_CS/saxs_CS_ensemble.pdb", multiframe=True)
ens3 = Universe("results/full_bayesian/calmodulin/saxs_EP/saxs_EP_ensemble.pdb", multiframe=True)
ens4 = Universe("results/full_bayesian/calmodulin/saxs_CS_EP/saxs_EP_CS_ensemble.pdb", multiframe=True)

#rmsd_matrix = encore.get_distance_matrix(encore.utils.merge_universes([ens1, ens2, ens3, ens4]))
#weights = [[0.21,0.05,0.16,0.43,0.16],[0.18,0.19,0.44,0.04,0.18],[0.53,0.42,0.05],[0.26,0.26,0.16,0.32]]
print (encore.ces([ens1, ens2, ens3, ens4]))
예제 #9
0
 def test_ces(self, ens1, ens2):
     results, details = encore.ces([ens1, ens2])
     result_value = results[0,1]
     expected_value = 0.51
     assert_almost_equal(result_value, expected_value, decimal=2,
                         err_msg="Unexpected value for Cluster Ensemble Similarity: {0:f}. Expected {1:f}.".format(result_value, expected_value))