Exemple #1
0
    def test_1(self):
        # just need to install libcpptraj with openmp
        # that's it

        # export OMP_NUM_THREADS=1
        # python ./test_openmp_0.py
        # export OMP_NUM_THREADS=8
        # python ./test_openmp_0.py

        dslist = DatasetList()
        dflist = DataFileList()

        traj = pt.iterload(fn('Tc5b.x'), fn('Tc5b.top'))

        dslist.add("coords", "test_traj")
        dslist[0].top = traj.top
        for i in range(45):
            dslist[0].load(traj.filename)
        act = Analysis_Rms2d()

        with Timer() as t:
            act("crdset test_traj rmsout ./output/_test_2drms_CRDtest.openmp.dat",
                dslist=dslist,
                dflist=dflist)

        # make sure to reproduce cpptraj to avoif false-impression :D
        import numpy as np
        matout = dslist[-1].get_full_matrix()

        tmp = np.loadtxt("./data/test_openmp.Tc5b.n_threads_1.dat",
                         skiprows=1,
                         usecols=range(1, dslist[0].size + 1))
        cpp_save = tmp.flatten()
        # use decimal = 3 to mathc cpptraj's format here
        assert_almost_equal(cpp_save, matout, decimal=3)
Exemple #2
0
    def test_0(self):
        traj = mdio.iterload("./data/Tc5b.x", "./data/Tc5b.top")
        itertraj = mdio.iterload("./data/Tc5b.x", "./data/Tc5b.top")

        for idx, (f0, f1) in enumerate(izip(traj, itertraj)):
            assert_almost_equal(f0.xyz, f1.xyz)
        assert idx == traj.n_frames - 1
    def test_1(self):
        traj = mdio.iterload("./data/Tc5b.x", "./data/Tc5b.top")
        i = 0
        for farray in traj.iterchunk(chunksize=4, stop=8):
            i += 1
        assert i == 2

        i = 0
        for farray in traj.iterchunk(chunksize=4):
            i += 1
        assert i == 3

        i = 0
        for farray in traj.iterchunk(chunksize=2):
            i += 1
        assert i == 5

        i = 0
        for farray in traj.iterchunk(start=3, chunksize=4, stop=8):
            i += 1
        assert i == 2

        # action on chunk_iter

        pt.calc_distance(
            [traj.iterchunk(), traj.iterchunk(), traj[0]],
            '@CA @CB',
            top=traj.top)

        rmsd0 = pt.rmsd(traj.iterchunk(3), ref=traj[-1], top=traj.top)
        rmsd1 = pt.rmsd(traj, ref=-1)
        assert_almost_equal(rmsd0, rmsd1)
Exemple #4
0
    def test_1(self):
        traj = mdio.iterload(fn('Tc5b.x'), fn('Tc5b.top'))
        i = 0
        for farray in traj.iterchunk(chunksize=4, stop=8):
            i += 1
        assert i == 2

        i = 0
        for farray in traj.iterchunk(chunksize=4):
            i += 1
        assert i == 3

        i = 0
        for farray in traj.iterchunk(chunksize=2):
            i += 1
        assert i == 5

        i = 0
        for farray in traj.iterchunk(start=3, chunksize=4, stop=8):
            i += 1
        assert i == 2

        # action on chunk_iter

        pt.calc_distance(
            [traj.iterchunk(), traj.iterchunk(), traj[0]],
            '@CA @CB',
            top=traj.top)

        rmsd0 = pt.rmsd(traj.iterchunk(3), ref=traj[-1], top=traj.top)
        rmsd1 = pt.rmsd(traj, ref=-1)
        assert_almost_equal(rmsd0, rmsd1)
Exemple #5
0
    def test_0(self):
        traj = mdio.iterload("./data/Tc5b.x", "./data/Tc5b.top")
        itertraj = mdio.iterload("./data/Tc5b.x", "./data/Tc5b.top")

        for idx, (f0, f1) in enumerate(izip(traj, itertraj)):
            assert_almost_equal(f0.xyz, f1.xyz)
        assert idx == traj.n_frames - 1
 def test_IterWithMask(self):
     traj = pt.iterload(fn('Tc5b.x'), fn('Tc5b.top'))
     farray = traj[:]
     for frame in farray(mask='@CA'):
         pass
     f0 = traj[-1]
     f0.strip(traj.top('!@CA'))
     assert_almost_equal(f0.xyz, frame.xyz)
 def test_IterWithMask(self):
     traj = mdio.iterload("./data/Tc5b.x", "./data/Tc5b.top")
     farray = traj[:]
     for frame in farray(mask='@CA'):
         pass
     f0 = traj[-1]
     f0.strip(traj.top('!@CA'))
     assert_almost_equal(f0.xyz, frame.xyz)
Exemple #8
0
 def test_IterWithMask(self):
     traj = mdio.iterload("./data/Tc5b.x", "./data/Tc5b.top")
     farray = traj[:]
     for frame in farray(mask='@CA'):
         pass
     f0 = traj[-1]
     f0.strip(traj.top('!@CA'))
     assert_almost_equal(f0.xyz, frame.xyz)
Exemple #9
0
    def test_0(self):
        traj = mdio.iterload("./data/Tc5b.x", "./data/Tc5b.top")
        top = traj.top

        mlist = []
        for atom in top:
            mlist.append(atom.mass)
        mlist = array('d', mlist)

        assert_almost_equal(top.mass, mlist)
Exemple #10
0
 def test_1(self):
     # why Trajectory is here? because I am lazy to move
     mask = "@CA"
     # creat Trajectory ( [:] )
     traj = pt.iterload(fn('Tc5b.x'), fn('Tc5b.top'))[:]
     traj.top
     atm = traj.top(mask)
     newtraj = traj[atm]
     newtraj2 = traj[mask + ' :frame']
     assert_almost_equal(newtraj2.xyz.flatten(), newtraj.xyz.flatten())
     assert_almost_equal(newtraj2.xyz.flatten(), newtraj.xyz.flatten())
 def test_1(self):
     # why Trajectory is here? because I am lazy to move
     mask = "@CA"
     # creat Trajectory ( [:] )
     traj = mdio.iterload("./data/Tc5b.x", "./data/Tc5b.top")[:]
     top = traj.top
     atm = traj.top(mask)
     newtraj = traj[atm]
     newtraj2 = traj[mask + ' :frame']
     assert_almost_equal(newtraj2.xyz.flatten(), newtraj.xyz.flatten())
     assert_almost_equal(newtraj2.xyz.flatten(), newtraj.xyz.flatten())
Exemple #12
0
    def test_2(self):
        from pytraj import iterframe_master as frame_iter
        traj = pt.iterload(fn('Tc5b.x'), fn('Tc5b.top'))
        farray = traj[:]
        count = 0
        for frame in frame_iter(traj):
            count += 1
        assert_almost_equal(frame.xyz, traj[-1].xyz)

        count = 0
        for frame in frame_iter(farray):
            count += 1
        assert_almost_equal(frame.xyz, traj[-1].xyz)
Exemple #13
0
    def test_2(self):
        from pytraj import iterframe_master as frame_iter
        traj = mdio.iterload("./data/Tc5b.x", "./data/Tc5b.top")
        farray = traj[:]
        count = 0
        for frame in frame_iter(traj):
            count += 1
        assert_almost_equal(frame.xyz, traj[-1].xyz)

        count = 0
        for frame in frame_iter(farray):
            count += 1
        assert_almost_equal(frame.xyz, traj[-1].xyz)
    def test_0(self):
        traj = pt.iterload(fn('Tc5b.x'), fn('Tc5b.top'))
        farray = traj[:]
        traj0_CA = traj[:]
        traj0_CA.strip("!@CA")

        # test TrajectoryIterator
        for idx, f0 in enumerate(traj(mask='@CA')):
            f1 = traj0_CA[idx]
            assert_almost_equal(f0.xyz, f1.xyz)

        # test TrajectoryIterator with indices as mask
        indices = traj.top("@CA").indices
        for idx, f0 in enumerate(traj(mask=indices)):
            f1 = traj0_CA[idx]
            assert_almost_equal(f0.xyz, f1.xyz)

        # test Trajectory
        for idx, f0 in enumerate(farray(mask='@CA')):
            f1 = traj0_CA[idx]
            assert_almost_equal(f0.xyz, f1.xyz)

        # test Trajectory with indices
        for idx, f0 in enumerate(farray(mask=indices)):
            f1 = traj0_CA[idx]
            assert_almost_equal(f0.xyz, f1.xyz)

        assert idx + 1 == traj0_CA.n_frames
    def test_0(self):
        traj = mdio.iterload("data/Tc5b.x", "data/Tc5b.top")
        farray = traj[:]
        traj0_CA = traj[:]
        traj0_CA.strip("!@CA")

        # test TrajectoryIterator
        for idx, f0 in enumerate(traj(mask='@CA')):
            f1 = traj0_CA[idx]
            assert_almost_equal(f0.xyz, f1.xyz)

        # test TrajectoryIterator with indices as mask
        indices = traj.top("@CA").indices
        for idx, f0 in enumerate(traj(mask=indices)):
            f1 = traj0_CA[idx]
            assert_almost_equal(f0.xyz, f1.xyz)

        # test Trajectory
        for idx, f0 in enumerate(farray(mask='@CA')):
            f1 = traj0_CA[idx]
            assert_almost_equal(f0.xyz, f1.xyz)

        # test Trajectory with indices
        for idx, f0 in enumerate(farray(mask=indices)):
            f1 = traj0_CA[idx]
            assert_almost_equal(f0.xyz, f1.xyz)

        assert idx + 1 == traj0_CA.n_frames
Exemple #16
0
    def test_0(self):
        dslist = CpptrajDatasetList()
        traj = mdio.iterload(fn('Tc5b.x'), fn('Tc5b.top'))

        calc_distance = adict['distance']

        act = calc_distance
        act.read_input(":2@CA :10@CA", traj.top, dslist=dslist)
        act.setup(traj.top)
        act.compute((traj.iterchunk(2), ))
        assert dslist.size == 1
        assert dslist[0].size == traj.n_frames
        cppout = np.loadtxt(
            fn('CAres2_CAres10.Tc5b.dat'), skiprows=1).transpose()[1]
        assert_almost_equal(dslist[0][:], cppout)
        act.compute((traj.iterchunk(chunksize=4, stop=8), ))
Exemple #17
0
    def test_0(self):
        dslist = DatasetList()
        traj = mdio.iterload("./data/Tc5b.x", "./data/Tc5b.top")

        calc_distance = adict['distance']

        act = calc_distance
        act.read_input(":2@CA :10@CA", traj.top, dslist=dslist)
        act.check_topology(traj.top)
        act.compute((traj.iterchunk(2), ))
        assert dslist.size == 1
        assert dslist[0].size == traj.n_frames
        cppout = np.loadtxt("./data/CAres2_CAres10.Tc5b.dat",
                            skiprows=1).transpose()[1]
        assert_almost_equal(dslist[0][:], cppout)
        act.compute((traj.iterchunk(chunksize=4, stop=8), ))
Exemple #18
0
    def test_0(self):
        dslist = DatasetList()
        traj = mdio.iterload("./data/Tc5b.x", "./data/Tc5b.top")

        calc_distance = adict['distance']

        act = calc_distance
        act.read_input(":2@CA :10@CA", traj.top, dslist=dslist)
        act.check_topology(traj.top)
        act.compute((traj.iterchunk(2), ))
        assert dslist.size == 1
        assert dslist[0].size == traj.n_frames
        cppout = np.loadtxt("./data/CAres2_CAres10.Tc5b.dat",
                            skiprows=1).transpose()[1]
        assert_almost_equal(dslist[0][:], cppout)
        act.compute((traj.iterchunk(chunksize=4, stop=8), ))
Exemple #19
0
    def test_0(self):
        mask = "@CA"
        traj = pt.iterload(fn('Tc5b.x'), fn('Tc5b.top'))
        traj.top
        atm = traj.top(mask)
        n_selected_atoms = atm.n_atoms
        newtraj = traj[atm]
        newtraj2 = traj[mask + ' :frame']
        assert_almost_equal(newtraj2.xyz.flatten(), newtraj.xyz.flatten())
        assert_almost_equal(newtraj2.xyz.flatten(), newtraj.xyz.flatten())
        assert (newtraj.xyz.shape == (traj.n_frames, n_selected_atoms, 3))

        # check if there is segmentation fault
        i = 0
        for frame in traj:
            i += 1
    def test_0(self):
        mask = "@CA"
        traj = mdio.iterload("./data/Tc5b.x", "./data/Tc5b.top")
        top = traj.top
        atm = traj.top(mask)
        n_selected_atoms = atm.n_atoms
        newtraj = traj[atm]
        newtraj2 = traj[mask + ' :frame']
        assert_almost_equal(newtraj2.xyz.flatten(), newtraj.xyz.flatten())
        assert_almost_equal(newtraj2.xyz.flatten(), newtraj.xyz.flatten())
        assert (newtraj.xyz.shape == (traj.n_frames, n_selected_atoms, 3))

        # check if there is segmentation fault
        i = 0
        for frame in traj:
            i += 1
def get_frames_same_T():
    # create a list of all remd trajs
    flist = glob("../tests/data/Test_RemdTraj/rem.nc.*")

    # make a list of TrajReadOnly instances
    trajlist = []
    for fh in flist:
        topfile = "../tests/data/Test_RemdTraj/ala2.99sb.mbondi2.parm7"

        # load trajectory and append to trajlist
        trajlist.append(mdio.load(fh, topfile))

    # make Trajectory instance that holds 492.2 T frames
    # we need to reserve n_frames to hold the data
    f4922 = Trajectory(n_frames=trajlist[0].n_frames)

    assert f4922.n_frames == trajlist[0].n_frames
    f4922.top = trajlist[0].top.copy()

    # extract frames having T = 492.2
    # use iteration for nested loops
    for traj in trajlist:
        for idx, frame in enumerate(traj):
            if frame.temperature == 492.2:
                # we don't use `append` method since we want to make sure
                # frames are in the order of simulation time
                f4922[idx] = frame

    # make sure f4922 only hold frames having T = 492.2 K
    arr0 = array(
        'd',
        [492.2, 492.2, 492.2, 492.2, 492.2, 492.2, 492.2, 492.2, 492.2, 492.2])
    assert f4922.temperatures == arr0

    # make sure we reproduce cpptraj output
    cpptraj = mdio.load("../tests/data/Test_RemdTraj/temp0.crd.492.20",
                        topfile)
    print(f4922[5].coords[:10])
    print(cpptraj[5].coords[:10])
    for idx, framepy in enumerate(f4922):
        assert_almost_equal(framepy.coords, cpptraj[idx].coords)
        print("rmsd between pytraj Frame and cpptraj Frame = %s " %
              framepy.rmsd(cpptraj[idx]))

    # FIXME: `rmsd` do the fitting in the fly
    # coords of frame would be changed
    print("YES, we can reproduce cpptraj output")
    def test_0(self):
        traj = mdio.iterload("./data/Tc5b.x", "./data/Tc5b.top")
        frame = traj[0].copy()

        frame.set_mass(traj.top)

        arr0 = []
        for f0 in traj:
            f0.set_mass(traj.top)
            arr0.append(frame.rmsd(f0, use_mass=True))

        # load cpptraj output
        rmsd_save = np.loadtxt("./data/rmsd_allatoms_to_1st.Tc5b.use_mass.dat",
                               skiprows=1)
        rmsd_save = rmsd_save.transpose()

        assert_almost_equal(arr0, rmsd_save[1])
Exemple #23
0
    def test_0(self):
        traj = mdio.iterload(fn('Tc5b.x'), fn('Tc5b.top'))
        frame = traj[0].copy()

        frame.set_mass(traj.top)

        arr0 = []
        for f0 in traj:
            f0.set_mass(traj.top)
            arr0.append(frame.rmsd(f0, use_mass=True))

        # load cpptraj output
        rmsd_save = np.loadtxt(fn("rmsd_allatoms_to_1st.Tc5b.use_mass.dat"),
                               skiprows=1)
        rmsd_save = rmsd_save.transpose()

        assert_almost_equal(arr0, rmsd_save[1])
Exemple #24
0
    def test_1(self):
        # just need to install libcpptraj with openmp
        # that's it

        # export OMP_NUM_THREADS=1
        # python ./test_openmp_0.py
        # export OMP_NUM_THREADS=8
        # python ./test_openmp_0.py

        dslist = DatasetList()
        dflist = DataFileList()

        trajin = "./data/Tc5b.x"
        traj = mdio.iterload("./data/Tc5b.x", "./data/Tc5b.top")

        dslist.add(dtype="coords", name="test_traj")
        dslist[0].top = traj.top
        for i in range(45):
            dslist[0].load(traj.filename)
        act = Analysis_Rms2d()

        @Timer()
        def test_time():
            act("crdset test_traj rmsout ./output/_test_2drms_CRDtest.openmp.dat",
                dslist=dslist,
                dflist=dflist)

        test_time()

        # make sure to reproduce cpptraj to avoif false-impression :D
        import numpy as np
        matout = dslist[-1].get_full_matrix()

        tmp = np.loadtxt("./data/test_openmp.Tc5b.n_threads_1.dat",
                         skiprows=1,
                         usecols=range(1, dslist[0].size + 1))
        cpp_save = tmp.flatten()
        assert_almost_equal(cpp_save, matout, decimal=3)
Exemple #25
0
    def test_4(self):
        from array import array
        atm = AtomMask()
        indices = array('i', range(100))
        atm.add_selected_indices(indices)
        assert_almost_equal(indices, atm.selected_indices())
        assert_almost_equal(indices, atm.indices)

        # test list
        atm2 = AtomMask(list(indices))
        assert_almost_equal(indices, atm2.indices)

        # test range
        range(100)
        atm3 = AtomMask(range(100))
        assert_almost_equal(indices, atm3.indices)
Exemple #26
0
    def test_4(self):
        from array import array
        atm = AtomMask()
        indices = array('i', range(100))
        atm.add_selected_indices(indices)
        assert_almost_equal(indices, atm.selected_indices())
        assert_almost_equal(indices, atm.indices)

        # test list
        atm2 = AtomMask(list(indices))
        assert_almost_equal(indices, atm2.indices)

        # test range
        r100 = range(100)
        atm3 = AtomMask(range(100))
        assert_almost_equal(indices, atm3.indices)
    def test_1(self):
        traj = mdio.iterload("./data/Tc5b.x", "./data/Tc5b.top")
        top2 = traj.top.copy()

        for frame in traj(mask='@CA'):
            pass
        top2.strip("!@CA")
        assert frame.n_atoms == top2.n_atoms

        for frame in traj():
            pass
        assert frame.n_atoms == traj[0].n_atoms

        for frame in traj[:](mask='@CA'):
            pass

        f0 = traj[-1]
        f0.strip(traj.top('!@CA'))
        assert_almost_equal(f0.xyz, frame.xyz)
        assert frame.n_atoms == top2.n_atoms

        for frame in traj[:]():
            pass
        assert frame.n_atoms == traj[0].n_atoms
    def test_0(self):
        flist = glob("./data/Test_RemdTraj/rem.nc.*")
        trajlist = []

        for fh in flist:
            topfile = "./data/Test_RemdTraj/ala2.99sb.mbondi2.parm7"
            trajlist.append(mdio.iterload(fh, topfile))

        Tset = set([])
        f4922 = Trajectory()
        f4922._allocate(trajlist[0].n_frames, trajlist[0].n_atoms)
        f4922.top = trajlist[0].top.copy()

        for traj in trajlist:
            for idx, frame in enumerate(traj):
                if frame.temperature == 492.2:
                    f4922[idx] = frame

        # make sure we reproduce cpptraj output
        cpptraj = mdio.iterload("./data/Test_RemdTraj/temp0.crd.492.20",
                                topfile)

        for idx, framepy in enumerate(f4922):
            assert_almost_equal(framepy.xyz, cpptraj[idx].xyz, decimal=3)
Exemple #29
0
    def test_0(self):
        flist = glob("./data/Test_RemdTraj/rem.nc.*")
        trajlist = []

        for fh in flist:
            topfile = "./data/Test_RemdTraj/ala2.99sb.mbondi2.parm7"
            trajlist.append(mdio.iterload(fh, topfile))

        Tset = set([])
        f4922 = Trajectory()
        f4922._allocate(trajlist[0].n_frames, trajlist[0].n_atoms)
        f4922.top = trajlist[0].top.copy()

        for traj in trajlist:
            for idx, frame in enumerate(traj):
                if frame.temperature == 492.2:
                    f4922[idx] = frame

        # make sure we reproduce cpptraj output
        cpptraj = mdio.iterload("./data/Test_RemdTraj/temp0.crd.492.20",
                                topfile)

        for idx, framepy in enumerate(f4922):
            assert_almost_equal(framepy.xyz, cpptraj[idx].xyz, decimal=3)
    def test_1(self):
        traj = pt.iterload(fn('Tc5b.x'), fn('Tc5b.top'))
        top2 = traj.top.copy()

        for frame in traj(mask='@CA'):
            pass
        top2.strip("!@CA")
        assert frame.n_atoms == top2.n_atoms

        for frame in traj():
            pass
        assert frame.n_atoms == traj[0].n_atoms

        for frame in traj[:](mask='@CA'):
            pass

        f0 = traj[-1]
        f0.strip(traj.top('!@CA'))
        assert_almost_equal(f0.xyz, frame.xyz)
        assert frame.n_atoms == top2.n_atoms

        for frame in traj[:]():
            pass
        assert frame.n_atoms == traj[0].n_atoms
Exemple #31
0
    def test_0(self):
        traj = mdio.iterload("./data/Tc5b.x", "./data/Tc5b.top")
        farray = traj[:]
        xyz_save = farray[0].xyz.copy()

        farray[9].xyz[:] = farray[0].xyz
        assert_almost_equal(farray[9].xyz, farray[0].xyz)
        assert_almost_equal(farray[9].xyz, xyz_save.flatten())

        f0 = Frame(traj.n_atoms)
        f0.xyz[:] = farray[0].xyz

        f1 = Frame()
        f1.append_xyz(farray[0].xyz)
        assert_almost_equal(f1.xyz, farray[0].xyz)
Exemple #32
0
    def test_0(self):
        traj = mdio.iterload("./data/Tc5b.x", "./data/Tc5b.top")
        farray = traj[:]
        xyz_save = farray[0].xyz.copy()

        farray[9].xyz[:] = farray[0].xyz
        assert_almost_equal(farray[9].xyz, farray[0].xyz)
        assert_almost_equal(farray[9].xyz, xyz_save.flatten())

        f0 = Frame(traj.n_atoms)
        f0.xyz[:] = farray[0].xyz

        f1 = Frame()
        f1.append_xyz(farray[0].xyz)
        assert_almost_equal(f1.xyz, farray[0].xyz)
    def test_0(self):
        traj = pt.iterload(fn('Tc5b.x'), fn('Tc5b.top'))
        farray = traj[:]
        xyz_save = farray[0].xyz.copy()

        farray[9].xyz[:] = farray[0].xyz
        assert_almost_equal(farray[9].xyz, farray[0].xyz)
        assert_almost_equal(farray[9].xyz, xyz_save.flatten())

        f0 = Frame(traj.n_atoms)
        f0.xyz[:] = farray[0].xyz

        f1 = Frame()
        f1.append_xyz(farray[0].xyz)
        assert_almost_equal(f1.xyz, farray[0].xyz)
Exemple #34
0
    def test_3(self):
        traj = pt.iterload(fn('Tc5b.x'), fn('Tc5b.top'))

        count = 0
        for frame in traj.iterframe():
            count += 1
        assert_almost_equal(frame.xyz, traj[-1].xyz)

        count = 0
        for frame in traj.iterframe(2, 8, 2):
            count += 1
        assert count == 3
        assert_almost_equal(frame.xyz, traj[6].xyz)

        count = 0
        for frame in traj[:].iterframe():
            count += 1
        assert_almost_equal(frame.xyz, traj[-1].xyz)
Exemple #35
0
    def test_3(self):
        from pytraj import iterframe_master as frame_iter
        traj = mdio.iterload("./data/Tc5b.x", "./data/Tc5b.top")

        count = 0
        for frame in traj.iterframe():
            count += 1
        assert_almost_equal(frame.xyz, traj[-1].xyz)

        count = 0
        for frame in traj.iterframe(2, 8, 2):
            count += 1
        assert count == 3
        assert_almost_equal(frame.xyz, traj[6].xyz)

        count = 0
        for frame in traj[:].iterframe():
            count += 1
        assert_almost_equal(frame.xyz, traj[-1].xyz)
    def test_0(self):
        traj = mdio.iterload("./data/Tc5b.x", "./data/Tc5b.top")
        farray = traj[:]

        for i, f0 in enumerate(traj):
            for j, x in enumerate(f0.xyz):
                if np.all(np.abs(x - 5.707) < 1E-3):
                    pass

        for frame in traj.iterframe():
            pass

        for frame0 in farray.iterframe():
            pass

        i = 0
        for frame0 in farray.iterframe(start=0, step=1):
            i += 1

        assert_almost_equal(traj[-1].xyz, frame0.xyz)

        start, stop, step = 2, 8, 4
        indices = list(range(start, stop, step))

        for idx, frame0, f in zip(indices, farray.iterframe(start, stop, step),
                                  traj[indices]):
            aa_eq(frame0.xyz, f.xyz)
        assert_almost_equal(traj[6].xyz, frame0.xyz)

        for frame0 in farray.iterframe(start=2, step=2):
            pass
        assert_almost_equal(traj[8].xyz, frame0.xyz)

        arr0 = traj[6][0]
        for frame0 in traj.iterframe(start=2, step=4, stop=8):
            pass

        for frame0 in traj.iterframe(start=2, step=4, stop=8):
            pass
        assert_almost_equal(traj[6].xyz, frame0.xyz)

        for frame0 in traj.iterframe(start=2, step=2):
            pass
        assert_almost_equal(traj[8].xyz, frame0.xyz)

        count = 0
        for frame0 in traj.iterframe(start=2):
            count += 1
        assert_almost_equal(traj[-1].xyz, frame0.xyz)

        count = 0
        for frame0 in traj.iterframe(start=2, stop=7):
            count += 1
        assert_almost_equal(traj[6].xyz, frame0.xyz)

        for frame0 in traj.iterframe():
            pass
        assert_almost_equal(traj[-1].xyz, frame0.xyz)

        for frame0 in farray.iterframe():
            pass
        assert_almost_equal(traj[-1].xyz, frame0.xyz)

        for frame0 in traj():
            pass
        assert_almost_equal(traj[-1].xyz, frame0.xyz)

        for frame0 in farray():
            pass
        assert_almost_equal(farray[-1].xyz, frame0.xyz)

        count = 0
        for frame0 in traj(start=2, stop=7):
            count += 1
        assert_almost_equal(traj[6].xyz, frame0.xyz)

        count = 0
        for frame0 in farray(start=2, stop=7):
            count += 1
        assert_almost_equal(traj[6].xyz, frame0.xyz)

        count = 0
        for frame0 in farray(2, 7, 1):
            count += 1
        assert_almost_equal(traj[6].xyz, frame0.xyz)

        count = 0
        for frame0 in farray(2, 7, 2):
            count += 1
        assert_almost_equal(traj[6].xyz, frame0.xyz)
    def test_0(self):
        traj = pt.iterload(fn('Tc5b.x'), fn('Tc5b.top'))
        farray = traj[:]

        for i, f0 in enumerate(traj):
            for j, x in enumerate(f0.xyz):
                if np.all(np.abs(x - 5.707) < 1E-3):
                    pass

        for frame in traj.iterframe():
            pass

        for frame0 in farray.iterframe():
            pass

        i = 0
        for frame0 in farray.iterframe(start=0, step=1):
            i += 1

        assert_almost_equal(traj[-1].xyz, frame0.xyz)

        start, stop, step = 2, 8, 4
        indices = list(range(start, stop, step))

        for idx, frame0, f in zip(indices, farray.iterframe(start, stop, step),
                                  traj[indices]):
            aa_eq(frame0.xyz, f.xyz)
        assert_almost_equal(traj[6].xyz, frame0.xyz)

        for frame0 in farray.iterframe(start=2, step=2):
            pass
        assert_almost_equal(traj[8].xyz, frame0.xyz)

        traj[6][0]
        for frame0 in traj.iterframe(start=2, step=4, stop=8):
            pass

        for frame0 in traj.iterframe(start=2, step=4, stop=8):
            pass
        assert_almost_equal(traj[6].xyz, frame0.xyz)

        for frame0 in traj.iterframe(start=2, step=2):
            pass
        assert_almost_equal(traj[8].xyz, frame0.xyz)

        count = 0
        for frame0 in traj.iterframe(start=2):
            count += 1
        assert_almost_equal(traj[-1].xyz, frame0.xyz)

        count = 0
        for frame0 in traj.iterframe(start=2, stop=7):
            count += 1
        assert_almost_equal(traj[6].xyz, frame0.xyz)

        for frame0 in traj.iterframe():
            pass
        assert_almost_equal(traj[-1].xyz, frame0.xyz)

        for frame0 in farray.iterframe():
            pass
        assert_almost_equal(traj[-1].xyz, frame0.xyz)

        for frame0 in traj():
            pass
        assert_almost_equal(traj[-1].xyz, frame0.xyz)

        for frame0 in farray():
            pass
        assert_almost_equal(farray[-1].xyz, frame0.xyz)

        count = 0
        for frame0 in traj(start=2, stop=7):
            count += 1
        assert_almost_equal(traj[6].xyz, frame0.xyz)

        count = 0
        for frame0 in farray(start=2, stop=7):
            count += 1
        assert_almost_equal(traj[6].xyz, frame0.xyz)

        count = 0
        for frame0 in farray(2, 7, 1):
            count += 1
        assert_almost_equal(traj[6].xyz, frame0.xyz)

        count = 0
        for frame0 in farray(2, 7, 2):
            count += 1
        assert_almost_equal(traj[6].xyz, frame0.xyz)