Esempio n. 1
0
def test_nonprotein_residues_analysisbase(tmpdir):
    """Test for Issue #24 - remove once PDBWriter is fixed"""
    u = mda.Universe(GRO, XTC)
    with tmpdir.as_cwd():
        wmsg = "Non protein atoms passed"
        with pytest.warns(UserWarning, match=wmsg):
            pkatraj = propkatraj.PropkaTraj(u, select="not protein")
Esempio n. 2
0
def test_single_frame_regression_analysisbase(tmpdir, u, selection):
    """Single frame PropkaTraj regression test"""
    with tmpdir.as_cwd():
        if selection == 'ag':
            pkatraj = propkatraj.PropkaTraj(u.select_atoms('protein'),
                                            select=None)
        elif selection == 'array':
            selection = u.select_atoms('protein').ix
            pkatraj = propkatraj.PropkaTraj(u, select=selection)
        else:
            pkatraj = propkatraj.PropkaTraj(u)

        pkatraj.run(stop=1)

        # load reference data
        ref_resnums, ref_pkas = pka_from_file(PSF_FRAME_ZERO_PKA)

        # test residue numbers
        resnums = pkatraj.pkas.columns.to_numpy()
        assert_equal(resnums, ref_resnums)

        # test pka values
        assert_almost_equal(pkatraj.pkas.values[0], ref_pkas, decimal=2)
Esempio n. 3
0
def test_skipframe_pass_analysisbase(tmpdir, caplog, top, traj, framenum):
    """Test for Issue #10 - passes, logging raise"""
    u = mda.Universe(top, traj)
    with tmpdir.as_cwd():
        wmsg = "failure on frame: {0}".format(framenum)
        with pytest.warns(UserWarning, match=wmsg):
            pkatraj = propkatraj.PropkaTraj(u, skip_failure=True)
            pkatraj.run()

        perc = 1 / u.trajectory.n_frames * 100

        msg = ("number of failed frames = 1\n"
               "percentage failure = {0}\n"
               "failed frames: {1}".format(perc, [framenum]))
        assert msg in caplog.records[0].message
        # times should have been modified in-place
        assert len(pkatraj.times) == (len(u.trajectory) - 1)
        assert u.trajectory[framenum].time not in pkatraj.times
Esempio n. 4
0
def test_start_stop_step_analysisbase(tmpdir, u, start, stop, step):
    """Basic test to make sure the dataframe gets populated with the right
    dimensions"""
    with tmpdir.as_cwd():
        pkatraj = propkatraj.PropkaTraj(u)
        pkatraj.run(start=start, stop=stop, step=step)

        start, stop, step = u.trajectory.check_slice_indices(start, stop, step)
        nframes = len(range(start, stop, step))

        # There should be nframes rows and 75 columns
        assert len(pkatraj.pkas) == nframes
        assert len(pkatraj.pkas.columns) == 75

        # index should be time
        assert pkatraj.pkas.index.name == 'time'
        times = np.array(range(start, stop, step), dtype=np.float32) + 1
        assert_almost_equal(pkatraj.pkas.index.values, times, decimal=5)
Esempio n. 5
0
def test_multi_frame_regression_analysisbase(tmpdir, u, glu_ref):
    """Multiframe propkatraj call basic regression test

    Note: slow test
    """
    with tmpdir.as_cwd():
        pkatraj = propkatraj.PropkaTraj(u)
        pkatraj.run(step=10)

        # load reference data for resnum and the last frame pka
        ref_resnums, ref_pkas = pka_from_file(PSF_FRAME_NINETY_PKA)

        # test residue numbers
        resnums = pkatraj.pkas.columns.to_numpy()
        assert_equal(resnums, ref_resnums)

        # test final frame pka values
        assert_almost_equal(pkatraj.pkas.values[-1], ref_pkas, decimal=2)

        # test one data series: glu 162
        assert_almost_equal(pkatraj.pkas[162].values, glu_ref, decimal=2)
Esempio n. 6
0
#write file with python propka_run.py xxx.pdb xxx.xtc

import MDAnalysis as mda
import sys
from MDAnalysisTests.datafiles import PDB, XTC
u = mda.Universe(sys.argv[1], sys.argv[2])  #import file here
import propkatraj  #import module
protein = u.select_atoms('protein')  #defining your protein
pkatraj = propkatraj.PropkaTraj(protein)
pkatraj.run(verbose=True)
pkatraj.pkas
pkatraj.pkas.describe()
data = pkatraj.pkas

data.to_csv("pka-trajctory-full.csv")  #save file

data2 = pkatraj.pkas.describe()

data2.to_csv("pka-trajctory-summary.csv")
Esempio n. 7
0
def test_skipframe_error_analysisbase(tmpdir, u_badframe):
    """Test for Issue #10 - Error raised"""
    with tmpdir.as_cwd():
        with pytest.raises(RuntimeError, match="failure on frame"):
            pkatraj = propkatraj.PropkaTraj(u_badframe)
            pkatraj.run()