プログラム DL_POLY 4 からの大きな出力ファイルから情報を抽出し、いくつかの視覚化ソフトウェア用にフォーマットされた、より単純なファイルにしようとしています。
おそらく誰かが、大きな HISTORY 出力ファイル (基本的に大量のテキストを含む) を、VMD によって処理される正しい形式である .xyz (拡張子は任意) に変換するスクリプトを既に作成していると思われます。(スクリプト作成者による完全なドキュメントは、http: //www.ccp5.ac.uk/DL_POLY_CLASSIC/FAQ/FAQ9.shtmlから入手できます)
スクリプトは次のとおりです (オンラインでも入手できます)。
#!/usr/bin/env python
import sys,string
atomList=['Si','Al','O_','O','H','C','Cl','Na','Zr','Y_','Mg','K','Ag','Ar']
inputFile=open(sys.argv[1],'r')
outFile=open(sys.argv[2],'w')
title=inputFile.readline()
line=inputFile.readline()
while(line!=""):
if string.split(line)[0]=='timestep':
timestep='step= '+string.split(line)[1]+'\n'
totalAtom=string.split(line)[2]+'\n'
outFile.write(totalAtom)
outFile.write(timestep)
if string.split(line)[0][:2] in atomList:
atomName=string.split(line)[0][:2]+'\t'
outFile.write(atomName)
xyzline=inputFile.readline()
outFile.write(xyzline)
line=inputFile.readline()
inputFile.close()
outFile.close()
スクリプトを his2xyz.py という名前のファイル (HISTORY ファイルを含むディレクトリ内) として保存し、Python で実行しようとしましたが、何も実行されず、出力も生成されません。
このスクリプトは動作するはずですか?
自分でスクリプトを書いてみたいのですが、正直、どうしたらいいのかわかりません。