Esempio n. 1
0
def test_fit_translation_bad_plane(fit_universe, plane):
    ts = fit_universe[0].trajectory.ts
    test_u = fit_universe[0]
    ref_u = fit_universe[1]
    # what happens if a bad string for center is given?
    with pytest.raises(ValueError):
        fit_translation(test_u, ref_u, plane=plane)(ts)
Esempio n. 2
0
def test_fit_translation_bad_ag(fit_universe, universe):
    ts = fit_universe[0].trajectory.ts
    test_u = fit_universe[0]
    ref_u = fit_universe[1]
    # what happens if something other than an AtomGroup or Universe is given?
    with pytest.raises(AttributeError):
        fit_translation(universe, ref_u)(ts)
Esempio n. 3
0
def test_fit_translation_no_options(fit_universe):
    test_u = fit_universe[0]
    ref_u = fit_universe[1]
    fit_translation(test_u, ref_u)(test_u.trajectory.ts)
    # what happens when no options are passed?
    assert_array_almost_equal(test_u.trajectory.ts.positions,
                              ref_u.trajectory.ts.positions,
                              decimal=6)
Esempio n. 4
0
def test_fit_translation_com(fit_universe):
    test_u = fit_universe[0]
    ref_u = fit_universe[1]
    fit_translation(test_u, ref_u, weights="mass")(test_u.trajectory.ts)
    # what happens when the center o mass is used?
    assert_array_almost_equal(test_u.trajectory.ts.positions,
                              ref_u.trajectory.ts.positions,
                              decimal=6)
Esempio n. 5
0
def test_fit_translation_no_masses(fit_universe):
    ts = fit_universe[0].trajectory.ts
    test_u = fit_universe[0]
    # create a universe without masses
    ref_u = make_Universe()
    # what happens Universe without masses is given?
    with pytest.raises(AttributeError):
        fit_translation(test_u, ref_u, weights="mass")(ts)
Esempio n. 6
0
def test_fit_translation_no_masses(fit_universe):
    ts = fit_universe[0].trajectory.ts
    test_u = fit_universe[0]
    # create a universe without masses
    ref_u = make_Universe()
    # what happens Universe without masses is given?
    with pytest.raises(TypeError) as exc:
        fit_translation(test_u, ref_u, weights="mass")(ts)
    assert 'atoms.masses is missing' in str(exc.value)
Esempio n. 7
0
def test_fit_translation_all_options(fit_universe):
    test_u = fit_universe[0]
    ref_u = fit_universe[1]
    # translate the test universe on the x and y coordinates only
    fit_translation(test_u, ref_u, plane="xy",
                    weights="mass")(test_u.trajectory.ts)
    # the reference is 10 angstrom in the z coordinate above the test universe
    shiftz = np.asanyarray([0, 0, -10], np.float32)
    ref_coordinates = ref_u.trajectory.ts.positions + shiftz
    assert_array_almost_equal(test_u.trajectory.ts.positions,
                              ref_coordinates,
                              decimal=6)
Esempio n. 8
0
def test_fit_translation_plane(fit_universe, plane):
    test_u = fit_universe[0]
    ref_u = fit_universe[1]
    axes = {'yz': 0, 'xz': 1, 'xy': 2}
    idx = axes[plane]
    # translate the test universe on the plane coordinates only
    fit_translation(test_u, ref_u, plane=plane)(test_u.trajectory.ts)
    # the reference is 10 angstrom in all coordinates above the test universe
    shiftz = np.asanyarray([0, 0, 0], np.float32)
    shiftz[idx] = -10
    ref_coordinates = ref_u.trajectory.ts.positions + shiftz
    assert_array_almost_equal(test_u.trajectory.ts.positions,
                              ref_coordinates,
                              decimal=6)
Esempio n. 9
0
def test_fit_translation_transformations_api(fit_universe):
    test_u = fit_universe[0]
    ref_u = fit_universe[1]
    transform = fit_translation(test_u, ref_u)
    test_u.trajectory.add_transformations(transform)
    assert_array_almost_equal(test_u.trajectory.ts.positions,
                              ref_u.trajectory.ts.positions,
                              decimal=6)
Esempio n. 10
0
def test_fit_translation_residue_mismatch(fit_universe):
    test_u = fit_universe[0]
    ref_u = fit_universe[1].residues[:-1].atoms
    with pytest.raises(ValueError, match='number of residues'):
        fit_translation(test_u, ref_u)(test_u.trajectory.ts)