-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy path6_barrier.py
38 lines (31 loc) · 896 Bytes
/
6_barrier.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
37
38
#!/bin/env/python
# Import package
import numpy as np
import sys
# Initialize blank arrays
fes1 = []
fes2 = []
# range for finding maximum and minimum
xmin1 = 2.8; xmax1 = 4.8
xmin2 = 4.8; xmax2 = 6.8
# default filename is 'free_energy.dat' which can be raplaced
# by reading the filename as 1st argument from same line
if len(sys.argv) > 1:
file = sys.argv[1]
else:
file = 'free_energy.dat'
# load data in array
data = np.loadtxt(file)
x = data[:, 0]
en = data[:, 1]
# find maximum and minumum in given (above) range
for i in range (0, x.size):
if ((x[i] >= xmin1) and (x[i] <= xmax1)):
fes_max = float(en[i])
fes1.append(fes_max)
if ((x[i] >= xmin2) and (x[i] <= xmax2)):
fes_min = float(en[i])
fes2.append(fes_min)
# print((max(fes1)))
# print((min(fes2)))
print('Free Energy Barrier =',"%5.2f" % ((min(fes2) - (max(fes1)))),'kcal/mol')