def test_featurizer_empty(self): from pyemma.datasets import get_bpti_test_data top = get_bpti_test_data()['top'] f = pyemma.coordinates.featurizer(top) params = {} params['topologyfile'] = top self.compare(f, params)
def test_save_chain(self): """ ensure a chain is correctly saved/restored""" from pyemma.datasets import get_bpti_test_data reader = pyemma.coordinates.source(get_bpti_test_data()['trajs'], top=get_bpti_test_data()['top']) tica = pyemma.coordinates.tica(reader) cluster = pyemma.coordinates.cluster_uniform_time(tica, 10) cluster.save(self.fn, save_streaming_chain=True) restored = pyemma.load(self.fn) self.assertIsInstance(restored, type(cluster)) self.assertIsInstance(restored.data_producer, type(tica)) self.assertIsInstance(restored.data_producer.data_producer, type(reader)) cluster.save(self.fn, overwrite=True, save_streaming_chain=False) restored = pyemma.load(self.fn) assert restored.data_producer is None
def test_featurizer(self): from pyemma.datasets import get_bpti_test_data top = get_bpti_test_data()['top'] f = pyemma.coordinates.featurizer(top) f.add_distances_ca() params = {} params['topologyfile'] = top params['active_features'] = f.active_features self.maxDiff = None self.compare(f, params)
def setUpClass(cls): from pyemma.datasets import get_bpti_test_data d = get_bpti_test_data() trajs, top = d['trajs'], d['top'] s = source(trajs, top=top) t = tica(s, lag=1) c = cluster_kmeans(t) cls.model_file = tempfile.mktemp() c.save(cls.model_file, save_streaming_chain=True)
def test_min_rmsd(self): import pyemma.datasets as data d = data.get_bpti_test_data() reader = coor.source(d['trajs'], top=d['top']) N_centers = 9 centers = np.asarray((reader.ra_itraj_jagged[0, [0, 1, 7]], reader.ra_itraj_jagged[1, [32, 1, 23]], reader.ra_itraj_jagged[2, [17, 8, 15]]) ).reshape((N_centers, -1)) dtraj = coor.assign_to_centers(reader, centers=centers, metric='minRMSD', return_dtrajs=True) num_assigned_states = len(np.unique(np.concatenate(dtraj))) self.assertEqual(num_assigned_states, N_centers, "assigned states=%s out of %s possible ones." % (num_assigned_states, N_centers))
def test_assignment_multithread_minrsmd(self): # re-do assignment with multiple threads and compare results import pyemma.datasets as data d = data.get_bpti_test_data() reader = coor.source(d['trajs'], top=d['top']) N_centers = 9 centers = np.asarray((reader.ra_itraj_jagged[0, [0, 1, 7]], reader.ra_itraj_jagged[1, [32, 1, 23]], reader.ra_itraj_jagged[2, [17, 8, 15]]) ).reshape((N_centers, -1)) chunksize = 1000 assignment_mp = coor.assign_to_centers(reader, centers, n_jobs=2, chunksize=chunksize, metric='minRMSD') assignment_sp = coor.assign_to_centers(reader, centers, n_jobs=1, chunksize=chunksize, metric='minRMSD') np.testing.assert_equal(assignment_mp, assignment_sp)
def model_file(): file = None try: from pyemma.datasets import get_bpti_test_data d = get_bpti_test_data() trajs, top = d['trajs'], d['top'] s = source(trajs, top=top) t = tica(s, lag=1) c = cluster_kmeans(t) file = tempfile.mktemp() c.save(file, save_streaming_chain=True) yield file finally: if file is not None: shutil.rmtree(file, ignore_errors=True)
from pyemma.coordinates.data.util.traj_info_cache import TrajectoryInfoCache from pyemma.coordinates.tests.test_featurereader import create_traj from pyemma.datasets import get_bpti_test_data from pyemma.util import config from pyemma.util.files import TemporaryDirectory import mdtraj import pkg_resources import pyemma import numpy as np if six.PY2: import dumbdbm else: from dbm import dumb as dumbdbm xtcfiles = get_bpti_test_data()['trajs'] pdbfile = get_bpti_test_data()['top'] class TestTrajectoryInfoCache(unittest.TestCase): @classmethod def setUpClass(cls): cls.work_dir = tempfile.mkdtemp("traj_cache_test") def setUp(self): self.tmpfile = tempfile.mktemp(dir=self.work_dir) self.db = TrajectoryInfoCache(self.tmpfile) assert len(self.db._database) == 1, len(self.db._database) assert 'db_version' in self.db._database