24小时热门版块排行榜    

查看: 4700  |  回复: 7

zhuhongaaa

金虫 (正式写手)

[交流] 【转帖】【ZZ】使用xdrfile读取gromacs的trr和xtc文件 已有7人参与

xdrfile是gmx开发的一个用来读取trr文件和xtc文件的库,可以在gmx的主页上下载安装。安装不需要一共gmx的安装路径。
安装后生成一个trr2xtc可执行文件。可以简单的把trr文件转化问xtc文件来减小体积,节约空间。
更为主要的是我们可以利用xdrfile中的库自行编写程序读取gmx的trr文件和xtc文件,用于轨迹分析,相当方便。


xdrfile/include/xdrfile/目录下面有三个用C写的头文件,可以include到我们自己的C程序和C++程序中。
下面是一个读取trr文件的C程序示例:
/*
file name is
trr.c
*/
#include
#include
#include
int natoms,step,natom,read_return;
float time,lambda;
matrix box;
rvec *x,*v,*f;
XDRFILE *trr;
main ()
{
trr=xdrfile_open (“traj.trr”,”r”);
read_return=read_trr_natoms (“traj.trr”,&natoms);
x = calloc(natoms, sizeof(x[0]));
while (1)
{
read_return=read_trr (trr,natoms,&step,&time,box,lambda,x,v,f);
if (read_return!=0)
{
break;
}
for (natom=1;natom<=natoms;natom++)
{
printf (“%d %f %d %f %f %f\n”,step,time,natom,x[natom-1][0],x[natom-1][1],x[natom-1][2]);
}
}
xdrfile_close (trr);
}
~
~
~
可以用gcc 直接编译运行。编译的时候注意添加头文件的路径。
下面是用C++写的读取xtc文件的一个示例:
/*
file name is
xtc.cpp
*/
#include
extern “C”
{
#include
}
using namespace std;
int main (int argc,char * argv[])
{
char * filename;
int natoms,step;
filename=”traj.xtc”;
float time;
float p;
matrix box;
rvec *x;
XDRFILE *xtc;
xtc=xdrfile_open(filename,”r”);
int read_return=read_xtc_natoms(filename,&natoms);
x=(rvec * )calloc(natoms,sizeof(x[0]));
while(1)
{
read_return=read_xtc(xtc,natoms,&step,&time,box,x,&p);
if(read_return!=0)
{
break;
}
for(int natom=0;natom {
cout< }
}
xdrfile_close(xtc);
return 0;
}
~
可以用g++ 直接编译运行。编译的时候注意添加头文件的路径。
http://zhuhong.freetzi.com/wordpress/?p=57
有问题欢迎留言或mail。
转载请注明。
回复此楼

» 猜你喜欢

» 本主题相关价值贴推荐,对您同样有帮助:

分子模拟的主页http://varmilion.tk/
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

piao666

新虫 (初入文坛)


小木虫: 金币+0.5, 给个红包,谢谢回帖
您好,能不能请教一下xdrfile的详细安装方法,我在应用C程序的时候头文件找不到,应该是安装出了问题,非常需要你的帮助,谢谢!
2楼2018-09-26 15:44:33
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

小城小暖

新虫 (初入文坛)


小木虫: 金币+0.5, 给个红包,谢谢回帖
你好,我通过这个查看读取轨迹文件,能否用来计算组成团簇的分子数随时间的变化?

发自小木虫IOS客户端
3楼2019-12-01 20:20:47
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

小木虫: 金币+0.5, 给个红包,谢谢回帖
本帖内容被屏蔽

4楼2019-12-31 16:21:25
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

小木虫: 金币+0.5, 给个红包,谢谢回帖
本帖内容被屏蔽

5楼2020-01-02 17:25:31
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

小木虫: 金币+0.5, 给个红包,谢谢回帖
本帖内容被屏蔽

6楼2020-01-04 11:20:13
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
本帖内容被屏蔽

7楼2020-01-06 16:59:44
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

小木虫: 金币+0.5, 给个红包,谢谢回帖
本帖内容被屏蔽

8楼2022-10-25 01:26:52
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 zhuhongaaa 的主题更新
普通表情 高级回复 (可上传附件)
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[基金申请] 怎么查啊 +4 huang1991js 2026-08-26 4/200 2026-08-26 11:26 by panjy.cn
[基金申请] 国际合作可查了,中了面上 +18 Ldrop2023 2026-08-26 18/900 2026-08-26 11:15 by cmrandy
[基金申请] 能否退出参与的面上项目解除限项 +22 koalala 2026-08-24 25/1250 2026-08-26 11:14 by dxcharlary
[基金申请] 系统进不去 +4 yanglien 2026-08-26 5/250 2026-08-26 11:10 by wenfengw83
[基金申请] 2026年的国家社科基金项目通讯评审的新规则与新动向、新挑战 +6 process2012 2026-08-23 8/400 2026-08-26 11:03 by zjlp
[基金申请] 项目信息和经费信息在系统里都可以看到了 +6 wittyboy 2026-08-26 14/700 2026-08-26 10:55 by wittyboy
[基金申请] 怎么看青基中了没有啊 +4 叶九微 2026-08-26 4/200 2026-08-26 10:52 by xiacongxu
[基金申请] 国合可查了 +3 paperzjh 2026-08-26 3/150 2026-08-26 10:41 by LemmonTr
[基金申请] 2026年8月25日国自然放榜前突然收到列入评审专家邮件,有关系吗? +24 木水思豆 2026-08-25 27/1350 2026-08-26 08:26 by yanchen918
[基金申请] 范进中举一文的中心思想 +8 炎黄贵胄 2026-08-22 9/450 2026-08-26 07:47 by WASM
[基金申请] 在坚冰还盖着北海的时候,我看到了怒放的梅花。 (金币+10) +6 ziyangfang 2026-08-25 9/450 2026-08-25 20:26 by huagongfeihu
[基金申请] 如果此刻你正在为国基感到焦虑,不妨来听听这首《基金之外》 +8 scalable 2026-08-24 8/400 2026-08-25 12:52 by jnhyjjm
[基金申请] 没有任何消息-是不是就凉了 +9 图啦图啦 2026-08-24 10/500 2026-08-25 11:59 by 南海小哥
[基金申请] 人气不行了 +11 fansofjerry 2026-08-21 11/550 2026-08-25 11:04 by 孤独的英雄6
[基金申请] 我面上完蛋了 +13 且听虎啸 2026-08-20 14/700 2026-08-25 09:10 by mrkang
[基金申请] 只有每年这种时候来逛逛小木虫 +25 yaoyewhu2008 2026-08-20 27/1350 2026-08-25 08:01 by Equinoxhua
[基金申请] 让我中一个面上吧! +13 大萍1987 2026-08-20 16/800 2026-08-24 10:23 by 太傻了
[基金申请] 时间戳今天,20号变了 +5 archvillain 2026-08-20 5/250 2026-08-22 06:12 by hui_daxiao
[基金申请] 今天放榜没戏了吧 +9 yuleib84 2026-08-19 11/550 2026-08-21 10:06 by gltch
[基金申请] 基金啊基金 +4 longfie172 2026-08-20 4/200 2026-08-21 08:58 by mark mao
信息提示
请填处理意见