-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy pathalign2d.py
28 lines (20 loc) · 972 Bytes
/
align2d.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
from modeller import *
import argparse
import os
parser = argparse.ArgumentParser()
parser.add_argument( "--templatepath",required=True, help="the path of the template pdb file")
parser.add_argument( "--targetname",required=True, help="the name of the target file.")
args = parser.parse_args()
template_path = args.templatepath
target_name = args.targetname #pdbcid means pdb chain id.
(template_dir, template_fn) = os.path.split(template_path)
template_name = template_fn.replace(".pdb","")
target_dir = template_dir + "/../"
env = environ()
aln = alignment(env)
mdl = model(env, file=template_path.replace(".pdb",""))
aln.append_model(mdl, align_codes=template_name, atom_files=template_fn)
aln.append(file=target_dir + target_name + ".ali", align_codes=target_name)
aln.align2d()
aln.write(file=target_dir+target_name+"_"+template_name + '.ali', alignment_format='PIR')
aln.write(file=target_dir+target_name+"_"+template_name + '.pap', alignment_format='PAP')