-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathspeed_test.py
More file actions
82 lines (62 loc) · 2.04 KB
/
speed_test.py
File metadata and controls
82 lines (62 loc) · 2.04 KB
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
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
import numpy as np
import pandas as pd
import time
import os
import matplotlib.pyplot as plt
from backpack.mapback import backmap as bm
def generate_test_data(input_coordinates, no_iterations):
os.chdir("C:\Coding Projects\Guenza Lab\\backmapping\csvs")
backmapped = input_coordinates
for i, val in enumerate(list(range(no_iterations))):
backmapped = bm.backmap(backmapped)
no_mono = len(backmapped.index.get_level_values('atom').unique())
no_chains = len(backmapped.index.get_level_values('chain').unique())
filename = f'backmap_{i}_mononum_{no_mono}_chainnum_{no_chains}.csv'
backmapped.to_csv(filename)
def speed_test(directory_path, no_iterations):
dir_list = os.listdir(directory_path)
os.chdir(directory_path)
x = []
y = []
for i in dir_list:
to_backmap = pd.read_csv(i, index_col=['chain', 'atom'])
no_mono = len(to_backmap.index.get_level_values('atom').unique())
no_chains = len(to_backmap.index.get_level_values('chain').unique())
x.append(no_mono * no_chains)
timings = []
for j in range(no_iterations):
t0 = time.time()
bm.backmap(to_backmap)
t1 = time.time()
tf = t1-t0
timings.append(tf)
ave = np.average(np.array(timings))
y.append(ave)
timings.clear()
return x , y
#data = {
# 'x':[1.0,1.05,1.2],
# 'y':[1.0,1.05,1.2],
# 'z':[1.0,1.05,1.2]
#}
#init_coordinate = pd.DataFrame(data, columns=data.keys())
#generate_test_data(init_coordinate,50)
dir_path = "C:\Coding Projects\Guenza Lab\\backmapping\csvs"
x,y = speed_test(dir_path, 1)
plt.style.use('_mpl-gallery')
fig, ax = plt.subplots(figsize = (9,9))
ax.margins(x=0.5, y=0.5)
ax.scatter(x, y, s=60, edgecolors='k')
plt.xlabel('Total Number of Monomers')
plt.ylabel('Time (s)')
plt.show()
"""
for i in range(500):
t0 = time.time()
backmap(init_coordinate)
t1 = time.time()
tf = t1-t0
timings.append(tf)
data = np.array(timings)
ave = np.average(data)
print(ave)"""