-
Notifications
You must be signed in to change notification settings - Fork 0
/
calc_lrmsd_withTMalign.py
38 lines (30 loc) · 1.36 KB
/
calc_lrmsd_withTMalign.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
#!/bin/env python
# vim: set fileencoding=utf-8 :
#
# Author: toshi123
# License: MIT License
# Created: 2014-04-23
#
import sys
import argparse
import prody
from TMalign import TMalign
if __name__ == '__main__':
p = argparse.ArgumentParser(description="L-RMS calculater")
p.add_argument('reference_PDBfile')
p.add_argument('model_PDBfile')
p.add_argument('-r','--ref_receptor',default='A',help='chain name of reference receptor')
p.add_argument('-l','--ref_ligand',default='B',help='chain name of reference ligand')
p.add_argument('-R','--model_receptor',default='A',help='chain name of model receptor')
p.add_argument('-L','--model_ligand',default='B',help='chain name of model ligand')
p.add_argument('--tmalign',default='/usr/local/bin/TMalign',help='path to TMalign')
args = p.parse_args()
ref_receptor = prody.parsePDB(args.reference_PDBfile,chain=args.ref_receptor)
ref_ligand = prody.parsePDB(args.reference_PDBfile,chain=args.ref_ligand)
model_receptor = prody.parsePDB(args.model_PDBfile,chain=args.model_receptor)
model_ligand = prody.parsePDB(args.model_PDBfile,chain=args.model_ligand)
tmalign = TMalign(model_receptor,ref_receptor,path = args.tmalign)
trans = prody.Transformation(tmalign.matrix,tmalign.vector)
trans.apply(model_ligand)
lrms = prody.calcRMSD(model_ligand,ref_ligand)
print lrms