その名の通り.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に変更する)