チュートリアル
このページは筆者が現在自らへのメモも兼ねながら執筆中。
トラジェクトリの読み込み
すべてのフレーム
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)
dsspの計算
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]
慣性半径(radius of gyration)の計算
実行例)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])
溶媒露出面積(SASA)の計算
実行例)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