このページは筆者が現在自らへのメモも兼ねながら執筆中。

すべてのフレーム

import pytraj as pt

traj = pt.load('トラジェクトリファイル名', 'トポロジーファイル名')

# 以下でも可能
traj = pt.iterload('トラジェクトリファイル名', 'トポロジーファイル名')


0フレームから2000フレームまでを10フレームごとに読み込む

traj = pt.iterload('トラジェクトリファイル名', 'トポロジーファイル名', frame_slice=[(0, 2000, 10)])

この例の場合、
0, 10, 20, … , 1980, 1990
のように、0始まりで最後のフレームは読まないので注意。


なお、トラジェクトリファイル/トポロジーファイルで、筆者が確認した読み込み可能な組み合わせは以下。
dcd(CHARMM)/prmtop(Amber)


out0, out1, out2 = pt.dssp(traj, mask='', fram_indices, dtype, simplified)

パラメータ
traj (Trajectory-likeオブジェクト): 解析対象のトラジェクトリ
mask (str): マスキング、AMBER maskに準拠。詳しくはこちら
以下オプション(必要な場合のみ明記する)
frame_indices (None or array-like): 解析対象のフレーム。デフォルトNone(すべてのフレームを対象とする)
dtype (str, default 'ndarray'): outputのdatatype
simplified (bool, default 'False'): Trueの場合、二次構造の記号にH, E, Cのみを用いる。

返り値
out0 (ndarray, shape=(残基数)): maskした残基数
out1 (ndarray, shape=(フレーム数, 残基数)): 各残基ごとの二次構造の時間発展
out2 (pytraj.DatasetListオブジェクト): 各フレームでの二次構造割合(系全体)

実行例)トラジェクトリ中の43-84残基のdsspを調べる

In [26]: residues, ss, _ = pt.dssp(traj, ':43-84')

In [27]: residues
Out[27]: 
array(['ASP:43', 'ALA:44', 'GLU:45', ..., 'VAL:82', 'ILE:83', 'ALA:84'],
      dtype='<U6')

In [28]: ss
Out[28]: 
array([['0', '0', '0', ..., '0', '0', '0'],
       ['0', '0', 'S', ..., '0', '0', '0'],
       ['0', '0', 'S', ..., 'S', '0', '0'],
       ...,
       ['0', '0', 'S', ..., '0', '0', '0'],
       ['0', '0', 'S', ..., '0', '0', '0'],
       ['0', '0', 'S', ..., '0', '0', '0']], dtype='<U1')

In [29]: _
Out[29]: 
<pytraj.DatasetList with 8 datasets>
none_avg
[1.         0.6666667  0.5952381  ... 0.52380955 0.5        0.5       ]

para_avg
[0. 0. 0. ... 0. 0. 0.]

anti_avg
[0. 0. 0. ... 0. 0. 0.]
...

turn_avg
[0.         0.04761905 0.04761905 ... 0.26190478 0.21428572 0.16666667]

bend_avg
[0.         0.2857143  0.35714287 ... 0.14285715 0.21428572 0.26190478]


実行例)43-84残基の慣性半径

In [14]: data = pt.radgyr(traj, ':43-84')

In [15]: data
Out[15]: 
array([39.82664599, 11.17827841,  9.73239472, ..., 10.61066121,
       10.30048973, 10.50103621])


実行例)16-20残基のSASA

In [12]: sasa = pt.molsurf(traj, ':16-20')

In [13]: sasa
Out[13]: 
array([623.2407522 , 619.52943383, 591.74222109, ..., 664.09959492,
       665.71141787, 660.58890252])


out =  pt.diffusion(traj, mask, tstep, individual, top, dtype, frame_indices)

パラメータ
traj(Trajectory-likeオブジェクト):解析対象のトラジェクトリ。
以下オプション(必要な場合のみ明記する)
mask(str):マスキング、AMBER maskに準拠。デフォルト(空文字)ですべての原子を対象とする。
tstep(float):トラジェクトリの各フレームの時間間隔。デフォルト1.0ps
individual : bool, default False
top(Topology):トポロジーファイル。デフォルトNone
dtype(str):outputの型。デフォルトは‘dataset’
frame_indices(array or None):解析対象のフレーム。デフォルトNone(すべてのフレームを対象とする)

返り値outの要素
X:x軸方向のMSD(平均二乗変位)
Y:y軸方向のMSD
Z:z軸方向のMSD