source: util/src/GetIDsOfBorderAtoms.py.in@ 59b70a

Last change on this file since 59b70a was e1a46d, checked in by Frederik Heber <heber@…>, 16 years ago

All of my python script put into ESPACK and adapted with @PYTHON@ and so on.

  • Property mode set to 100755
File size: 1.1 KB
Line 
1#!@PYTHON@
2#
3# Cuts a specific block from a given PDB file
4
5import sys, string, re, math
6wrerr = sys.stderr.write
7wrout = sys.stdout.write
8
9# check for parameters
10if len(sys.argv) < 5:
11 wrerr("Usage: "+sys.argv[0]+" <datafile> <offset to x=3> <offset to ID> <border_epsilon>\n")
12 sys.exit(1)
13
14input = open(sys.argv[1], "r")
15output = open(sys.argv[1]+".exttypes", "w")
16offset=int(sys.argv[2])
17offsetID=int(sys.argv[3])
18border_epsilon=float(sys.argv[4])
19
20# get box bounds
21min=[ 1000., 1000., 1000.]
22max=[ 0., 0., 0.]
23for line in input:
24 if "END" in line:
25 break
26 entries=line.split()
27 for n in range(3):
28 if max[n] < float(entries[offset+n]):
29 max[n] = float(entries[offset+n])
30 if min[n] > float(entries[offset+n]):
31 min[n] = float(entries[offset+n])
32
33input.seek(0)
34
35for line in input:
36 if "END" in line:
37 break
38 entries=line.split()
39 i=0
40 for n in range(3):
41 if (((float(entries[offset+n]) - min[n]) < border_epsilon) or ((-float(entries[offset+n]) + max[n]) < border_epsilon)):
42 i+=1
43 if i>0:
44 output.write("%d\t1\n" % (int(entries[offsetID])))
45
46input.close()
47output.close()
Note: See TracBrowser for help on using the repository browser.