Ejemplo n.º 1
0
def test_pcs_n_components(u):
    pca = PCA(u, select=SELECTION).run()
    assert_equal(pca.n_components, pca._n_atoms*3)
    assert_equal(pca.p_components.shape, (pca._n_atoms * 3, pca._n_atoms * 3))
    pca.n_components = 10
    assert_equal(pca.n_components, 10)
    assert_equal(pca.p_components.shape, (pca._n_atoms * 3, 10))
Ejemplo n.º 2
0
def test_cosine_content():
    rand = mda.Universe(RANDOM_WALK_TOPO, RANDOM_WALK)
    pca_random = PCA(rand).run()
    dot = pca_random.transform(rand.atoms)
    content = cosine_content(dot, 0)
    assert_almost_equal(content, .99, 1)
Ejemplo n.º 3
0
def test_transform_universe():
    u1 = mda.Universe(waterPSF, waterDCD)
    u2 = mda.Universe(waterPSF, waterDCD)
    pca_test = PCA(u1).run()
    pca_test.transform(u2)
Ejemplo n.º 4
0
def test_pca_not_run(u):
    atoms = u.select_atoms('bynum 1-10')
    u.transfer_to_memory()
    pca = PCA(u, select='bynum 1-10')
    with pytest.raises(ValueError):
        dot = pca.transform(atoms, stop=5)
Ejemplo n.º 5
0
def test_transform_rerun(u):
    atoms = u.select_atoms('bynum 1-10')
    u.transfer_to_memory()
    pca = PCA(u, select='bynum 1-10').run(stop=5)
    dot = pca.transform(atoms)
    assert_equal(dot.shape, (98, atoms.n_atoms * 3))
Ejemplo n.º 6
0
def test_cosine_content():
    rand = mda.Universe(RANDOM_WALK_TOPO, RANDOM_WALK)
    pca_random = PCA(rand).run()
    dot = pca_random.transform(rand.atoms)
    content = cosine_content(dot, 0)
    assert_almost_equal(content, .99, 1)
Ejemplo n.º 7
0
def test_transform_universe():
    u1 = mda.Universe(waterPSF, waterDCD)
    u2 = mda.Universe(waterPSF, waterDCD)
    pca_test = PCA(u1).run()
    pca_test.transform(u2)
Ejemplo n.º 8
0
def pca_aligned(u):
    return PCA(u, select=SELECTION, align=True).run()
Ejemplo n.º 9
0
def test_compare_not_run_self(u, pca, method):
    pca2 = PCA(u)
    func = getattr(pca2, method)
    with pytest.raises(ValueError) as exc:
        func(pca)
    assert 'Call run()' in str(exc.value)
Ejemplo n.º 10
0
def test_alignment(pca_aligned, u, u_aligned):
    pca_pre_align = PCA(u_aligned, select=SELECTION, align=False).run()
    assert_almost_equal(pca_aligned.mean, pca_pre_align.mean)
    assert_almost_equal(pca_aligned.cov, pca_pre_align.cov)
Ejemplo n.º 11
0
def test_given_mean(pca_aligned, u):
    pca = PCA(u, select=SELECTION, align=False,
              mean=pca_aligned._mean).run()
    assert_almost_equal(pca_aligned.cov, pca.cov, decimal=5)
Ejemplo n.º 12
0
def test_alignment(pca_aligned, u):
    v = mda.Universe(PSF, DCD, in_memory=True)
    a = align.AlignTraj(v, v, select=SELECTION).run()
    pca_pre_align = PCA(v, select=SELECTION, align=False).run()
    assert_almost_equal(pca_aligned.mean, pca_pre_align.mean)
    assert_almost_equal(pca_aligned.cov, pca_pre_align.cov)