-
Notifications
You must be signed in to change notification settings - Fork 0
/
TMAlign.tcl
24 lines (20 loc) · 725 Bytes
/
TMAlign.tcl
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
proc TMAlign {ref mobile} {
$ref writepdb ref.pdb
$mobile writepdb mobile.pdb
exec /usr/local/bin/TMalign_f mobile.pdb ref.pdb -m matrix.dat
set M [read_matrix "matrix.dat"]
file delete matrix.dat
file delete ref.pdb
file delete mobile.pdb
return $M
}
proc read_matrix {matrix} {
set f [open $matrix r]
set data [split [read $f] "\n"]
close $f
set M [list [list [lindex $data {2 2}] [lindex $data {2 3}] [lindex $data {2 4}] [lindex $data {2 1}]]\
[list [lindex $data {3 2}] [lindex $data {3 3}] [lindex $data {3 4}] [lindex $data {3 1}]] \
[list [lindex $data {4 2}] [lindex $data {4 3}] [lindex $data {4 4}] [lindex $data {4 1}]] \
[list 0.0 0.0 0.0 1.0]]
return $M
}