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)
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)
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
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()
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, )
from pycpptraj.DihedralSearch import DihedralSearch from pycpptraj.Topology import Topology top = Topology("./data/Tc5b.top") dhsearch = DihedralSearch() dhsearch.list_known_types() dhsearch.offset_help()
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()
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()
def test_write_TINKER(self): top2 = Topology() parm.writeparm(top=top, filename="output/test.arc")
def test_write_mol2(self): top2 = Topology() parm.writeparm(top=top, filename="output/test.mol2")
def test_write_GROMACS(self): top2 = Topology() parm.writeparm(top=top, filename="output/test.gmxtop")
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)
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")