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" )
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" )
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))
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))
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))
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")
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")
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]))
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))