计算化学公社

标题: 如何生成分子动力学模拟轨迹在可视化软件上生成动画? [打印本页]

作者
Author:
文海南路    时间: 2022-6-17 10:32
标题: 如何生成分子动力学模拟轨迹在可视化软件上生成动画?
如何生成分子动力学模拟轨迹在可视化软件上生成动画?
我提取了每1ns下的pdb文件,想要制作一个MD动画,该如何制作呢?

作者
Author:
sobereva    时间: 2022-6-17 15:59
如置顶的新社员必读贴、论坛首页的公告栏、版头的红色大字非常明确所示,求助帖必须在帖子标题明确体现出此帖内容是求助或提问,并清楚、准确反映出帖子具体内容,避免有任何歧义,仔细看http://bbs.keinsci.com/thread-9348-1-1.html。我已把你的不恰当标题“Amber轨迹动画制作”改了,以后务必注意
作者
Author:
sobereva    时间: 2022-6-17 16:03
如果真希望每1ns作为动画的一帧得到动画文件,把产生的pdb文件合并成多帧pdb文件,作为轨迹载入到VMD里,按我培训班的ppt弄成动画

(, 下载次数 Times of downloads: 41)

更好的做法是VMD载入轨迹时直接设stride,做到恰好1ns载入一帧

作者
Author:
snljty2    时间: 2022-6-17 16:39
本帖最后由 snljty2 于 2022-6-19 20:12 编辑

按照楼上卢老师的做法获得保存到指定文件夹的截图后,也可以用这个脚本。
  1. #! /usr/bin/env python3

  2. import imageio
  3. import os, sys
  4. import argparse

  5. parser = argparse.ArgumentParser(description = "Convert all bmp files to a gif animation.")

  6. parser.add_argument("--duration", type = float, default = 0.1, help = "Duration of each frame")
  7. parser.add_argument("--reverse", type = bool, default = False, help = "Whether reverse the animation or not")
  8. parser.add_argument("--loop", type = int, default = 1, help = "Loop how many times, 0 for infinite")
  9. parser.add_argument("--output", type = str, default = "out.gif", help = "Output file name")

  10. args = parser.parse_args()

  11. images = [imageio.imread(filename) for filename in sorted((fn for fn in os.listdir(".") if fn.endswith(".bmp")), reverse = args.reverse)]
  12. imageio.mimsave(args.output if args.output.endswith(".gif") else ".".join([args.output, "gif"]), images, duration = args.duration, loop = args.loop)
复制代码



另外,获得截图也可以在VMD用类似这样的Tcl命令。
  1. set stepsize 5 # snapshot every 5 frames
  2. for { set i 0 } { $i < [molinfo top get numframes] } { incr i $stepsize } {
  3.     animate goto $i
  4.     render snapshot [format "%05d" $i].bmp
  5. }
复制代码



作者
Author:
文海南路    时间: 2022-6-18 12:06
sobereva 发表于 2022-6-17 16:03
如果真希望每1ns作为动画的一帧得到动画文件,把产生的pdb文件合并成多帧pdb文件,作为轨迹载入到VMD里,按 ...

谢谢老师的回答,发帖我以后会注意的
作者
Author:
文海南路    时间: 2022-6-18 12:08
snljty2 发表于 2022-6-17 16:39
按照楼上卢老师的做法获得保存到指定文件夹的截图后,也可以用这个脚本。

感谢大神的帮助
作者
Author:
lxhpdx    时间: 2024-6-4 21:15
sobereva 发表于 2022-6-17 16:03
如果真希望每1ns作为动画的一帧得到动画文件,把产生的pdb文件合并成多帧pdb文件,作为轨迹载入到VMD里,按 ...

老师,我使用ffmpeg生成轨迹的视频时生成的video.mp4,打不开。 (, 下载次数 Times of downloads: 29)
ffmpeg -r 60 -i C:\Users\a1756\Desktop\new\untitled.%5d.bmp -crf 22 C:\Users\a1756\Desktop\new\video.mp4
(, 下载次数 Times of downloads: 33)



作者
Author:
sobereva    时间: 2024-6-5 03:12
lxhpdx 发表于 2024-6-4 21:15
老师,我使用ffmpeg生成轨迹的视频时生成的video.mp4,打不开。
ffmpeg -r 60 -i C:%users\a1756\Desktop ...

视频观看程序有问题,缺解码器之类




欢迎光临 计算化学公社 (http://bbs.keinsci.com/) Powered by Discuz! X3.3