コード例 #1
0
    def test_0(self):
        traj = pt.iterload("./data/Tc5b.x", "./data/Tc5b.top")
        from pytraj.utils import convert as cv
        arange = cv.array_to_cpptraj_range(range(7))

        a0 = pt.multidihedral(traj, resrange='1-7').values
        a1 = pt.multidihedral(traj, resrange=range(7)).values
        aa_eq(a0.flatten(), a1.flatten())
コード例 #2
0
    def test_0(self):
        traj = pt.iterload(fn('Tc5b.x'), fn('Tc5b.top'))
        from pytraj.utils import convert as cv
        cv.array_to_cpptraj_range(range(7))

        a0 = pt.multidihedral(traj, resrange='1-7').values
        a1 = pt.multidihedral(traj, resrange=range(7)).values
        aa_eq(a0.flatten(), a1.flatten())
コード例 #3
0
def calculate_angles(traj, residues=[], angles='phi psi'):
    if residues:
        data = list(
            pt.multidihedral(traj, dihedral_types=angles, resrange=residues))
    else:
        # get all residues numbers
        residues = [int(l[4:]) for l in list(pt.dssp(traj)[0])]
        data = pt.multidihedral(traj, dihedral_types=angles, resrange=residues)
    return data
コード例 #4
0
def test():
    fname = 'data/nogit/remd/remd.x.000'
    topname = 'data/nogit/remd/myparm.parm7'
    traj = pt.trajectory.Trajectory(fname, top=topname)
    print(traj.xyz.dtype)

    for f in traj:
        pass

    pt.radgyr(traj)
    pt.molsurf(traj, '@CA')
    pt.rmsd(traj, mask='@CA')
    pt.multidihedral(traj)
コード例 #5
0
ファイル: structure.py プロジェクト: n-salvi/adaMD
    def getdihedrals(self, s='phi psi', stride=2):
        print('reading dihedral angles from trajectories....')
        self.dih = dict()

        for tt, t in enumerate(self.trajs):
            traj = pt.iterload(t, self.top, stride=stride)
            #read dihedral angles
            self.dih[tt] = pt.multidihedral(traj, s)
コード例 #6
0
def test_multidihedral():
    trajin = fn('Tc5b.x')
    topin = fn('Tc5b.top')
    traj = pt.iterload(trajin, top=topin)
    command = "resrange 2-19 phi psi"
    state = pt.load_cpptraj_state('''
    parm {}
    trajin {}
    multidihedral resrange 2-19 phi psi
    '''.format(topin, trajin))
    state.run()
    cpp_out = state.data[1:].to_dict()
    out = pt.multidihedral(traj, command, dtype='dict')
    for key, value in out.items():
        aa_eq(value, cpp_out.get(key))
コード例 #7
0
ファイル: structure.py プロジェクト: n-salvi/adaMD
    def calcS2(self, s='phi', stride=2):
        print('calculating order parameters of ' + s + ' angles....')
        S2 = dict()

        for tt, t in enumerate(self.trajs):
            traj = pt.iterload(t, self.top, stride=stride)
            #read dihedral angles
            dih = pt.multidihedral(traj, s)
            #get residues
            labels = dih.keys()
            residues = sorted([int(l[len(s) + 1:]) for l in labels])
            S2[tt] = dict()
            for r in residues:
                lab = s + ':' + str(r)
                vals = np.array(dih[lab])
                S2[tt][r] = (np.sum(np.cos(vals * np.pi / 180.))**2 + np.sum(
                    np.sin(vals * np.pi / 180.))**2) / len(vals)**2
        return S2
コード例 #8
0
    def test_extra_coverage(self):
        '''all kind of tests that do not belong to anywhere else
        '''
        traj = pt.iterload(fn('tz2.nc'), fn('tz2.parm7'))

        # show_versions
        pt.show_versions()
        pt._verbose()
        pt._verbose(False)

        # info
        pt.info()
        pt.info('parallel')
        misc.parallel_info('pmap')
        misc.parallel_info('openmp')
        misc.parallel_info(None)

        eq([2, 3], [2, 3])

        dslist = pt.multidihedral(traj)
        str(dslist[0])
コード例 #9
0
    def test_extra_coverage(self):
        '''all kind of tests that do not belong to anywhere else
        '''
        traj = pt.iterload("./data/tz2.nc", "./data/tz2.parm7")

        # show_versions
        pt.show_versions()
        pt._verbose()
        pt._verbose(False)
        print(version)

        # info
        pt.info()
        pt.info('parallel')
        pt.misc.parallel_info('pmap')
        pt.misc.parallel_info('openmp')
        pt.misc.parallel_info(None)

        eq([2, 3], [2, 3])
        # raise if comparing NaN
        self.assertRaises(ValueError, lambda: aa_eq(np.nan, np.nan))

        dslist = pt.multidihedral(traj)
        string_ = str(dslist[0])
コード例 #10
0
    def test_extra_coverage(self):
        '''all kind of tests that do not belong to anywhere else
        '''
        traj = pt.iterload("./data/tz2.nc", "./data/tz2.parm7")

        # show_versions
        pt.show_versions()
        pt._verbose()
        pt._verbose(False)
        print(version)

        # info
        pt.info()
        pt.info('parallel')
        pt.misc.parallel_info('pmap')
        pt.misc.parallel_info('openmp')
        pt.misc.parallel_info(None)

        eq([2, 3], [2, 3])
        # raise if comparing NaN
        self.assertRaises(ValueError, lambda: aa_eq(np.nan, np.nan))

        dslist = pt.multidihedral(traj)
        string_ = str(dslist[0])
コード例 #11
0
ファイル: test_pickle.py プロジェクト: josejames00/pytraj
 def test_pickle_datasetlist(self):
     traj = pt.iterload("data/Tc5b.x", "data/Tc5b.top")
     dslist = pt.multidihedral(traj)
     pt.to_pickle(dslist, 'output/ds.pk')
     dslist2 = pt.read_pickle('output/ds.pk')
     aa_eq(dslist.values, dslist2.values)
コード例 #12
0
# require pytraj, pysander and parmed

import pytraj as pt
import numpy as np

traj = pt.iterload("../tests/data/Ala3/Ala3.crd",
                   "../tests/data/Ala3/Ala3.top")

print(traj.n_atoms, traj.top.n_residues)
print(pt.multidihedral(traj).to_dict())

t0 = traj[:1]
deg_ene = []

flist = []

try:
    import sander
    import parmed
    # scan from -180 to 180, every 5 deg
    # calculate dihedral energy for each conformation
    #
    for deg in range(-180, 180, 5):
        pt.rotate_dihedral(t0, "custom:3:omega:" + str(deg))

        flist.append(t0[0].copy())

        en = pt.energy_decomposition(t0,
                                     igb=8,
                                     verbose=False,
                                     parm=traj.top.filename)['dihedral'][0]
コード例 #13
0
import pytraj as pt

# use `iterload` to save memory
traj = pt.iterload("../tests/data/tz2.ortho.nc",
                   "../tests/data/tz2.ortho.parm7")

try:
    import pandas as pd
    # search all possible dihedral types supported by cpptraj
    dset = pt.multidihedral(traj, dtype='dataframe')
    print(dset)
except ImportError:
    pass
コード例 #14
0
 def test_pickle_datasetlist(self):
     traj = pt.iterload("data/Tc5b.x", "data/Tc5b.top")
     dslist = pt.multidihedral(traj)
     pt.to_pickle(dslist, 'output/ds.pk')
     dslist2 = pt.read_pickle('output/ds.pk')
     aa_eq(dslist.values, dslist2.values)
コード例 #15
0
ファイル: build_helix.py プロジェクト: hainm/jamber
import pytraj as pt
from jamber.builder import build_protein

seq = ' '.join(['ALA'] * 10)
print(seq)

traj = build_protein(seq, command=['alpha:1-10'])
print(traj)
print(pt.multidihedral(traj, dihedral_types='phi psi', dtype='dict'))
コード例 #16
0
import pytraj as pt
import numpy as np

try:
    import sander
    traj = pt.iterload("./data/Ala3/Ala3.crd", "./data/Ala3/Ala3.top")

    print(traj.n_atoms, traj.top.n_residues)
    print(pt.multidihedral(traj).to_dict())

    t0 = traj[:1]
    deg_ene = []

    flist = []

    for deg in range(-180, 180, 5):
        pt.rotate_dihedral(t0, "custom:3:omega:" + str(deg))

        flist.append(t0[0].copy())

        en = pt.energy_decomposition(t0, igb=8,
                                     prmtop=traj.top.filename)['dihedral'][0]
        deg_ene.append((deg, en))

    arr = np.array(deg_ene).T

    pt.write_traj("test.pdb",
                  flist,
                  top=traj.top,
                  overwrite=True,
                  options='model')
コード例 #17
0
ファイル: test_pickle.py プロジェクト: shozebhaider/pytraj
 def test_pickle_datasetlist(self):
     traj = pt.iterload(fn('Tc5b.x'), fn('Tc5b.top'))
     dslist = pt.multidihedral(traj)
     pt.to_pickle(dslist, 'ds.pk')
     dslist2 = pt.read_pickle('ds.pk')
     aa_eq(dslist.values, dslist2.values)
コード例 #18
0
import pytraj as pt

# use `iterload` to save memory
traj = pt.iterload("../tests/data/tz2.ortho.nc",
                   "../tests/data/tz2.ortho.parm7")

# search all possible dihedral types supported by cpptraj
dset = pt.multidihedral(traj)
print(dset)

# residue 3 to 7, skip every 2
dset2 = pt.multidihedral(traj, resrange='3-7')
print(dset2)

# residue 3 to 7, skip every 2
# use `range360`
dset = pt.multidihedral(traj, resrange='3-7', range360=True)
print(dset)