예제 #1
0
    def tearDown(self):

        for dcd in [pathDatafile('multi_model_truncated'),
                    pathDatafile('dcd')]:
            prefix = splitext(split(dcd)[1])[0]
            for suffix in self.suffixes:
                fn = join(TEMPDIR, prefix + suffix)
                if isfile(fn): remove(fn)
예제 #2
0
    def setUp(self):

        self.output = join(TEMPDIR, 'test_prody_catdcd.dcd')

        self.dcdpath = pathDatafile('dcd')
        self.pdbpath = pathDatafile('multi_model_truncated')

        self.dcd = DCDFile(self.dcdpath)
        self.ag = parsePDB(self.pdbpath, model=1)

        self.command = 'catdcd -o ' + self.output

        self.tearDown()
예제 #3
0
    def setUp(self):

        self.output = join(TEMPDIR, 'test_prody_catdcd.dcd')

        self.dcdpath = pathDatafile('dcd')
        self.pdbpath = pathDatafile('multi_model_truncated')

        self.dcd = DCDFile(self.dcdpath)
        self.ag = parsePDB(self.pdbpath, model=1)

        self.command = 'catdcd -o ' + self.output

        self.tearDown()
예제 #4
0
    def testGNMCommand(self):

        pdb = pathDatafile('multi_model_truncated')
        command = self.command + pdb
        prefix = splitext(split(pdb)[1])[0]

        namespace = prody_parser.parse_args(shlex.split(command))
        namespace.func(namespace)

        for suffix in self.suffixes:
            fn = join(TEMPDIR, prefix + suffix)
            self.assertTrue(isfile(fn), msg=fn + ' not found')
예제 #5
0
    def testGNMCommand(self):

        pdb = pathDatafile('multi_model_truncated')
        command = self.command + pdb
        prefix = splitext(split(pdb)[1])[0]

        namespace = prody_parser.parse_args(shlex.split(command))
        namespace.func(namespace)

        for suffix in self.suffixes:
            fn = join(TEMPDIR, prefix + suffix)
            self.assertTrue(isfile(fn), msg=fn+' not found')
예제 #6
0
    def testPCACommandDCD(self):

        dcd = pathDatafile('dcd')
        command = self.command + dcd
        prefix = splitext(split(dcd)[1])[0]

        namespace = prody_parser.parse_args(shlex.split(command))
        namespace.func(namespace)

        for suffix in self.suffixes:
            fn = join(TEMPDIR, prefix + suffix)
            self.assertTrue(isfile(fn), msg=fn+' not found')
예제 #7
0
    def setUp(self):

        self.command = ('pca --pdb {pdb} '
                        '-e -r -o {outdir} -v -z -t all -j '
                        '-f %8g -d , -x .dat '
                        '-R -Q -J 1,2 '
                        '-F png -D 120 -W 5 -H 4 ').format(outdir=TEMPDIR,
                        pdb=pathDatafile('multi_model_truncated'))
        self.suffixes = [
            '_pca_cc.png',
            '_pca.pca.npz',
            '_pca_covariance.dat',
            '_pca_cross-correlations.dat',
            '_pca_proj_1_2.png',
            '_pca_evalues.dat',
            '_pca_proj.dat',
            '_pca_evectors.dat',
            '_pca_sf.png',
            '_pca_extended_all.nmd',
            '_pca.nmd',
        ]

        self.tearDown()
예제 #8
0
    def testMSFfloat(self):

        dcd = DCDFile(pathDatafile('dcd'), astype=float)
        ens = parseDatafile('dcd', astype=float)
        ens.superpose()
        assert_array_almost_equal(calcMSF(dcd), calcMSF(ens), 10)
예제 #9
0
    def testMSF(self):

        dcd = DCDFile(pathDatafile('dcd'))
        ens = parseDatafile('dcd')
        ens.superpose()
        assert_array_almost_equal(calcMSF(dcd), calcMSF(ens), 4)
예제 #10
0
"""This module contains unit tests for fragmenting function and methods."""

from prody.tests import TestCase

from prody import *
from prody.tests.datafiles import pathDatafile

WHOLE = fetchPDBLigand(pathDatafile("sti"))["ideal"]
WHOLE_ALL = WHOLE.all
WHOLE_COPY = WHOLE.copy()
WHOLE_NOH = WHOLE.noh
WHOLE_NOH_COPY = WHOLE_NOH.copy()
SPLIT = WHOLE.select("not name N13 N21 C46 C22")
SPLIT_COPY = SPLIT.copy()
SPLIT_NOH = WHOLE.select("noh and not name N13 N21 C46 C22")
SPLIT_NOH_COPY = SPLIT_NOH.copy()


class TestFragment(TestCase):
    def testWhole(self):

        self.assertEqual(WHOLE.numFragments(), 1)

    def testWhole2(self):

        self.assertEqual(len(list(iterFragments(WHOLE))), 1)

    def testWholeAll(self):

        self.assertEqual(len(list(iterFragments(WHOLE_ALL))), 1)
예제 #11
0
"""This module contains unit tests for fragmenting function and methods."""

from prody.tests import TestCase

from numpy import arange
from numpy.random import shuffle

from prody import *
from prody.tests.datafiles import pathDatafile

AG = prody.parsePDB(pathDatafile('pdb3mht.pdb'))
SHUFFLED = arange(len(AG))
shuffle(SHUFFLED)
SHUFFLED = AtomMap(AG, SHUFFLED)

RTER = prody.parsePDB(pathDatafile('pdbRTER.pdb'))


class TestShuffled(TestCase):
    def testCA(self):

        self.assertEqual(AG.ca.numAtoms(), SHUFFLED.ca.numAtoms())

    def testProtein(self):

        self.assertEqual(AG.protein.numAtoms(), SHUFFLED.protein.numAtoms())


class TestTerRecord(TestCase):
    def testNumResidues(self):
예제 #12
0
"""This module contains unit tests for :mod:`.frame` module."""

from code import interact
from prody.tests import TestCase

from numpy import array
from numpy.testing import assert_allclose

from prody.trajectory import Trajectory
from prody.tests.datafiles import parseDatafile, pathDatafile

DCD = Trajectory(pathDatafile('dcd'))
PDB = parseDatafile('multi_model_truncated', model=1)
RMSD_ALL = array([0.0, 1.380, 1.745])
RMSD_CARBON = array([0.0, 0.964, 1.148])


class TestSuperpose(TestCase):

    def setUp(self):

        DCD.setCoords(PDB.getCoords())
        DCD.reset()

    def testAll(self):

        rmsd = []
        for frame in DCD:
            frame.superpose()
            rmsd.append(frame.getRMSD())
        assert_allclose(rmsd, RMSD_ALL, atol=0.001)
예제 #13
0
"""This module contains unit tests for fragmenting function and methods."""

from prody.tests import TestCase

from numpy import arange
from numpy.random import shuffle

from prody import *
from prody.tests.datafiles import pathDatafile

AG = prody.parsePDB(pathDatafile('pdb3mht.pdb'))
SHUFFLED = arange(len(AG))
shuffle(SHUFFLED)
SHUFFLED = AtomMap(AG, SHUFFLED)

RTER = prody.parsePDB(pathDatafile('pdbRTER.pdb'))


class TestShuffled(TestCase):

    def testCA(self):

        self.assertEqual(AG.ca.numAtoms(), SHUFFLED.ca.numAtoms())

    def testProtein(self):

        self.assertEqual(AG.protein.numAtoms(), SHUFFLED.protein.numAtoms())


class TestTerRecord(TestCase):
예제 #14
0
"""This module contains unit tests for fragmenting function and methods."""

from prody.tests import TestCase

from prody import *
from prody.tests.datafiles import pathDatafile

WHOLE = fetchPDBLigand(pathDatafile('sti'))['ideal']
WHOLE_ALL = WHOLE.all
WHOLE_COPY = WHOLE.copy()
WHOLE_NOH = WHOLE.noh
WHOLE_NOH_COPY = WHOLE_NOH.copy()
SPLIT = WHOLE.select('not name N13 N21 C46 C22')
SPLIT_COPY = SPLIT.copy()
SPLIT_NOH = WHOLE.select('noh and not name N13 N21 C46 C22')
SPLIT_NOH_COPY = SPLIT_NOH.copy()


class TestFragment(TestCase):
    def testWhole(self):

        self.assertEqual(WHOLE.numFragments(), 1)

    def testWhole2(self):

        self.assertEqual(len(list(iterFragments(WHOLE))), 1)

    def testWholeAll(self):

        self.assertEqual(len(list(iterFragments(WHOLE_ALL))), 1)
예제 #15
0
"""This module contains unit tests for :mod:`.frame` module."""

from code import interact
from prody.tests import TestCase

from numpy import array
from numpy.testing import assert_allclose

from prody.trajectory import Trajectory
from prody.tests.datafiles import parseDatafile, pathDatafile

DCD = Trajectory(pathDatafile('dcd'))
PDB = parseDatafile('multi_model_truncated', model=1)
RMSD_ALL = array([0.0, 1.380, 1.745])
RMSD_CARBON = array([0.0, 0.964, 1.148])


class TestSuperpose(TestCase):
    def setUp(self):

        DCD.setCoords(PDB.getCoords())
        DCD.reset()

    def testAll(self):

        rmsd = []
        for frame in DCD:
            frame.superpose()
            rmsd.append(frame.getRMSD())
        assert_allclose(rmsd, RMSD_ALL, atol=0.001)