PDBのchain名を変える †その名の通り.chain名を揃えたいときなどに使う. change_chainname.py #!/usr/bin/python
import re
import sys
if (len(sys.argv) != 4):
print 'Usage: # python %s [pdbfile] [target chain name] [new chain name]' % sys.argv[0]
quit()
id = sys.argv[1][0:4]
fp = open(sys.argv[1])
pdb = fp.read()
fp.close()
pdb = pdb.rstrip("\n")
pdb = pdb.split("\n")
fc = open(sys.argv[1], "w")
for ll in pdb:
l = ll
if l[0:4] != 'ATOM' and l[0:6] != 'HETATM':
continue
if l[17:20] == 'HOH':
continue
if l[21] != sys.argv[2]:
fc.write(l + "\n")
continue
fc.write(l[:21] + sys.argv[3] + l[22:] + "\n")
fc.close()
使い方 †python change_chainname.py 対象のPDB 対象のチェイン名 変更後のチェイン名 python change_chainname.py 1CGI.pdb E K (1CGI.pdbのチェインEの名前をKに変更する) |