-
Notifications
You must be signed in to change notification settings - Fork 0
/
aa_props.py
79 lines (73 loc) · 6.48 KB
/
aa_props.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
# Amino acid properties from https://www.ncbi.nlm.nih.gov/pubmed/15895431
# TODO: Missing ['C'][12] - set to zero
# TODO: Missing ['P'][14] - set to zero
# Add selenocysteine
hydrophobic_props = {
'A': (7.3, -0.368, 0.67, 297, 0, 0, 0.1, 1, 0.5, -0.1, -2.89, 25, 5.1, 0.87, 1.94, 0.89, -1.52, 0.3),
'C': (-9.2, 4.53, 0.38, 178, 0, 0, -1.42, 0.1, -6.8, -2.2, -2.49, 32, 0, 1.52, -1.24, 0.85, -0.29, 0.9),
'D': (-2.9, 2.06, -1.2, 270, 1, 4, 0.78, 6.5, -8.2, -2.8, -3.38, 2, 0.7, 0.66, -10.95, 0.87, -2.6, -0.6),
'E': (-7.1, 1.77, -0.76, 249, 1, 4, 0.83, 6.2, -16.9, -7.5, -2.94, 14, 1.8, 0.67, -10.2, 0.84, -2.47, -0.7),
'F': (19.2, 1.06, 2.3, 284, 0, 0, -2.12, 1.4, 13.2, 13.9, -1.63, 100, 9.6, 2.87, -0.76, 0.52, -0.04, 0.5),
'G': (-1.2, -0.525, 0, 290, 0, 0, 0.33, 1.1, 0, -0.5, -3.25, -2, 4.1, 0.1, 2.39, 0.92, -1.83, 0.3),
'H': (-2.1, 0, 0.64, 277, 1, 1, -0.5, 2.8, -3.5, 0.8, -2.84, -26, 1.6, 0.87, -10.27, 0.83, -1.7, -0.1),
'I': (6.6, 0.791, 1.9, 284, 0, 0, -1.13, 0.8, 13.9, 11.8, -1.72, 91, 9.3, 3.15, 2.15, 0.76, -0.03, 0.7),
'K': (-3.7, 0, -0.57, 224, 2, 1, 1.4, 5.3, 0.1, -3.2, -3.31, -26, 1.3, 1.64, -9.52, 0.97, -2.82, -1.8),
'L': (20, 1.07, 1.9, 337, 0, 0, -1.18, 0.8, 8.8, 10, -1.61, 100, 10, 2.17, 2.28, 0.73, -0.13, 0.5),
'M': (5.6, 0.656, 2.4, 283, 0, 0, -1.59, 0.7, 4.8, 7.1, -1.84, 68, 8.7, 1.67, -1.48, 0.76, 0.6, 0.4),
'N': (-5.7, 0, -0.6, 236, 2, 3, 0.48, 2.2, 0.8, -1.6, -3.41, -7, 0.6, 0.09, -9.68, 0.89, -2.41, -0.5),
'P': (5.1, -2.24, 1.2, 222, 0, 0, 0.73, 0.9, 6.1, 8, -2.5, 25, 4.9, 2.77, 0, 0.82, -1.34, -0.3),
'Q': (-0.3, 0.731, -0.22, 185, 2, 3, 0.95, 2.1, -4.8, -2.5, -3.15, 0, 1.4, 0, -9.38, 0.82, -2.05, -0.7),
'R': (-3.6, -1.03, -2.1, 238, 4, 3, 1.91, 2.3, 0.8, -4.5, -3.3, -7, 2, 0.85, -19.92, 0.88, -2.84, -1.4),
'S': (-4.1, -0.524, 0.01, 228, 1, 2, 0.52, 1.7, 1.2, -3.7, -3.3, -2, 3.1, 0.07, -5.06, 0.96, -1.87, -0.1),
'T': (0.8, 0, 0.52, 253, 1, 2, 0.07, 1.5, 2.7, 1.5, -2.91, 7, 3.5, 0.07, -4.88, 0.92, -1.57, -0.2),
'V': (3.5, 0.401, 1.5, 293, 0, 0, -1.27, 0.9, 2.7, 3.3, -2.08, 62, 8.5, 1.87, 1.99, 0.85, -0.61, 0.6),
'W': (16.3, 1.6, 2.6, 282, 1, 0, -0.51, 1.9, 14.9, 18.1, -1.75, 109, 9.2, 3.77, -5.88, 0.2, 0.42, 0.3),
'Y': (5.9, 4.91, 1.6, 344, 1, 2, -0.21, 2.1, 6.1, 8.2, -2.42, 56, 8, 2.67, -6.11, 0.49, -0.87, -0.4)}
steric_props = {
'A': (91.5, 115, 1.28, 1, 2.87, 1.52, 2.04, 27.8, 0.77, 121.9, 243.2, 0.77, 5.2, 0.025, 4.34, 17.05, 13.7),
'C': (117.7, 135, 1.77, 2.43, 4.47, 1.52, 3.41, 15.5, 1.38, 113.7, 209.4, 1.22, 6.1, 0.1, 35.77, 28.84, 25),
'D': (124.5, 150, 1.6, 2.78, 4.74, 1.52, 3.78, 60.6, 1.99, 121.2, 215, 1.43, 5, 0.1, 12, 19.27, 30),
'E': (155.1, 190, 1.56, 3.78, 5.97, 1.52, 3.31, 68.2, 2.63, 118.2, 213.6, 1.77, 6, 0.1, 17.26, 20.12, 40.2),
'F': (203.4, 210, 2.94, 5.89, 4.62, 1.52, 6.02, 25.5, 2.97, 118.2, 203.7, 1.9, 7.1, 0.39, 29.4, 16.26, 56.1),
'G': (66.4, 75, 0, 0, 2.06, 1, 1, 24.5, 0, 0, 300, 0.58, 4.2, 0.025, 0, 38.14, 3.5),
'H': (167.3, 195, 2.99, 4.66, 5.23, 1.52, 5.66, 50.7, 2.76, 118.2, 219.9, 1.78, 6, 0.1, 21.81, 23.07, 45.1),
'I': (168.8, 175, 4.19, 4, 4.92, 1.9, 3.49, 22.8, 1.83, 118.9, 217.9, 1.56, 7, 0.19, 19.06, 16.66, 44.4),
'K': (171.3, 200, 1.89, 4.77, 6.89, 1.52, 4.87, 103, 2.94, 122, 210.9, 2.08, 6, 0.2, 21.29, 16.46, 61.5),
'L': (167.9, 170, 2.59, 4, 4.92, 1.52, 4.45, 27.6, 2.08, 118.1, 205.6, 1.54, 7, 0.19, 18.78, 10.89, 44.4),
'M': (170.8, 185, 2.35, 4.43, 6.36, 1.52, 4.8, 33.5, 2.34, 113.1, 204, 1.8, 6.8, 0.19, 21.64, 20.61, 45),
'N': (135.2, 160, 1.6, 2.95, 4.58, 1.52, 4.37, 60.1, 1.98, 117.5, 207.1, 1.45, 5, 0.1, 13.28, 34.81, 32.7),
'P': (129.3, 145, 2.67, 2.72, 4.11, 1.52, 4.31, 51.5, 1.42, 81.9, 237.4, 1.25, 6.2, 0.17, 10.93, 23.94, 30.7),
'Q': (161.1, 180, 1.56, 3.95, 6.11, 1.52, 3.53, 68.7, 2.58, 118, 205.4, 1.75, 6, 0.1, 17.56, 15.42, 42.7),
'R': (202, 225, 2.34, 6.13, 7.82, 1.52, 6.24, 94.7, 3.72, 121.4, 206.6, 2.38, 6, 0.2, 26.66, 21.25, 77.3),
'S': (99.1, 115, 1.31, 1.6, 3.97, 1.52, 2.7, 42, 1.28, 117.9, 232, 1.08, 4.9, 0.025, 6.35, 19.95, 18.3),
'T': (122.1, 140, 3.03, 2.6, 4.11, 1.73, 3.17, 45, 1.43, 117.1, 226.7, 1.24, 5, 0.1, 11.01, 18.92, 28.5),
'V': (141.7, 155, 3.67, 3, 4.11, 1.9, 3.17, 23.7, 1.49, 121.7, 220.3, 1.29, 6.4, 0.15, 13.92, 17.06, 34.1),
'W': (237.6, 255, 3.21, 8.08, 7.68, 1.52, 5.9, 34.7, 3.58, 118.4, 203.7, 2.21, 7.6, 0.56, 42.53, 23.36, 74.8),
'Y': (203.6, 230, 2.94, 6.47, 4.73, 1.52, 6.72, 55.2, 3.36, 110, 195.6, 2.13, 7.1, 0.39, 31.53, 26.49, 59.1)}
electronic_props = {
'A': (4.35, 8.249, 0, 0, 7.3, -0.01, 0, 0, 8.1, 0, 0, 6, 0.0373, 9.69, 2.34),
'C': (4.65, 8.312, 0, 1, 14.4, 0.12, 0, 0, 5.5, 0, 0, 5.05, 0.0829, 8.35, 1.92),
'D': (4.76, 8.41, 1, 0, 9.2, 0.15, 0, 1, 13, -1, 0, 2.77, 0.1263, 9.6, 1.88),
'E': (4.29, 8.368, 1, 0, 11.4, 0.07, 0, 1, 12.3, -1, 1.27, 3.22, 0.0058, 9.67, 2.1),
'F': (4.66, 8.228, 0, 1, 13.9, 0.03, 0, 0, 5.2, 0, 0, 5.48, 0.0946, 9.18, 2.16),
'G': (3.97, 8.391, 1, 0, 0, 0, 0, 0, 9, 0, 0, 5.97, 0.05, 9.78, 2.35),
'H': (4.63, 8.415, 0, 1, 10.2, 0.08, 1, 0, 10.4, 0, 1.45, 7.59, 0.0242, 9.17, 1.82),
'I': (3.95, 8.195, 0, 0, 16.1, -0.01, 0, 0, 5.2, 0, 0, 6.02, 0, 9.68, 2.36),
'K': (4.36, 8.408, 0, 1, 10.9, 0, 1, 0, 11.3, 1, 3.67, 9.74, 0.0371, 9.18, 2.16),
'L': (4.17, 8.423, 0, 0, 10.1, -0.01, 0, 0, 4.9, 0, 0, 5.98, 0, 9.6, 2.36),
'M': (4.52, 8.418, 0, 1, 10.4, 0.04, 0, 0, 5.7, 0, 0, 5.74, 0.0823, 9.21, 2.28),
'N': (4.75, 8.747, 1, 1, 8, 0.06, 0, 0, 11.6, 0, 0, 5.41, 0.0036, 8.8, 2.02),
'P': (4.44, 0, 0, 0, 17.8, 0, 0, 0, 8, 0, 0, 6.3, 0.0198, 10.64, 1.95),
'Q': (4.37, 8.411, 0, 1, 10.6, 0.05, 0, 0, 10.5, 0, 1.25, 5.65, 0.0761, 9.13, 2.17),
'R': (4.38, 8.274, 0, 1, 11.1, 0.04, 1, 0, 10.5, 1, 2.45, 10.76, 0.0959, 8.99, 1.82),
'S': (4.5, 8.38, 0, 0, 13.1, 0.11, 0, 0, 9.2, 0, 0, 5.68, 0.0829, 9.21, 2.19),
'T': (4.35, 8.236, 0, 0, 16.7, 0.04, 0, 0, 8.6, 0, 0, 5.66, 0.0941, 9.1, 2.09),
'V': (3.95, 8.436, 0, 0, 17.2, 0.01, 0, 0, 5.9, 0, 0, 5.96, 0.0057, 9.62, 2.32),
'W': (4.7, 8.094, 0, 1, 13.2, 0, 0, 0, 5.4, 0, 6.93, 5.89, 0.0548, 9.44, 2.43),
'Y': (4.6, 8.183, 0, 1, 13.9, 0.03, 0, 0, 6.2, 0, 5.06, 5.66, 0.0516, 9.11, 2.2)}
assert(electronic_props.keys() == steric_props.keys())
assert(steric_props.keys() == hydrophobic_props.keys())
all_aa_props = {}
for key in electronic_props.keys():
all_aa_props[key] = hydrophobic_props[key] + steric_props[key] + electronic_props[key]
seq_to_aa_props = lambda seq: [float(x) for y in [all_aa_props[aa] for aa in seq] for x in y]