Lif*_*es 2 python statistics bioinformatics
我有一个来自 20,000 帧模拟的轨迹文件,每帧之间有 5 ps 时间,我想要做的是计算二维(x 轴和 y 轴)的扩散。但是要计算二维扩散,首先我必须计算所研究分子的均方位移。MSD 计算分子在随机游走中探索系统所花费的平均时间。
我对 python 编程非常陌生,我真的希望得到一些帮助来开始这个问题并解决这个问题。希望得到积极的回应。
好吧,MSD 就像听起来一样,它是均方位移,因此您需要做的是找到每个位置的位置差异 (r(t + dt) -r(t)),然后将其平方,最后取均值。首先,您必须从 x 和 y 中找到 r,这很容易。我将假设您从现在开始使用 numpy。
import numpy as np
r = np.sqrt(xdata**2 + ydata**2)
diff = np.diff(r) #this calculates r(t + dt) - r(t)
diff_sq = diff**2
MSD = np.mean(diff_sq)
Run Code Online (Sandbox Code Playgroud)
现在这是计算 MSD 的一般方法,然后您可以与布朗运动之类的东西进行比较,其中 MSD = 4Dt 大约在 2 维。