Exemple #1
0
 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))
Exemple #2
0
 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])
Exemple #3
0
 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))
Exemple #4
0
 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])
Exemple #5
0
 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])
Exemple #6
0
 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))
Exemple #7
0
 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))
Exemple #8
0
 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])
Exemple #9
0
 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))
Exemple #10
0
 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))
Exemple #11
0
 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))
Exemple #12
0
 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")
Exemple #14
0
 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))