-
Notifications
You must be signed in to change notification settings - Fork 0
/
benchmarking.py
82 lines (63 loc) · 2.03 KB
/
benchmarking.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
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
from Ga import *
from main import *
### Benchmarking sequences
# length of 20
S1 = "HPHPPHHPHPPHPHHPPHPH"
# length of 48
H1 = "HPHHPPHHHHPHHHPPHHPPHPHHHPHPHHPPHHPPPHPPPPPPPPHH"
# length of 90
F_90_1 = "PPHHHPPPHHPPPPHHPHHHHHHPHPHPHHPHHHHHPHHHPHPHHHHPHHPPPPHHHPHPHPPHHHPHHPHPHPPHHHPPPPHHPPHPPP"
# length of 135
S1_2 = "HHHHPHHHHHHPPHHPHHHHHHHHPHHPHHHHHHHHHHPPHHPPPPPHHPHHHHHHHHPHPPHHPPPHHHHHHHHPHHHHHHPPHHHHHHHPHPPHHHHHHHHHPPHHPPPHHHHHHHPHHPHHHHHHHPPHHHH"
# length of 200
R1 = "PPPHPHHPHHPPPHPHPPPPHPHHPPHPHHHHHPPHH" \
"PPHHHHHHPPHPPHHPPHPHPHHHHHPHHPHHHPPPHHHPHHPPHPHPPHPPP" \
"HPPHPPHPPHHHPHHHPHPPHPHHPHHHHPHPHHHPHHHPPPPPPHHHHHHPPPPP" \
"PPPHHHPPHPHPPPHPHPHPHHPPHHPPPPHHHHHHPPPHHPPPPPHPPPHHPP"
# demonstrating neighbours
def plotneighbours():
vect = [[1, 1, 0], [1, -1, 0], [-1, -1, 0], [-1, 1, 0],
# up
[1, 0, 1], [0, -1, 1], [-1, 0, 1], [0, 1, 1],
# down
[1, 0, -1], [0, -1, -1], [-1, 0, -1], [0, 1, -1]]
ax = plt.axes(projection='3d')
zline, xline, yline = [], [], []
for point in vect:
print(point)
xline.append(point[0])
yline.append(point[1])
zline.append(point[2])
xline.append(0)
yline.append(0)
zline.append(0)
# lines
# ax.plot3D(xline, yline, zline)
# points
ax.scatter3D(xline, yline, zline)
# ax.scatter3D(xline[0], yline[0], zline[0])
ax.scatter3D(xline[-1], yline[-1], zline[-1])
axes = plt.gca()
axes.set_xlim([-2, 2])
axes.set_ylim([-2, 2])
axes.set_zlim([-2, 2])
plt.show()
# demostrating mutation
def plotmutation():
Pep1 = Pep([],"0101101001")
Pep2 = Pep1.mutate()
Pep1.plot(1,2)
Pep2.plot(2,2)
for a,b in zip(Pep1.aas,Pep2.aas):
print(a,b)
# demonstrating crossover
def plotcrossover():
Pep1 = Pep([],"010111110101001")
Pep2 = Pep([],"010110111001001")
c1,c2 = Pep1.crossover(Pep2)
Pep1.plot(1,4)
Pep2.plot(2,4)
c1.plot(3,4)
c2.plot(4,4)
for a,b,c,d in zip(Pep1.aas,Pep2.aas,c1.aas,c2.aas):
print(a,b,c,d)