def test_dimensionality_reduction_specified_dimension(self, ens1, ens2): dimension = 3 coordinates, details = encore.reduce_dimensionality( [ens1, ens2], method=encore.StochasticProximityEmbeddingNative(dimension=dimension)) assert_equal(coordinates.shape[0], dimension, err_msg="Unexpected result in dimensionality reduction: {0}".format(coordinates))
def test_dimensionality_reduction_two_methods(self, ens1, ens2): dims = [2, 3] coordinates, details = \ encore.reduce_dimensionality( [ens1, ens2], method=[encore.StochasticProximityEmbeddingNative(dims[0]), encore.StochasticProximityEmbeddingNative(dims[1])]) assert_equal(coordinates[1].shape[0], dims[1])
def test_dimensionality_reduction_one_ensemble(self, ens1): dimension = 2 coordinates, details = encore.reduce_dimensionality(ens1) assert_equal( coordinates.shape[0], dimension, err_msg="Unexpected result in dimensionality reduction: {0}". format(coordinates))
def test_dimensionality_reduction_two_different_methods(self): dims = [2, 3] coordinates, details = \ encore.reduce_dimensionality( [self.ens1, self.ens2], method=[encore.StochasticProximityEmbeddingNative(dims[0]), encore.PrincipalComponentAnalysis(dims[1])]) assert_equal(coordinates[1].shape[0], dims[1])
def test_dimensionality_reduction_two_methods(self, ens1, ens2): dims = [2,3] coordinates, details = \ encore.reduce_dimensionality( [ens1, ens2], method=[encore.StochasticProximityEmbeddingNative(dims[0]), encore.StochasticProximityEmbeddingNative(dims[1])]) assert_equal(coordinates[1].shape[0], dims[1])
def test_dimensionality_reduction_three_ensembles_two_identical(self, ens1, ens2): coordinates, details = \ encore.reduce_dimensionality([ens1, ens2, ens1]) coordinates_ens1 = coordinates[:,np.where(details["ensemble_membership"]==1)] coordinates_ens3 = coordinates[:,np.where(details["ensemble_membership"]==3)] assert_almost_equal(coordinates_ens1, coordinates_ens3, decimal=0, err_msg="Unexpected result in dimensionality reduction: {0}".format(coordinates))
def test_dimensionality_reduction_two_ensembles(self): dimension = 2 coordinates, details = \ encore.reduce_dimensionality([self.ens1, self.ens2]) assert_equal( coordinates.shape[0], dimension, err_msg="Unexpected result in dimensionality reduction: {0}". format(coordinates))
def test_dimensionality_reduction_two_different_methods(self, ens1, ens2): pytest.importorskip('sklearn') dims = [2,3] coordinates, details = \ encore.reduce_dimensionality( [ens1, ens2], method=[encore.StochasticProximityEmbeddingNative(dims[0]), encore.PrincipalComponentAnalysis(dims[1])]) assert_equal(coordinates[1].shape[0], dims[1])
def test_dimensionality_reduction_different_method(self, ens1, ens2): pytest.importorskip('sklearn') dimension = 3 coordinates, details = \ encore.reduce_dimensionality( [ens1, ens2], method=encore.PrincipalComponentAnalysis(dimension=dimension)) assert_equal(coordinates.shape[0], dimension, err_msg="Unexpected result in dimensionality reduction: {0}".format(coordinates))
def test_dimensionality_reduction_specified_dimension(self, ens1, ens2): dimension = 3 coordinates, details = encore.reduce_dimensionality( [ens1, ens2], method=encore.StochasticProximityEmbeddingNative( dimension=dimension)) assert_equal( coordinates.shape[0], dimension, err_msg="Unexpected result in dimensionality reduction: {0}". format(coordinates))
def test_dimensionality_reduction_different_method(self): dimension = 3 coordinates, details = \ encore.reduce_dimensionality( [self.ens1, self.ens2], method=encore.PrincipalComponentAnalysis(dimension=dimension)) assert_equal( coordinates.shape[0], dimension, err_msg="Unexpected result in dimensionality reduction: {0}". format(coordinates))
def test_dimensionality_reduction_three_ensembles_two_identical(self): coordinates, details = \ encore.reduce_dimensionality([self.ens1, self.ens2, self.ens1]) coordinates_ens1 = coordinates[:, np.where( details["ensemble_membership"] == 1)] coordinates_ens3 = coordinates[:, np.where( details["ensemble_membership"] == 3)] assert_almost_equal( coordinates_ens1, coordinates_ens3, decimal=0, err_msg="Unexpected result in dimensionality reduction: {0}". format(coordinates))
import MDAnalysis import MDAnalysis.analysis.encore as encore reference_pdb = "structure.pdb" xtc1 = "AC_NCS_0.xtc" xtc2 = "AC_NCS_1.xtc" ens1 = MDAnalysis.Universe(reference_pdb) ens2 = MDAnalysis.Universe(reference_pdb) ens1.load_new(xtc1) ens2.load_new(xtc2) # loop_ca = u.select_atoms('resid 34-50 and name CA') coordinates, details = encore.reduce_dimensionality( [ens1, ens2], selection='resid 34-50 and name CA', ncores=48) plt.scatter(coordinates[0], coordinates[1], color=[["red", "blue"][m - 1] for m in details["ensemble_membership"]]) plt.savefig("dim_red.png")
def test_dimensionality_reduction_two_ensembles(self, ens1, ens2): dimension = 2 coordinates, details = \ encore.reduce_dimensionality([ens1, ens2]) assert_equal(coordinates.shape[0], dimension, err_msg="Unexpected result in dimensionality reduction: {0}".format(coordinates))