dcd 文件中水分子的时间序列数据
Time series data for water molecules from its dcd file
我正在尝试制作一个文件,其中包含来自 dcd 文件的水分子的时间序列数据。是否可以使用任何 MDAnalysis 模块或函数生成此数据?或者是否有任何 python 脚本来生成此文件?
我需要使用 DCD 文件作为输入来生成包含两列的文件(一列具有水分子的 z 坐标,第二列具有相应的时间步长)。
您可以通过多种方式获得 (z, t) 时间序列,但我在这里展示的是最基本的一种。我假设除了 DCD 轨迹文件之外,您还有一个 PSF 拓扑文件(但实际上,任何拓扑和轨迹文件格式都适用于 MDAnalysis)。我还假设水氧原子被命名为 "OW".
我其实不清楚你希望你的 "z, t" 数据结构是什么样的。如果你有 N
个水分子,那么每个时间步长都会有 N
个 z 坐标,所以我不知道这对 "two columns" 有何意义,假设你想要每个 "row" 是一个不同的时间步长。相反,我将使用以下数据结构:最终输出将是一个形状为 (T, N+1)
的数组,其中 T
是轨迹中的时间步数,N
是水域的数量。数组的每一行包含 [t, z1, z2, ..., zN]
,即水 i.
的时间和 z 坐标
import numpy as np
import MDAnalysis as mda
u = mda.Universe(PSF, DCD)
water_oxygens = u.select_atoms("name OW")
# pre-allocate the array for the data
data = np.zeros((u.trajectory.n_frames, water_oxygens.n_atoms + 1))
for i, ts in enumerate(u.trajectory):
data[i, 0] = ts.time # store current time
data[i, 1:] = water_oxygens.positions[:, 2] # extract all z-coordinates
# now data contains your timeseries and you can work with it
# (or export it using np.savetxt()
有关 MDAnalysis 的介绍,请参阅解释选择和轨迹迭代的 User Guide which also has a quickstart guide。
如需更多问题,请在 MDAnalysis Google group 上提问,您通常可以从中获得最快的答案。
我正在尝试制作一个文件,其中包含来自 dcd 文件的水分子的时间序列数据。是否可以使用任何 MDAnalysis 模块或函数生成此数据?或者是否有任何 python 脚本来生成此文件?
我需要使用 DCD 文件作为输入来生成包含两列的文件(一列具有水分子的 z 坐标,第二列具有相应的时间步长)。
您可以通过多种方式获得 (z, t) 时间序列,但我在这里展示的是最基本的一种。我假设除了 DCD 轨迹文件之外,您还有一个 PSF 拓扑文件(但实际上,任何拓扑和轨迹文件格式都适用于 MDAnalysis)。我还假设水氧原子被命名为 "OW".
我其实不清楚你希望你的 "z, t" 数据结构是什么样的。如果你有 N
个水分子,那么每个时间步长都会有 N
个 z 坐标,所以我不知道这对 "two columns" 有何意义,假设你想要每个 "row" 是一个不同的时间步长。相反,我将使用以下数据结构:最终输出将是一个形状为 (T, N+1)
的数组,其中 T
是轨迹中的时间步数,N
是水域的数量。数组的每一行包含 [t, z1, z2, ..., zN]
,即水 i.
import numpy as np
import MDAnalysis as mda
u = mda.Universe(PSF, DCD)
water_oxygens = u.select_atoms("name OW")
# pre-allocate the array for the data
data = np.zeros((u.trajectory.n_frames, water_oxygens.n_atoms + 1))
for i, ts in enumerate(u.trajectory):
data[i, 0] = ts.time # store current time
data[i, 1:] = water_oxygens.positions[:, 2] # extract all z-coordinates
# now data contains your timeseries and you can work with it
# (or export it using np.savetxt()
有关 MDAnalysis 的介绍,请参阅解释选择和轨迹迭代的 User Guide which also has a quickstart guide。
如需更多问题,请在 MDAnalysis Google group 上提问,您通常可以从中获得最快的答案。