おいも貴婦人ブログ

生物系博士課程満期退学をしたAIエンジニアのブログ。

ProDyを使ってみよう.vol3!!!(RMSF)

MD屋さんなら素直にProDyを使ったほうがいいと思う今日このごろ...。計算式がわかっているなら、自分で書くのではなく、プログラムを見つけて実行の仕方を学ぶほうが良いと思う。だって、自分で書いても遅いんだもん…。てことで、今回はRMSF(Root mean square fluctuation)の計算方法を紹介。RMSFが示す値は原子ごとの揺らぎを表します。例えば、表面にある原子は揺らぎやすいなど。GromacsやAmberなどでは、標準でRMSFを計算するコマンドがあるのでそれを使用しましょう。

#!/usr/bin/env python
import copy

import prody

coords=[[0,0,0],
        [0,0,1],
        [0,0,2],
        [0,0,3]]

frames=[]

for i in range(10):
    frames.append(copy.copy(coords))
------ここから------
ensemble=prody.Ensemble()
ensemble.addCoordset(frames)
rmsf=ensemble.getRMSFs()

今回の例では、3次元、4原子,10フレームの例です。これは基本的なデータ型[フレームの数][原子数][次元]なので覚えておいても損はありません。それを、ensembleクラスにメソッドaddCoordsetで追加し、メソッドgetRMSFsを呼び出すだけです。
なんと簡単なのでしょう!!!