Example #1
0
    def test_fit(self):
        traj = mdio.load("./data/md1_prod.Tc5b.x", "./data/Tc5b.top")
        trajnew = mdio.load("./data/md1_prod.fit_to_first.Tc5b.x", "./data/Tc5b.top")

        # make sure 0-th frame does not change
        frame0 = traj[0]
        frame0new = trajnew[0]
        assert (frame0.coords == frame0new.coords) == True
        print frame0[:10]
        print frame0new[:10]

        frame1 = traj[1]
        frame1new = trajnew[1]
        print frame1[:10]
        print frame1new[:10]
        assert (frame1.coords == frame1new.coords) == False

        # try do-fitting from Python
        # not right yet
        rmsd, mat, v1, v2 = frame1.rmsd(frame0, get_mvv=True)
        print rmsd
        frame1.trans_rot_trans(v1, mat, v2)
        #frame1.trans_rot_trans(v1, mat, Vec3(0, 0, 0))
        #assert frame1[:10] == frame1new[:10]
        print frame1.rmsd_nofit(frame1new)
        print arr_rmsd(np.asarray(frame1.coords), np.asarray(frame1new.coords))
        print frame1.rmsd(frame1new)
        assert frame1.rmsd(frame1new) < 1E-3
        assert frame1new.rmsd(frame1, top=trajnew.top, mask="@CA") < 1E-3
Example #2
0
    def test_load_and_save_0(self):
        print "test_load_and_save"
        # need to load to FrameArray to save
        traj = mdio.load(filename="./data/md1_prod.Tc5b.x",
                         top="./data/Tc5b.top")[:]
        trajiter = mdio.iterload(filename="./data/md1_prod.Tc5b.x",
                                 top="./data/Tc5b.top",
                                 chunk=100)
        print trajiter
        print traj.size

        indices = range(20, 30, 5) + [103, 78, 90, 82]
        print type(indices)
        print indices
        mdio.writetraj(filename="./output/test_io_saved_.x",
                       traj=traj[:],
                       top="./data/Tc5b.top",
                       indices=indices,
                       overwrite=True)

        # check frames
        traj2 = mdio.load(filename="./output/test_io_saved_.x",
                          top="./data/Tc5b.top")
        print "test_load_and_save_0"
        print traj2.size
        print traj2.is_empty()
        print len(indices)
        assert traj2.size == len(indices)
Example #3
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.load(fh, topfile))

        Tset = Set([])
        f4922 = FrameArray()
        f4922.resize(trajlist[0].n_frames)
        print f4922.n_frames
        f4922.top = trajlist[0].top.copy()

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

        print f4922.temperatures
        print f4922[0, 0, :]

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

        for idx, framepy in enumerate(f4922):
            assert_almost_equal(framepy.coords, cpptraj[idx].coords)

        print "YES"
    def test_fancy_save(self):
        traj = mdio.load("./data/md1_prod.Tc5b.x", "./data/Tc5b.top")
        traj[10:20].save("test_fancy_save_frame11_21.x", overwrite=True)

        fanew = mdio.load("./test_fancy_save_frame11_21.x", traj.top)

        for idx, f0 in enumerate(traj[10:20]):
            f0new = fanew[idx]
            assert_almost_equal(f0.coords, f0new.coords)
Example #5
0
    def test_0(self):
        traj = mdio.load("./data/md1_prod.Tc5b.x", "./data/Tc5b.top")
        frame0 = traj[0]

        frame0.save(filename="test_saveFrame.pdb",
                    top=traj.top,
                    overwrite=True)
        fnew = mdio.load("test_saveFrame.pdb", traj.top)[0]
        print frame0.coords[:20]
        print fnew.coords[:20]
        assert_almost_equal(frame0.coords, fnew.coords)
Example #6
0
    def test_blindload(self):
        top = mdio.load("./data/Tc5b.top")
        assert isinstance(top, Topology) == True

        traj = mdio.load(filename="./data/md1_prod.Tc5b.x",
                         top="./data/Tc5b.top")
        print traj

        # TODO : add more classes here
        is_traj = (isinstance(traj, TrajReadOnly)
                   or isinstance(traj, FrameArray))
        assert is_traj == True
Example #7
0
    def test_1(self):
        traj = mdio.load("./data/md1_prod.Tc5b.x", "./data/Tc5b.top")
        trajnew = mdio.load("./data/md1_prod.fit_to_first.Tc5b.x",
                            "./data/Tc5b.top")
        frame0 = traj[0]
        assert frame0[0, 2] == frame0.atoms(0)[2]
        assert_almost_equal(frame0[0, :], frame0.atoms(0))
        print frame0[0, :]
        print frame0.atoms(0)

        print frame0[:, 2]
        framesub = frame0.get_subframe("@CA", traj.top)
        assert framesub.n_atoms == 20
        print framesub[19, :]
Example #8
0
    def test_save_traj_from_file(self):
        Trajout().help()
        traj = mdio.load("./data/md1_prod.Tc5b.x", "./data/Tc5b.top")[:5]
        print traj.size
        mdio.writetraj(filename="test_0.binpos",
                       traj=traj,
                       top="./data/Tc5b.top",
                       fmt="BINPOS",
                       overwrite=True)

        savedtraj = mdio.load("./test_0.binpos", traj.top)
        print "test_0.binpos size = ", savedtraj.size
        print traj.size
        assert savedtraj.size == traj.size
Example #9
0
    def test_readpdb(self):
        print "test_readpdb +++++++++++++++++++++++++++++++"
        pdbtop = mdio.readparm("./test_0_after.pdb")
        assert pdbtop.n_atoms == 304
        print pdbtop.n_atoms
        top2 = pdbtop.copy()
        top2.strip_atoms("!@CA")
        print top2.n_atoms
        assert top2.n_atoms == 20

        # make sure that making Topology instance from pdb file is FINE
        traj0 = mdio.load("./data/md1_prod.Tc5b.x", "./data/Tc5b.top")
        traj1 = mdio.load("./data/md1_prod.Tc5b.x", "./test_0_after.pdb")
        assert traj0[0].coords == traj1[0].coords
        assert traj0[999].coords == traj1[999].coords
Example #10
0
def main():
    # set frame index
    IDX0 = 99
    IDX1 = 98

    # load traj
    traj = mdio.load("./data/md1_prod.Tc5b.x", "./data/Tc5b.top")

    # write pdb files for TMalign program so we can compare our results to TMalign
    # ./TMalign -A test_gdt_0.pdb -B test_gdt_1.pdb
    # turn off those if you don't like
    mdio.writetraj(filename="test_gdt_0.pdb",
                   traj=traj[IDX0],
                   top=traj.top,
                   overwrite=True)
    mdio.writetraj(filename="test_gdt_1.pdb",
                   traj=traj[IDX1],
                   top=traj.top,
                   overwrite=True)

    # do our calculation
    # option:
    #     score = 'gdtscore', 'tmscore' or 'maxsub'
    #     "@CA" : follow AMBER mask, change it if needed
    score = 'tmscore'
    print '%s = %s ' % (
        score, calc_score(traj[IDX0], traj[IDX1], "@CA", traj.top,
                          score=score) / 1000.)
    print calc_score(traj[IDX1], traj[IDX0], "@CA", traj.top,
                     score=score) / 1000.
Example #11
0
 def test_0(self):
     traj = mdio.load("./data/md1_prod.Tc5b.x", "./data/Tc5b.top")[:]
     arr0 = traj[:, :, :]
     print arr0.shape
     arr0[0, 0, 0] = 105.
     print traj
     print traj[0, 0, 0]
Example #12
0
 def test_0(self):
     traj = mdio.load("./data/md1_prod.Tc5b.x", "./data/Tc5b.top")[:]
     traj2 = traj.get_frames(indices=(1, 3, 5, 4, 8),
                             copy=True,
                             update_top=True)
     print traj2
     print traj2[0, 0, :]
Example #13
0
    def test_0(self):
        farray = FrameArray(filename="./data/tz2.truncoct.nc", top="./data/tz2.truncoct.parm7")[:2]
        fold = farray.copy()
        print "old file: ", fold[0, 0, :]

        act = allactions.Action_Image()
        ptrajin = """
        center :2-11
        image center familiar com :6
        """

        act.read_input(ptrajin, farray.top)
        act.process(farray.top)
       
        f2 = FrameArray()
        f2.top = farray.top.copy()

        act.do_action(0, farray)

        print farray[0, 0, :]
        print fold[0, 0, :]

        if file_exist("./CpptrajTest/Test_Image/image4.crd"):
            fnew = mdio.load("./CpptrajTest/Test_Image/image4.crd", 
                             "./data/tz2.truncoct.parm7")
            assert fnew.size == 2
            # make sure that pycpptraj reproduce cpptraj outputo
            # TODO : not yet. double-check
            print fnew[0].same_coords_as(farray[0])
            print fnew[0, 0, :]
            print fold[0].same_coords_as(farray[0])
            print fnew[0].rmsd(farray[0])
Example #14
0
    def test_0(self):
        IDX0 = 99
        IDX1 = 98
        traj = mdio.load("./data/md1_prod.Tc5b.x", "./data/Tc5b.top")
        # write pdb files for TMalign program so we can compare our result to TMalign
        # ./TMalign -A test_gdt_0.pdb -B test_gdt_1.pdb
        mdio.writetraj(filename="test_gdt_0.pdb",
                       traj=traj[IDX0],
                       top=traj.top,
                       overwrite=True)
        mdio.writetraj(filename="test_gdt_1.pdb",
                       traj=traj[IDX1],
                       top=traj.top,
                       overwrite=True)

        # do our calculation
        # score = 'gdtscore', 'tmscore' or 'maxsub'
        score = 'tmscore'
        print '%s = %s ' % (
            score,
            calc_score(traj[IDX0], traj[IDX1], "@CA", traj.top, score=score) /
            1000.)
        print calc_score(traj[IDX1], traj[IDX0], "@CA", traj.top,
                         score=score) / 1000.

        # calculate RMSD
        print "rmsd = ", traj[IDX0].rmsd(traj[IDX1])
Example #15
0
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 FrameArray instance that holds 492.2 T frames
    # we need to reserve n_frames to hold the data
    f4922 = FrameArray(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)
    for idx, framepy in enumerate(f4922):
        assert_almost_equal(framepy.coords, cpptraj[idx].coords)
        print "rmsd between pycpptraj Frame and cpptraj Frame = %s " % framepy.rmsd(
            cpptraj[idx])

    print f4922[5].coords[:10]
    print cpptraj[5].coords[:10]

    print "YES, we can reproduce cpptraj output"
Example #16
0
def randions():
    # get `traj` instance (FrameArray)
    traj = load(filename="./Test_RandomizeIons/adh206.tip3p.rst7.gz",
                top="./Test_RandomizeIons/adh206.ff10.tip3p.parm7.gz")
    # get 1st frame from `traj`
    frame0 = traj[0]

    # randomize ions for frame0
    randomize_ions(
        frame0,
        traj.top,
        command="randomizeions @Na+ around :1-16 by 5.0 overlap 3.0",
    )

    # make sure to reproduce cpptraj output
    savedframe = load(filename="./Test_RandomizeIons/random.crd.save",
                      top="./Test_RandomizeIons/adh206.ff10.tip3p.parm7.gz")[0]

    assert frame0.rmsd(savedframe) < 1E-3
Example #17
0
 def test_1(self):
     traj = mdio.load("./data/md1_prod.Tc5b.x", "./data/Tc5b.top")
     frame0 = traj[0]
     print frame0[1:5, 2]
     print np.asarray(frame0.buffer3d[1:5, :])
     frame0[1:5, 2] = range(100, 104)
     frame0[0, :] = range(3)
     print frame0.buffer3d[1:5, :]
     print np.asarray(frame0[1:5, :])
     print list(frame0[1:5, :])
Example #18
0
    def test_load_and_save_0(self):
        traj = mdio.load(filename="./data/md1_prod.Tc5b.x",
                         top="./data/Tc5b.top")[:110]
        indices = range(20, 30, 5) + [103, 78, 90, 82]
        print indices

        #for i in indices:
        #    print traj[i]

        mdio.writetraj(filename="./output/test_io_saved_.x",
                       traj=traj,
                       top="./data/Tc5b.top",
                       indices=indices,
                       overwrite=True)

        # check frames
        traj2 = mdio.load(filename="./output/test_io_saved_.x",
                          top="./data/Tc5b.top")
        # TODO : check error
        assert traj2.size == len(indices)
Example #19
0
 def test_0(self):
     # TODO : not right yet.
     traj = mdio.load("./data/md1_prod.Tc5b.x", "./data/Tc5b.top")
     # this command actually write Amber restart file
     #mdio.writetraj("test_1.pdb", traj[0], top=traj.top, fmt='CHARMM')
     print dir(Trajout)
     print Trajout.writeframe
     #with Trajout("test_1.pdb", fmt='PDBFILE', overwrite=True) as trajout:
     #with Trajout("test_1.x", fmt='MOL2FILE', overwrite=True) as trajout:
     with Trajout("test_1", fmt="PDBFILE", overwrite=True) as trajout:
         trajout.writeframe(frame=traj[0], top=traj.top)
Example #20
0
    def test_0(self):
        traj = mdio.load("./data/md1_prod.Tc5b.x", "./data/Tc5b.top")

        # FrameArray()
        fa = traj[:]
        fname = "test_savemethod.x"
        fname2 = "test_savemethod_2.x"
        fa.save(fname, overwrite=True)
        traj.save(fname2, overwrite=True)

        # load
        fanew = mdio.load(fname, fa.top)
        fanew2 = mdio.load(fname2, fa.top)
        assert fanew.size == fa.size == fanew2.size

        for idx, f0 in enumerate(fa):
            f0new = fanew[idx]
            f0new2 = fanew2[idx]
            assert_almost_equal(f0.coords, f0new.coords)
            assert_almost_equal(f0.coords, f0new2.coords)
Example #21
0
    def test_2(self):
        """test write FrameArray"""
        farray = FrameArray("data/md1_prod.Tc5b.x",
                            "./data/Tc5b.top",
                            indices=range(10))
        writetraj("test_write_output.x", farray, farray.top, overwrite=True)
        writetraj("test_pdb_1.dummyext",
                  farray[0],
                  farray.top,
                  overwrite=True,
                  fmt='pdb')

        # test 'save'
        print farray
        farray.save("test_write_output_save_method.x", overwrite=True)

        # reproduce result?
        f0 = mdio.load("test_write_output.x", "./data/Tc5b.top")
        f1 = mdio.load("test_write_output_save_method.x", "./data/Tc5b.top")
        from numpy.testing import assert_almost_equal as assert_ae
        assert_ae(f0[:, :, :], f1[:, :, :])
Example #22
0
    def test_load_and_save_1(self):
        traj = mdio.load(filename="./data/md1_prod.Tc5b.x",
                         top="./data/Tc5b.top")
        trajiter = mdio.iterload(filename="./data/md1_prod.Tc5b.x",
                                 top="./data/Tc5b.top",
                                 chunk=100)
        print trajiter

        indices = range(20, 30, 5) + [103, 78, 90, 82]
        mdio.writetraj(filename="./output/test_io_saved.pdb",
                       traj=traj,
                       top="./data/Tc5b.top",
                       fmt='pdbfile',
                       indices=indices,
                       overwrite=True)

        # check frames
        traj = mdio.load(filename="./output/test_io_saved.pdb",
                         top="./data/Tc5b.top")
        assert traj.size == len(indices)
        assert traj.top.n_atoms == 304
Example #23
0
    def test_0(self):
        trajcpp = mdio.load("./data/md1_prod.Tc5b.x", "./data/Tc5b.top")
        farray = trajcpp[:]
        print farray[0, 0, 0]

        # bugs: trajcpp[0, 0, 0] != farray[0, 0, 0] (must be equal)
        assert farray[0][0, 0] == trajcpp[0][0, 0]

        farray[0, 0, 0] = 100.10
        print farray
        print farray[0, 0, 0]
        assert farray[0, 0, 0] == 100.10
        farray[0, 0, :] = [100.10, 101.1, 102.1]
        assert_almost_equal(farray[0, 0, :], [100.10, 101.1, 102.1])
Example #24
0
    def test_0(self):
        traj = mdio.load("./data/md1_prod.Tc5b.x", "./data/Tc5b.top")
        frame0 = traj[0]
        assert frame0.has_box() == False
        box = frame0.get_box()
        print box
        assert frame0.get_box().btype == 'nobox'
        print box.bname

        bview = frame0.boxview
        bview[3:] = np.asarray([109.471220634, 109.471220634, 109.471220634])
        print frame0.has_box()
        print frame0.get_box().btype
        assert frame0.get_box().btype == 'truncoct'
        assert frame0.get_box().bname == 'Trunc. Oct.'
        print frame0.get_box().help()
Example #25
0
    def test_0(self):
        traj = mdio.load("./data/md1_prod.Tc5b.x", "./data/Tc5b.top")

        # we could generate new traj.top from pdb file too
        #traj.top = Topology("./test_0_after.pdb")
        tm_0 = tm_score(traj[0], traj[1])
        #print tm_0
        #print tm_score(traj[0], traj[0]) # == 1.
        #print tm_score(traj[0], traj[1], mask="!@CA", top=traj.top)
        for idx, frame in enumerate(traj[490:501] + traj[-1:-10:-1]):
            score = tm_score(frame,
                             traj[0],
                             mask1="!:2-10@CA",
                             top1=traj.top,
                             mask2="!:2-10@CA",
                             top2=traj.top)
            print "%s : %s" % (idx, score)
Example #26
0
    def test_0(self):
        traj = mdio.load("./data/md1_prod.Tc5b.x", "./data/Tc5b.top")
        frame0 = traj[0]
        #arr0 = np.asarray(frame0)
        print frame0[0, :]
        assert frame0.buffer3d[0, 0] == frame0[0, 0]
        assert frame0.buffer3d[0, 1] == frame0[0, 1]
        assert frame0.buffer3d[0, 2] == frame0[0, 2]
        assert frame0.buffer3d[1, 0] == frame0[1, 0]
        assert frame0.buffer3d[19, 0] == frame0[19, 0]
        frame0.buffer3d[19, 0] = 1000.

        # make sure changing buffer3d will update frame0.coords too
        assert frame0.buffer3d[19, 0] == frame0[19, 0]
        arr0 = np.asarray(frame0.buffer3d)
        print arr0.shape
        arr0[19] = [200, 300, 400.]
        assert frame0.buffer3d[19, 0] == frame0[19, 0] == arr0[19, 0]

        # try to strip atoms
        frame1 = frame0.copy()
        frame1.strip_atoms("!@CA", traj.top)
        print frame1.buffer3d.shape

        CA_2 = frame0.get_subframe("@CA", traj.top)[2, :]
        assert_almost_equal(CA_2, frame1[2, :])
        assert_almost_equal(frame1.coords[6:9], frame1[2, :])
        frame0[:] == frame0.coords
        print frame0.buffer3d[:, 2]
        print array('d', frame0.buffer3d[2:4, 0])
        print array('d', frame0.buffer3d[2:4, 1])
        #print CA_2
        assert frame0.buffer1d.shape == (912, )
        assert frame0.buffer3d.shape == (304, 3)
        assert frame0.buffer1d.is_c_contig() == True
        print array('d', frame0.buffer3d[0, :])
        frame0.buffer3d[1:3, 0] = array('d', [1., 2.])
        #assert frame0[1:3, 0] == array('d', frame0.buffer3d[1:3, 0])
        print array('d', frame0.buffer3d[1:3, 0])
        print frame0[1:3, 0]
        assert_almost_equal(frame0[1:3, 0], array('d', frame0.buffer3d[1:3,
                                                                       0]))
        assert_almost_equal(frame0.buffer3d[1:3, 0],
                            array('d', frame0.buffer3d[1:3, 0]))
Example #27
0
    def test_0(self):
        traj = mdio.load("./data/md1_prod.Tc5b.x", "./data/Tc5b.top")
        s = AtomSelect(traj=traj, top=traj.top, frameidx=500)

        # make sure to use `property` properly
        assert s.frameidx == 500
        s.frameidx = 10
        print s.selected_frame[:1]
        assert s.frameidx == s._frameidx == 10
        s.frameidx = 100
        assert s.frameidx == s._frameidx == 100
        print s.selected_frame.coords[:10]
        print traj[100].coords[:10]
        assert_almost_equal(s.selected_frame.coords, traj[100].coords)
        s.frameidx = 999

        for i in xrange(999):
            s.frameidx = i
            assert_almost_equal(s.selected_frame.coords, traj[i].coords)
    def test_action(self):
        action_help()
        action_help("PairDist")
        print
        action_help("Dihedral")

        dslist = DataSetList()

        traj = mdio.load("./data/md1_prod.Tc5b.x", "./data/Tc5b.top")
        act = allactions.Action_Dihedral()
        act.read_input("dihedral :4@C :5@N :5@CA :5@C range360  mass ",
                       current_top=traj.top,
                       dslist=dslist)
        print traj.top
        act.process(current_top=traj.top)
        print act.process.__doc__

        for i, frame in enumerate(traj):
            act.do_action(i, frame)

        d0 = cast_dataset(dslist[0])
        print d0[:10]
def main():
    traj = FrameArray("./data/md1_prod.Tc5b.x", "./data/Tc5b.top")
    top = traj.top
    frame = traj[0]

    # indexing frame
    print frame[top("@CA")]

    # using AtomMask instance
    atm = AtomMask("@CA")
    top.set_integer_mask(atm)
    print frame[atm]

    # using AtomSelect
    asl = AtomSelect()
    asl.top = traj.top
    asl.selected_frame = frame
    print asl.select("@CA")

    # timing
    # TODO : not reproduce cpptraj output
    from time import time
    t0 = time()
    ref = mdio.load("./data/Tc5b.crd",
                    "./data/Tc5b.top")[0].get_subframe(":2-12@CA :12-16@H",
                                                       top=traj.top)
    arrrmsd = np.empty(traj.size)
    for idx, frame in enumerate(traj):
        arr0 = frame[top(":2-12@CA :12-16@H")]
        framenew = Frame(arr0.shape[0])
        framenew.set_from_crd(arr0.flatten())
        arrrmsd[idx] = ref.rmsd(framenew)
    print "time = %s" % (time() - t0)

    print len(arrrmsd)
    print arrrmsd[:10]
Example #30
0
    def test_strip_atoms(self):
        traj = mdio.load("./data/md1_prod.Tc5b.x", "./data/Tc5b.top")
        frame0 = traj[0]
        frame1 = traj[1]
        frame2 = traj[2]
        frame3 = traj[3]
        frame1 = frame0.strip_atoms("!@CA", traj.top, copy=True)
        frame2 = Frame(frame0)
        print frame2.n_atoms
        print frame1.n_atoms
        print frame1
        assert frame1.n_atoms == 20
        assert frame0.n_atoms == 304
        frame0.strip_atoms("!@CA", traj.top, copy=False)
        assert frame0.n_atoms == 20

        _, mat, v1, v2 = frame2.rmsd(frame3, get_mvv=True)
        print mat, v1, v2
        print frame2[:10]
        print mdio.writetraj("./test_0_before.pdb", traj=frame2, top=traj.top, overwrite=True)
        frame2.trans_rot_trans(v1, mat, v2)
        print frame2[:10]
        print mdio.writetraj("./test_0_afeter.pdb", traj=frame2, top=traj.top, overwrite=True)
        print Trajout().help()