24小时热门版块排行榜    

Znn3bq.jpeg
汕头大学海洋科学接受调剂
查看: 1223  |  回复: 5

125442548

铁虫 (初入文坛)

[求助] 求助Python大神

本人做的是分子动力学模拟,现在要将两个文件格式转化一下,目前从网上下载了一段Python脚本,怎么改也无法对自己的两个文件进行处理,现在求助Python大神帮忙。
下面贴上程序
#!/usr/bin/python

# This script converts a CHARMm psf file to a NAMD (= XPLOR) psf file.
# USAGE: charmm2namd psf-file rtf-file  
#
# EPF 04-04-2000
#

import sys,struct,os,time

if len(sys.argv) < 3:
  sys.stderr.write ("USAGE: charmm2namd psf-file rtf-file > psf-file\n"
  sys.stderr.write ("       The rtf-file must contain the correct MASS entries for all\n"
  sys.stderr.write ("       atom types present in the psf-file.\n"  
  os._exit(0)

psffile = sys.argv[1]
rtffile = sys.argv[2]

# Read the MASS entries from the rtf-file.

f=open(rtffile)

buffer = " "
potentials = []

while buffer != "":
  buffer = f.readline()
  if buffer != "":
    if buffer[0:4] == "MASS":
      potentials.append(buffer.split(None,4))  
     
f.close()

# Now open the psf file and do the conversion of the potential types.

f=open(psffile)


buffer = f.readline()
# search for the line stating number of title lines
while buffer != "" and "!NTITLE" not in buffer:
  sys.stdout.write(buffer)
  buffer = f.readline()

titlelines = int(buffer[:buffer.find("!NTITLE"] )
print '%8d !NTITLE' % (titlelines+1)

# The title lines
for i in range(titlelines):
  buffer = f.readline()
  sys.stdout.write(buffer)

# add extra title line
print '* Converted to NAMD format using '+rtffile+' on '+time.ctime(time.time())

# search for the line stating number of atoms
while buffer != "" and "!NATOM" not in buffer:
  buffer = f.readline()
  sys.stdout.write(buffer)
      
numofatoms = float(buffer[:buffer.find("!NATOM"] )


j = 0;
while buffer != "":
  buffer = f.readline()
  if buffer != "" and j < numofatoms:
    line = buffer.split(None)
   
    # now search through potential list

    oldpot = line[5]
    for p in potentials:
      if p[1] == line[5]:
        line[5] = p[2]
    if oldpot == line[5]:
      sys.stderr.write('\nFatal error: no potential for atom type '+oldpot+'\n\n' )
      os._exit(0)

    linetuple=(int(line[0]),line[1],line[2],line[3],line[4],line[5],float(line[6]),float(line[7]),int(line[8]) )        
            
    psfline =  '   %5d %-4s %-4s %-4s %-4s %4s  %9.6f      %8.4f           %d' % linetuple
    print psfline
   
    j += 1
  else:
    sys.stdout.write(buffer)
            
f.close()  
sys.stderr.write('\nConverted '+str(j)+' atoms.\n\n' )

求助Python大神这是我要处理的两个文件
回复此楼

» 猜你喜欢

» 本主题相关商家推荐: (我也要在这里推广)

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

已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

reagas

木虫 (正式写手)

你运行一下,看看报错,逐步改就行了

发自小木虫Android客户端
2楼2015-12-25 17:09:32
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

125442548

铁虫 (初入文坛)

引用回帖:
2楼: Originally posted by reagas at 2015-12-25 17:09:32
你运行一下,看看报错,逐步改就行了

我试过好多遍了,不知道怎么读入我需要处理的两个文件
3楼2015-12-25 17:10:45
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

reagas

木虫 (正式写手)

python xxx.py file1name file2name

发自小木虫Android客户端
4楼2015-12-25 17:13:12
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

125442548

铁虫 (初入文坛)

引用回帖:
4楼: Originally posted by reagas at 2015-12-25 17:13:12
python xxx.py file1name file2name

我试一下,行不行的反正先谢过了
5楼2015-12-26 13:14:23
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

125442548

铁虫 (初入文坛)

引用回帖:
2楼: Originally posted by reagas at 2015-12-25 17:09:32
你运行一下,看看报错,逐步改就行了

是不是还要设置输出文件啊?我运行了下怎么没见到结果,原文件也没有变化
6楼2015-12-27 19:39:34
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 125442548 的主题更新
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[考研] 290调剂生物0860 +35 哇哈哈,。 2026-04-11 41/2050 2026-04-14 23:47 by Xurambo2014
[考研] 材料相关专业344求调剂双非工科学校或课题组 +21 hualkop 2026-04-12 22/1100 2026-04-14 17:44 by lhj2009
[考研] 335求调剂 +19 想上岸呀!! 2026-04-12 21/1050 2026-04-14 16:23 by Art1977
[考研] 297,工科调剂?河南农业大学本科 +9 河南农业大学-能 2026-04-14 9/450 2026-04-14 16:03 by Art1977
[考研] 药学求调剂 +6 RussHu 2026-04-12 7/350 2026-04-14 15:16 by sxdj2
[考研] 生物学调剂 +7 纸扇zhishan 2026-04-13 7/350 2026-04-14 14:21 by jyl0317
[考研] 297求调剂 +23 ORCHID1 2026-04-10 26/1300 2026-04-14 13:52 by 陈皮皮
[考研] 245求调剂 +6 冰糖橘?汽水 2026-04-13 10/500 2026-04-14 10:49 by jyl0317
[考研] 材料085601调剂 +32 何润采123 2026-04-10 34/1700 2026-04-14 08:47 by 木木mumu~
[考研] 2026硕士调剂_能动_河南农业大学 +4 河南农业大学-能 2026-04-12 4/200 2026-04-13 22:01 by bljnqdcc
[考研] 339求调剂 +8 hanwudada 2026-04-11 9/450 2026-04-12 15:36 by laoshidan
[考研] 求调剂,262机械专硕 +8 嗯yyl 2026-04-08 8/400 2026-04-12 02:31 by 秋豆菜芽
[考研] 一志愿郑州大学 22408 305分求调剂 +5 安小满zzz 2026-04-08 5/250 2026-04-12 00:41 by 蓝云思雨
[考研] 331求调剂 +5 王国帅 2026-04-11 5/250 2026-04-11 22:56 by 溪涧流水
[考研] 本人女孩 +7 吼吼, 2026-04-10 9/450 2026-04-11 14:45 by ACS Nano——
[考研] 0859,337求调剂 +4 研s. 2026-04-10 4/200 2026-04-11 11:34 by caotw2020
[论文投稿] mdpi小修rvr时间四五天了 20+3 哈哈high 2026-04-08 5/250 2026-04-10 16:02 by 北京莱茵润色
[考研] 江苏大学 工科调剂 捡漏 +3 Evan_Liu 2026-04-09 5/250 2026-04-10 10:22 by Evan_Liu
[考研] 材料专硕(0856) 339分求调剂 +9 哈哈哈鹅哈哈哈 2026-04-09 10/500 2026-04-09 20:01 by Orcid
[考研] 考研求调剂 +4 雯??? 2026-04-08 4/200 2026-04-08 21:44 by 土木硕士招生
信息提示
请填处理意见