Esempio n. 1
0
    def test_1(self):
        datadir = "./data/"
        tlist = TopologyList()

        # create TopologyList instance with 4 Topology instances
        tlist.add_parm(Topology())
        tlist.add_parm(datadir + "Tc5b.top")
        tlist.add_parm(datadir + "HP36.top")
        tlist.add_parm(Topology())
        tlist.info()

        # test assignment
        tlist[0] = tlist[1]
        assert tlist[0].n_atoms == tlist[1].n_atoms
        print tlist[0].n_atoms
        #tlist.info()

        #tlist[3].summary()

        t_0 = tlist[0]
        t_0.copy(tlist[2])
        #t_0.summary()

        # make sure changing t_0 does not affect tlist[0] since we make a copy
        assert t_0.n_atoms != tlist[0].n_atoms
        #t_0.summary()

        t_0_copy = t_0.copy()
        assert t_0_copy != t_0
        assert t_0_copy.n_atoms == t_0.n_atoms

        print "make sure changing t_0_copy does not affect t_0"
        t_0_copy = Topology()
        assert t_0_copy.n_atoms != t_0.n_atoms
        #t_0.summary()
        #t_0_copy.summary()

        # clear tlist
        tlist.clear()
        # testing index out of range
        #tlist[0]
        tlist.info()

        print "adding new Topology instances"
        tlist.add_parm(Topology())
        tlist.add_parm(Topology())
        tlist.add_parm(Topology())
        tlist[0]
        tlist[1]
        tlist[2]

        print "test iteration"
        print "test adding top instances from python list"
        tmplist = [Topology(), Topology(), Topology()]
        tlist_2 = TopologyList()
        tlist_2.get_parm_from_pylist(tmplist)
Esempio n. 2
0
 def test_write_CHARMMPSF(self):
     print "write parm for CHARMM"
     parm.writeparm(top=top, filename="output/test.psf", fmt="CHARMMPSF")
     top2 = Topology()
     parm.readparm(filename="output/test.psf", top=top2)
     assert top2.n_atoms == 304
     test_generator(top2)
Esempio n. 3
0
def _cpptraj_rmsd(topname,
                  refname,
                  trajname,
                  first_nframes=100,
                  mask='',
                  use_mass=True,
                  fit=True):
    """
    DEMO API
    TODO: update this doc
    Output: array of rmsd values
    
    Input:
    =====
    topname : Amber topology file name
    refname : Reference file name
    trajname : trajectory file name
    first_nframes : calc rmsd for first_nframes
    mask : AtomMask string
    use_mass : bool
    fit : fit or no_fit

    """
    # not yet supported atom mask
    # atm = AtomMask(mask)
    # make topology instance
    top = Topology(topname)

    # create reference frame
    ref = ReferenceFrame()
    ref.load_ref(refname, top)
    refframe = ref.frame

    # load trajectory file
    trajin = Trajin_Single()
    trajin.load(trajname, ArgList(), top)
    trajin.prepare_for_read(True)

    #create frame to store data from traj iteration
    frame = Frame()
    frame.set_frame_v(top, trajin.has_vel(), trajin.n_repdim)

    # do rmsd
    nframes = first_nframes if first_nframes < trajin.total_frames else trajin.total_frames
    arr = np.empty(nframes)

    trajin.begin_traj(False)
    trajin.print_info_line()
    for i in range(nframes):
        # not added "mask" yet
        # just for demo
        trajin.get_next_frame(frame)
        if fit:
            arr[i] = frame.rmsd(refframe, use_mass)
        else:
            arr[i] = frame.rmsd_no_fit(refframe, use_mass)
    trajin.end_traj()
    return arr
Esempio n. 4
0
    def test_0(self):
        top = Topology()
        parm = ParmFile()
        print parm.formats()

        filename = "./data/Tc5b.top"

        print "Read topology file and dump to 'top'"
        parm.readparm(top, filename)
        assert top.n_atoms == 304

        print "\natom_iterator for top"

        print parm.filename()
Esempio n. 5
0
def randomize_ions(frame=Frame(), top=Topology(), command=""):
    """randomize_ions for given Frame with Topology
    Return : None
    Parameters
    ---------
    frame : Frame instance, default=Frame()
        frame coords will be modified

    top : Topology instance, default=Topology()

    >>> from pycpptraj.misc import randomize_ions
    >>> randomize_ions(frame, top, command="randomizeions @Na+ around :1-16 by 5.0 overlap 3.0")
    """
    act = allactions.Action_RandomizeIons()
    act.master(command=command,
               current_top=top,
               current_frame=frame,
               )
Esempio n. 6
0
from pycpptraj.DihedralSearch import DihedralSearch
from pycpptraj.Topology import Topology

top = Topology("./data/Tc5b.top")

dhsearch = DihedralSearch()
dhsearch.list_known_types()
dhsearch.offset_help()

Esempio n. 7
0
import os
from pycpptraj.AtomMask import AtomMask
from pycpptraj.ReferenceFrame import ReferenceFrame
from pycpptraj.Topology import Topology
from pycpptraj.FileName import FileName
from pycpptraj.Frame import Frame
from pycpptraj.CpptrajState import CpptrajState
from pycpptraj.Energy import Energy_Amber
from pycpptraj.ArgList import ArgList

datadir = os.environ['PYCPPTRAJ_HOME'] + "/examples/data/"
topname = datadir + "Tc5b.top"
filename = "./data/md1_prod.Tc5b.x"

top = Topology(topname)
#top.summary()
ref = ReferenceFrame()
#ref.load_ref(filename=filename, top=top, debug=0, arglist=ArgList(), mask="@CA")
ref.load_ref(filename, top, arglist=ArgList(), mask="@CA")
ref.top.summary()
print ref.frame
name = ref.frame_name()
assert name.full_name == filename
#assert name.ext == '.crd'
ref.info()
Esempio n. 8
0
from pycpptraj.Parm_Amber import Parm_Amber as PA
from pycpptraj.Topology import Topology

pa = PA()
print pa.alloc()
pa.write_help()
top = Topology()
pa.read_parm("./data/Tc5b.top", top)
top.summary()
Esempio n. 9
0
 def test_write_TINKER(self):
     top2 = Topology()
     parm.writeparm(top=top, filename="output/test.arc")
Esempio n. 10
0
 def test_write_mol2(self):
     top2 = Topology()
     parm.writeparm(top=top, filename="output/test.mol2")
Esempio n. 11
0
 def test_write_GROMACS(self):
     top2 = Topology()
     parm.writeparm(top=top, filename="output/test.gmxtop")
Esempio n. 12
0
 def test_write_AMBERPARM(self):
     top2 = Topology()
     parm.writeparm(top=top, filename="output/test.parm7")
     parm.readparm(filename="output/test.parm7", top=top2)
     assert top2.n_atoms == 304
     test_generator(top2)
Esempio n. 13
0
    print "\nres_iterator for top"
    for res in top.residueiter:
        pass
        #print res

    print "\nmol_iterator for top"
    for mol in top.moliter:
        pass
        #print mol

    for i in range(304):
        top.atom_mask_name(i)


top = Topology()
parm = ParmFile()
filename = "./data/Tc5b.top"
parm.readparm(top, filename)
assert top.n_atoms == 304
parm.help()


class TestParmFile(unittest.TestCase):
    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")