File size: 36,343 Bytes
a3f3d91
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
#include "classifier.h"

/* Autogenerated code from the script config2c.pl */

static const char *protor_residue_name[] = {"A", "ACE", "ALA", "ARG", "ASN", "ASP", "ASX", "C", "CYS", "DA", "DC", "DG", "DI", "DT", "DU", "G", "GLN", "GLU", "GLX", "GLY", "HIS", "HOH", "I", "ILE", "LEU", "LYS", "MET", "NH2", "PHE", "PRO", "PYL", "SEC", "SER", "T", "THR", "TRP", "TYR", "U", "VAL", };
static const char *protor_A_atom_name[] = {"C5'", "O2'", "OP1", "N6", "O4'", "N9", "C3'", "N3", "OP3", "C2'", "C6", "P", "N1", "OP2", "N7", "C8", "C4'", "C2", "C5", "C1'", "O5'", "C4", "O3'", };
static double protor_A_atom_radius[] = {1.88, 1.46, 1.42, 1.64, 1.46, 1.64, 1.88, 1.64, 1.46, 1.88, 1.61, 1.8, 1.64, 1.46, 1.64, 1.76, 1.88, 1.76, 1.61, 1.88, 1.46, 1.61, 1.46, };
static int protor_A_atom_class[] = {FREESASA_ATOM_APOLAR, FREESASA_ATOM_POLAR, FREESASA_ATOM_POLAR, FREESASA_ATOM_POLAR, FREESASA_ATOM_POLAR, FREESASA_ATOM_POLAR, FREESASA_ATOM_APOLAR, FREESASA_ATOM_POLAR, FREESASA_ATOM_POLAR, FREESASA_ATOM_APOLAR, FREESASA_ATOM_APOLAR, FREESASA_ATOM_POLAR, FREESASA_ATOM_POLAR, FREESASA_ATOM_POLAR, FREESASA_ATOM_POLAR, FREESASA_ATOM_APOLAR, FREESASA_ATOM_APOLAR, FREESASA_ATOM_APOLAR, FREESASA_ATOM_APOLAR, FREESASA_ATOM_APOLAR, FREESASA_ATOM_POLAR, FREESASA_ATOM_APOLAR, FREESASA_ATOM_POLAR, };
static struct classifier_residue protor_A_cfg = {
    .name = "A", .n_atoms = 23,
    .atom_name = (char**) protor_A_atom_name,
    .atom_radius = (double*) protor_A_atom_radius,
    .atom_class = (freesasa_atom_class*) protor_A_atom_class,
    .max_area = {NULL, 0, 0, 0, 0, 0},
};

static const char *protor_ACE_atom_name[] = {"CH3", "C", "O", };
static double protor_ACE_atom_radius[] = {1.88, 1.76, 1.42, };
static int protor_ACE_atom_class[] = {FREESASA_ATOM_APOLAR, FREESASA_ATOM_APOLAR, FREESASA_ATOM_POLAR, };
static struct classifier_residue protor_ACE_cfg = {
    .name = "ACE", .n_atoms = 3,
    .atom_name = (char**) protor_ACE_atom_name,
    .atom_radius = (double*) protor_ACE_atom_radius,
    .atom_class = (freesasa_atom_class*) protor_ACE_atom_class,
    .max_area = {NULL, 0, 0, 0, 0, 0},
};

static const char *protor_ALA_atom_name[] = {"OXT", "O", "CB", "N", "C", "CA", };
static double protor_ALA_atom_radius[] = {1.46, 1.42, 1.88, 1.64, 1.61, 1.88, };
static int protor_ALA_atom_class[] = {FREESASA_ATOM_POLAR, FREESASA_ATOM_POLAR, FREESASA_ATOM_APOLAR, FREESASA_ATOM_POLAR, FREESASA_ATOM_APOLAR, FREESASA_ATOM_APOLAR, };
static struct classifier_residue protor_ALA_cfg = {
    .name = "ALA", .n_atoms = 6,
    .atom_name = (char**) protor_ALA_atom_name,
    .atom_radius = (double*) protor_ALA_atom_radius,
    .atom_class = (freesasa_atom_class*) protor_ALA_atom_class,
    .max_area = {.name = "ALA", .total = 103.10, .main_chain = 46.51, .side_chain = 56.60, .polar = 29.89, .apolar = 73.21},
};

static const char *protor_ARG_atom_name[] = {"CA", "N", "CG", "C", "CZ", "O", "NH1", "NH2", "CD", "NE", "OXT", "CB", };
static double protor_ARG_atom_radius[] = {1.88, 1.64, 1.88, 1.61, 1.61, 1.42, 1.64, 1.64, 1.88, 1.64, 1.46, 1.88, };
static int protor_ARG_atom_class[] = {FREESASA_ATOM_APOLAR, FREESASA_ATOM_POLAR, FREESASA_ATOM_APOLAR, FREESASA_ATOM_APOLAR, FREESASA_ATOM_APOLAR, FREESASA_ATOM_POLAR, FREESASA_ATOM_POLAR, FREESASA_ATOM_POLAR, FREESASA_ATOM_APOLAR, FREESASA_ATOM_POLAR, FREESASA_ATOM_POLAR, FREESASA_ATOM_APOLAR, };
static struct classifier_residue protor_ARG_cfg = {
    .name = "ARG", .n_atoms = 12,
    .atom_name = (char**) protor_ARG_atom_name,
    .atom_radius = (double*) protor_ARG_atom_radius,
    .atom_class = (freesasa_atom_class*) protor_ARG_atom_class,
    .max_area = {.name = "ARG", .total = 231.99, .main_chain = 45.09, .side_chain = 186.90, .polar = 153.92, .apolar = 78.07},
};

static const char *protor_ASN_atom_name[] = {"ND2", "O", "OD1", "N", "CG", "C", "CA", "CB", "OXT", };
static double protor_ASN_atom_radius[] = {1.64, 1.42, 1.42, 1.64, 1.61, 1.61, 1.88, 1.88, 1.46, };
static int protor_ASN_atom_class[] = {FREESASA_ATOM_POLAR, FREESASA_ATOM_POLAR, FREESASA_ATOM_POLAR, FREESASA_ATOM_POLAR, FREESASA_ATOM_APOLAR, FREESASA_ATOM_APOLAR, FREESASA_ATOM_APOLAR, FREESASA_ATOM_APOLAR, FREESASA_ATOM_POLAR, };
static struct classifier_residue protor_ASN_cfg = {
    .name = "ASN", .n_atoms = 9,
    .atom_name = (char**) protor_ASN_atom_name,
    .atom_radius = (double*) protor_ASN_atom_radius,
    .atom_class = (freesasa_atom_class*) protor_ASN_atom_class,
    .max_area = {.name = "ASN", .total = 138.45, .main_chain = 43.80, .side_chain = 94.65, .polar = 93.13, .apolar = 45.32},
};

static const char *protor_ASP_atom_name[] = {"CB", "OXT", "O", "OD1", "OD2", "CG", "C", "N", "CA", };
static double protor_ASP_atom_radius[] = {1.88, 1.46, 1.42, 1.42, 1.46, 1.61, 1.61, 1.64, 1.88, };
static int protor_ASP_atom_class[] = {FREESASA_ATOM_APOLAR, FREESASA_ATOM_POLAR, FREESASA_ATOM_POLAR, FREESASA_ATOM_POLAR, FREESASA_ATOM_POLAR, FREESASA_ATOM_APOLAR, FREESASA_ATOM_APOLAR, FREESASA_ATOM_POLAR, FREESASA_ATOM_APOLAR, };
static struct classifier_residue protor_ASP_cfg = {
    .name = "ASP", .n_atoms = 9,
    .atom_name = (char**) protor_ASP_atom_name,
    .atom_radius = (double*) protor_ASP_atom_radius,
    .atom_class = (freesasa_atom_class*) protor_ASP_atom_class,
    .max_area = {.name = "ASP", .total = 135.76, .main_chain = 44.65, .side_chain = 91.11, .polar = 88.93, .apolar = 46.83},
};

static const char *protor_ASX_atom_name[] = {"CG", "C", "N", "CA", "XD1", "XD2", "O", "CB", "OXT", };
static double protor_ASX_atom_radius[] = {1.61, 1.61, 1.64, 1.88, 1.5, 1.5, 1.42, 1.88, 1.46, };
static int protor_ASX_atom_class[] = {FREESASA_ATOM_APOLAR, FREESASA_ATOM_APOLAR, FREESASA_ATOM_POLAR, FREESASA_ATOM_APOLAR, FREESASA_ATOM_POLAR, FREESASA_ATOM_POLAR, FREESASA_ATOM_POLAR, FREESASA_ATOM_APOLAR, FREESASA_ATOM_POLAR, };
static struct classifier_residue protor_ASX_cfg = {
    .name = "ASX", .n_atoms = 9,
    .atom_name = (char**) protor_ASX_atom_name,
    .atom_radius = (double*) protor_ASX_atom_radius,
    .atom_class = (freesasa_atom_class*) protor_ASX_atom_class,
    .max_area = {NULL, 0, 0, 0, 0, 0},
};

static const char *protor_C_atom_name[] = {"C1'", "O2", "C5", "C4", "O3'", "O5'", "OP2", "C4'", "C2", "C2'", "P", "N1", "C6", "O2'", "C5'", "N4", "OP3", "N3", "C3'", "O4'", "OP1", };
static double protor_C_atom_radius[] = {1.88, 1.42, 1.76, 1.61, 1.46, 1.46, 1.46, 1.88, 1.61, 1.88, 1.8, 1.64, 1.76, 1.46, 1.88, 1.64, 1.46, 1.64, 1.88, 1.46, 1.42, };
static int protor_C_atom_class[] = {FREESASA_ATOM_APOLAR, FREESASA_ATOM_POLAR, FREESASA_ATOM_APOLAR, FREESASA_ATOM_APOLAR, FREESASA_ATOM_POLAR, FREESASA_ATOM_POLAR, FREESASA_ATOM_POLAR, FREESASA_ATOM_APOLAR, FREESASA_ATOM_APOLAR, FREESASA_ATOM_APOLAR, FREESASA_ATOM_POLAR, FREESASA_ATOM_POLAR, FREESASA_ATOM_APOLAR, FREESASA_ATOM_POLAR, FREESASA_ATOM_APOLAR, FREESASA_ATOM_POLAR, FREESASA_ATOM_POLAR, FREESASA_ATOM_POLAR, FREESASA_ATOM_APOLAR, FREESASA_ATOM_POLAR, FREESASA_ATOM_POLAR, };
static struct classifier_residue protor_C_cfg = {
    .name = "C", .n_atoms = 21,
    .atom_name = (char**) protor_C_atom_name,
    .atom_radius = (double*) protor_C_atom_radius,
    .atom_class = (freesasa_atom_class*) protor_C_atom_class,
    .max_area = {NULL, 0, 0, 0, 0, 0},
};

static const char *protor_CYS_atom_name[] = {"OXT", "O", "CB", "CA", "SG", "N", "C", };
static double protor_CYS_atom_radius[] = {1.46, 1.42, 1.88, 1.88, 1.77, 1.64, 1.61, };
static int protor_CYS_atom_class[] = {FREESASA_ATOM_POLAR, FREESASA_ATOM_POLAR, FREESASA_ATOM_APOLAR, FREESASA_ATOM_APOLAR, FREESASA_ATOM_POLAR, FREESASA_ATOM_POLAR, FREESASA_ATOM_APOLAR, };
static struct classifier_residue protor_CYS_cfg = {
    .name = "CYS", .n_atoms = 7,
    .atom_name = (char**) protor_CYS_atom_name,
    .atom_radius = (double*) protor_CYS_atom_radius,
    .atom_class = (freesasa_atom_class*) protor_CYS_atom_class,
    .max_area = {.name = "CYS", .total = 125.02, .main_chain = 45.47, .side_chain = 79.55, .polar = 79.68, .apolar = 45.33},
};

static const char *protor_DA_atom_name[] = {"OP2", "N7", "C8", "C4'", "C2", "C5", "C1'", "O5'", "O3'", "C4", "C5'", "OP1", "N6", "O4'", "N9", "N3", "C3'", "OP3", "C2'", "C6", "P", "N1", };
static double protor_DA_atom_radius[] = {1.46, 1.64, 1.76, 1.88, 1.76, 1.61, 1.88, 1.46, 1.46, 1.61, 1.88, 1.42, 1.64, 1.46, 1.64, 1.64, 1.88, 1.46, 1.88, 1.61, 1.8, 1.64, };
static int protor_DA_atom_class[] = {FREESASA_ATOM_POLAR, FREESASA_ATOM_POLAR, FREESASA_ATOM_APOLAR, FREESASA_ATOM_APOLAR, FREESASA_ATOM_APOLAR, FREESASA_ATOM_APOLAR, FREESASA_ATOM_APOLAR, FREESASA_ATOM_POLAR, FREESASA_ATOM_POLAR, FREESASA_ATOM_APOLAR, FREESASA_ATOM_APOLAR, FREESASA_ATOM_POLAR, FREESASA_ATOM_POLAR, FREESASA_ATOM_POLAR, FREESASA_ATOM_POLAR, FREESASA_ATOM_POLAR, FREESASA_ATOM_APOLAR, FREESASA_ATOM_POLAR, FREESASA_ATOM_APOLAR, FREESASA_ATOM_APOLAR, FREESASA_ATOM_POLAR, FREESASA_ATOM_POLAR, };
static struct classifier_residue protor_DA_cfg = {
    .name = "DA", .n_atoms = 22,
    .atom_name = (char**) protor_DA_atom_name,
    .atom_radius = (double*) protor_DA_atom_radius,
    .atom_class = (freesasa_atom_class*) protor_DA_atom_class,
    .max_area = {NULL, 0, 0, 0, 0, 0},
};

static const char *protor_DC_atom_name[] = {"C2", "C4'", "OP2", "O5'", "C4", "O3'", "C5", "C1'", "O2", "OP1", "O4'", "C3'", "N3", "OP3", "N4", "C5'", "C6", "P", "N1", "C2'", };
static double protor_DC_atom_radius[] = {1.61, 1.88, 1.46, 1.46, 1.61, 1.46, 1.76, 1.88, 1.42, 1.42, 1.46, 1.88, 1.64, 1.46, 1.64, 1.88, 1.76, 1.8, 1.64, 1.88, };
static int protor_DC_atom_class[] = {FREESASA_ATOM_APOLAR, FREESASA_ATOM_APOLAR, FREESASA_ATOM_POLAR, FREESASA_ATOM_POLAR, FREESASA_ATOM_APOLAR, FREESASA_ATOM_POLAR, FREESASA_ATOM_APOLAR, FREESASA_ATOM_APOLAR, FREESASA_ATOM_POLAR, FREESASA_ATOM_POLAR, FREESASA_ATOM_POLAR, FREESASA_ATOM_APOLAR, FREESASA_ATOM_POLAR, FREESASA_ATOM_POLAR, FREESASA_ATOM_POLAR, FREESASA_ATOM_APOLAR, FREESASA_ATOM_APOLAR, FREESASA_ATOM_POLAR, FREESASA_ATOM_POLAR, FREESASA_ATOM_APOLAR, };
static struct classifier_residue protor_DC_cfg = {
    .name = "DC", .n_atoms = 20,
    .atom_name = (char**) protor_DC_atom_name,
    .atom_radius = (double*) protor_DC_atom_radius,
    .atom_class = (freesasa_atom_class*) protor_DC_atom_class,
    .max_area = {NULL, 0, 0, 0, 0, 0},
};

static const char *protor_DG_atom_name[] = {"O5'", "C4", "O3'", "N2", "C5", "C1'", "N7", "C8", "C4'", "C2", "OP2", "C6", "N1", "P", "C2'", "OP1", "O4'", "N9", "N3", "C3'", "OP3", "C5'", "O6", };
static double protor_DG_atom_radius[] = {1.46, 1.61, 1.46, 1.64, 1.61, 1.88, 1.64, 1.76, 1.88, 1.61, 1.46, 1.61, 1.64, 1.8, 1.88, 1.42, 1.46, 1.64, 1.64, 1.88, 1.46, 1.88, 1.42, };
static int protor_DG_atom_class[] = {FREESASA_ATOM_POLAR, FREESASA_ATOM_APOLAR, FREESASA_ATOM_POLAR, FREESASA_ATOM_POLAR, FREESASA_ATOM_APOLAR, FREESASA_ATOM_APOLAR, FREESASA_ATOM_POLAR, FREESASA_ATOM_APOLAR, FREESASA_ATOM_APOLAR, FREESASA_ATOM_APOLAR, FREESASA_ATOM_POLAR, FREESASA_ATOM_APOLAR, FREESASA_ATOM_POLAR, FREESASA_ATOM_POLAR, FREESASA_ATOM_APOLAR, FREESASA_ATOM_POLAR, FREESASA_ATOM_POLAR, FREESASA_ATOM_POLAR, FREESASA_ATOM_POLAR, FREESASA_ATOM_APOLAR, FREESASA_ATOM_POLAR, FREESASA_ATOM_APOLAR, FREESASA_ATOM_POLAR, };
static struct classifier_residue protor_DG_cfg = {
    .name = "DG", .n_atoms = 23,
    .atom_name = (char**) protor_DG_atom_name,
    .atom_radius = (double*) protor_DG_atom_radius,
    .atom_class = (freesasa_atom_class*) protor_DG_atom_class,
    .max_area = {NULL, 0, 0, 0, 0, 0},
};

static const char *protor_DI_atom_name[] = {"O5'", "C4", "O3'", "C5", "C1'", "N7", "C2", "C4'", "C8", "OP2", "N1", "P", "C6", "C2'", "N9", "O4'", "OP1", "OP3", "N3", "C3'", "O6", "C5'", };
static double protor_DI_atom_radius[] = {1.46, 1.61, 1.46, 1.61, 1.88, 1.64, 1.76, 1.88, 1.76, 1.46, 1.64, 1.8, 1.61, 1.88, 1.64, 1.46, 1.42, 1.46, 1.64, 1.88, 1.42, 1.88, };
static int protor_DI_atom_class[] = {FREESASA_ATOM_POLAR, FREESASA_ATOM_APOLAR, FREESASA_ATOM_POLAR, FREESASA_ATOM_APOLAR, FREESASA_ATOM_APOLAR, FREESASA_ATOM_POLAR, FREESASA_ATOM_APOLAR, FREESASA_ATOM_APOLAR, FREESASA_ATOM_APOLAR, FREESASA_ATOM_POLAR, FREESASA_ATOM_POLAR, FREESASA_ATOM_POLAR, FREESASA_ATOM_APOLAR, FREESASA_ATOM_APOLAR, FREESASA_ATOM_POLAR, FREESASA_ATOM_POLAR, FREESASA_ATOM_POLAR, FREESASA_ATOM_POLAR, FREESASA_ATOM_POLAR, FREESASA_ATOM_APOLAR, FREESASA_ATOM_POLAR, FREESASA_ATOM_APOLAR, };
static struct classifier_residue protor_DI_cfg = {
    .name = "DI", .n_atoms = 22,
    .atom_name = (char**) protor_DI_atom_name,
    .atom_radius = (double*) protor_DI_atom_radius,
    .atom_class = (freesasa_atom_class*) protor_DI_atom_class,
    .max_area = {NULL, 0, 0, 0, 0, 0},
};

static const char *protor_DT_atom_name[] = {"C6", "P", "N1", "C7", "C2'", "OP1", "O4'", "N3", "C3'", "OP3", "C5'", "O5'", "O4", "C4", "O3'", "C5", "O2", "C1'", "C4'", "C2", "OP2", };
static double protor_DT_atom_radius[] = {1.76, 1.8, 1.64, 1.88, 1.88, 1.42, 1.46, 1.64, 1.88, 1.46, 1.88, 1.46, 1.42, 1.61, 1.46, 1.61, 1.42, 1.88, 1.88, 1.61, 1.46, };
static int protor_DT_atom_class[] = {FREESASA_ATOM_APOLAR, FREESASA_ATOM_POLAR, FREESASA_ATOM_POLAR, FREESASA_ATOM_APOLAR, FREESASA_ATOM_APOLAR, FREESASA_ATOM_POLAR, FREESASA_ATOM_POLAR, FREESASA_ATOM_POLAR, FREESASA_ATOM_APOLAR, FREESASA_ATOM_POLAR, FREESASA_ATOM_APOLAR, FREESASA_ATOM_POLAR, FREESASA_ATOM_POLAR, FREESASA_ATOM_APOLAR, FREESASA_ATOM_POLAR, FREESASA_ATOM_APOLAR, FREESASA_ATOM_POLAR, FREESASA_ATOM_APOLAR, FREESASA_ATOM_APOLAR, FREESASA_ATOM_APOLAR, FREESASA_ATOM_POLAR, };
static struct classifier_residue protor_DT_cfg = {
    .name = "DT", .n_atoms = 21,
    .atom_name = (char**) protor_DT_atom_name,
    .atom_radius = (double*) protor_DT_atom_radius,
    .atom_class = (freesasa_atom_class*) protor_DT_atom_class,
    .max_area = {NULL, 0, 0, 0, 0, 0},
};

static const char *protor_DU_atom_name[] = {"OP3", "C3'", "N3", "O4'", "OP1", "C5'", "P", "N1", "C6", "C2'", "C2", "C4'", "OP2", "O3'", "C4", "O4", "O5'", "O2", "C1'", "C5", };
static double protor_DU_atom_radius[] = {1.46, 1.88, 1.64, 1.46, 1.42, 1.88, 1.8, 1.64, 1.76, 1.88, 1.61, 1.88, 1.46, 1.46, 1.61, 1.42, 1.46, 1.42, 1.88, 1.76, };
static int protor_DU_atom_class[] = {FREESASA_ATOM_POLAR, FREESASA_ATOM_APOLAR, FREESASA_ATOM_POLAR, FREESASA_ATOM_POLAR, FREESASA_ATOM_POLAR, FREESASA_ATOM_APOLAR, FREESASA_ATOM_POLAR, FREESASA_ATOM_POLAR, FREESASA_ATOM_APOLAR, FREESASA_ATOM_APOLAR, FREESASA_ATOM_APOLAR, FREESASA_ATOM_APOLAR, FREESASA_ATOM_POLAR, FREESASA_ATOM_POLAR, FREESASA_ATOM_APOLAR, FREESASA_ATOM_POLAR, FREESASA_ATOM_POLAR, FREESASA_ATOM_POLAR, FREESASA_ATOM_APOLAR, FREESASA_ATOM_APOLAR, };
static struct classifier_residue protor_DU_cfg = {
    .name = "DU", .n_atoms = 20,
    .atom_name = (char**) protor_DU_atom_name,
    .atom_radius = (double*) protor_DU_atom_radius,
    .atom_class = (freesasa_atom_class*) protor_DU_atom_class,
    .max_area = {NULL, 0, 0, 0, 0, 0},
};

static const char *protor_G_atom_name[] = {"C1'", "C5", "N2", "C4", "O3'", "O5'", "OP2", "C8", "C2", "C4'", "N7", "C2'", "C6", "N1", "P", "O2'", "O6", "C5'", "N3", "C3'", "OP3", "OP1", "N9", "O4'", };
static double protor_G_atom_radius[] = {1.88, 1.61, 1.64, 1.61, 1.46, 1.46, 1.46, 1.76, 1.61, 1.88, 1.64, 1.88, 1.61, 1.64, 1.8, 1.46, 1.42, 1.88, 1.64, 1.88, 1.46, 1.42, 1.64, 1.46, };
static int protor_G_atom_class[] = {FREESASA_ATOM_APOLAR, FREESASA_ATOM_APOLAR, FREESASA_ATOM_POLAR, FREESASA_ATOM_APOLAR, FREESASA_ATOM_POLAR, FREESASA_ATOM_POLAR, FREESASA_ATOM_POLAR, FREESASA_ATOM_APOLAR, FREESASA_ATOM_APOLAR, FREESASA_ATOM_APOLAR, FREESASA_ATOM_POLAR, FREESASA_ATOM_APOLAR, FREESASA_ATOM_APOLAR, FREESASA_ATOM_POLAR, FREESASA_ATOM_POLAR, FREESASA_ATOM_POLAR, FREESASA_ATOM_POLAR, FREESASA_ATOM_APOLAR, FREESASA_ATOM_POLAR, FREESASA_ATOM_APOLAR, FREESASA_ATOM_POLAR, FREESASA_ATOM_POLAR, FREESASA_ATOM_POLAR, FREESASA_ATOM_POLAR, };
static struct classifier_residue protor_G_cfg = {
    .name = "G", .n_atoms = 24,
    .atom_name = (char**) protor_G_atom_name,
    .atom_radius = (double*) protor_G_atom_radius,
    .atom_class = (freesasa_atom_class*) protor_G_atom_class,
    .max_area = {NULL, 0, 0, 0, 0, 0},
};

static const char *protor_GLN_atom_name[] = {"O", "NE2", "CA", "C", "CG", "N", "CB", "OXT", "CD", "OE1", };
static double protor_GLN_atom_radius[] = {1.42, 1.64, 1.88, 1.61, 1.88, 1.64, 1.88, 1.46, 1.61, 1.42, };
static int protor_GLN_atom_class[] = {FREESASA_ATOM_POLAR, FREESASA_ATOM_POLAR, FREESASA_ATOM_APOLAR, FREESASA_ATOM_APOLAR, FREESASA_ATOM_APOLAR, FREESASA_ATOM_POLAR, FREESASA_ATOM_APOLAR, FREESASA_ATOM_POLAR, FREESASA_ATOM_APOLAR, FREESASA_ATOM_POLAR, };
static struct classifier_residue protor_GLN_cfg = {
    .name = "GLN", .n_atoms = 10,
    .atom_name = (char**) protor_GLN_atom_name,
    .atom_radius = (double*) protor_GLN_atom_radius,
    .atom_class = (freesasa_atom_class*) protor_GLN_atom_class,
    .max_area = {.name = "GLN", .total = 172.69, .main_chain = 45.09, .side_chain = 127.60, .polar = 123.13, .apolar = 49.56},
};

static const char *protor_GLU_atom_name[] = {"CB", "OXT", "OE2", "CD", "OE1", "O", "C", "CG", "N", "CA", };
static double protor_GLU_atom_radius[] = {1.88, 1.46, 1.46, 1.61, 1.42, 1.42, 1.61, 1.88, 1.64, 1.88, };
static int protor_GLU_atom_class[] = {FREESASA_ATOM_APOLAR, FREESASA_ATOM_POLAR, FREESASA_ATOM_POLAR, FREESASA_ATOM_APOLAR, FREESASA_ATOM_POLAR, FREESASA_ATOM_POLAR, FREESASA_ATOM_APOLAR, FREESASA_ATOM_APOLAR, FREESASA_ATOM_POLAR, FREESASA_ATOM_APOLAR, };
static struct classifier_residue protor_GLU_cfg = {
    .name = "GLU", .n_atoms = 10,
    .atom_name = (char**) protor_GLU_atom_name,
    .atom_radius = (double*) protor_GLU_atom_radius,
    .atom_class = (freesasa_atom_class*) protor_GLU_atom_class,
    .max_area = {.name = "GLU", .total = 167.95, .main_chain = 45.12, .side_chain = 122.83, .polar = 113.74, .apolar = 54.21},
};

static const char *protor_GLX_atom_name[] = {"XE2", "OXT", "CB", "CD", "XE1", "O", "CG", "N", "C", "CA", };
static double protor_GLX_atom_radius[] = {1.5, 1.46, 1.88, 1.61, 1.5, 1.42, 1.88, 1.64, 1.61, 1.88, };
static int protor_GLX_atom_class[] = {FREESASA_ATOM_POLAR, FREESASA_ATOM_POLAR, FREESASA_ATOM_APOLAR, FREESASA_ATOM_APOLAR, FREESASA_ATOM_POLAR, FREESASA_ATOM_POLAR, FREESASA_ATOM_APOLAR, FREESASA_ATOM_POLAR, FREESASA_ATOM_APOLAR, FREESASA_ATOM_APOLAR, };
static struct classifier_residue protor_GLX_cfg = {
    .name = "GLX", .n_atoms = 10,
    .atom_name = (char**) protor_GLX_atom_name,
    .atom_radius = (double*) protor_GLX_atom_radius,
    .atom_class = (freesasa_atom_class*) protor_GLX_atom_class,
    .max_area = {NULL, 0, 0, 0, 0, 0},
};

static const char *protor_GLY_atom_name[] = {"OXT", "O", "CA", "C", "N", };
static double protor_GLY_atom_radius[] = {1.46, 1.42, 1.88, 1.61, 1.64, };
static int protor_GLY_atom_class[] = {FREESASA_ATOM_POLAR, FREESASA_ATOM_POLAR, FREESASA_ATOM_APOLAR, FREESASA_ATOM_APOLAR, FREESASA_ATOM_POLAR, };
static struct classifier_residue protor_GLY_cfg = {
    .name = "GLY", .n_atoms = 5,
    .atom_name = (char**) protor_GLY_atom_name,
    .atom_radius = (double*) protor_GLY_atom_radius,
    .atom_class = (freesasa_atom_class*) protor_GLY_atom_class,
    .max_area = {.name = "GLY", .total = 71.84, .main_chain = 71.84, .side_chain = 0.00, .polar = 31.58, .apolar = 40.26},
};

static const char *protor_HIS_atom_name[] = {"ND1", "NE2", "O", "N", "CG", "C", "CA", "CD2", "OXT", "CB", "CE1", };
static double protor_HIS_atom_radius[] = {1.64, 1.64, 1.42, 1.64, 1.61, 1.61, 1.88, 1.76, 1.46, 1.88, 1.76, };
static int protor_HIS_atom_class[] = {FREESASA_ATOM_POLAR, FREESASA_ATOM_POLAR, FREESASA_ATOM_POLAR, FREESASA_ATOM_POLAR, FREESASA_ATOM_APOLAR, FREESASA_ATOM_APOLAR, FREESASA_ATOM_APOLAR, FREESASA_ATOM_APOLAR, FREESASA_ATOM_POLAR, FREESASA_ATOM_APOLAR, FREESASA_ATOM_APOLAR, };
static struct classifier_residue protor_HIS_cfg = {
    .name = "HIS", .n_atoms = 11,
    .atom_name = (char**) protor_HIS_atom_name,
    .atom_radius = (double*) protor_HIS_atom_radius,
    .atom_class = (freesasa_atom_class*) protor_HIS_atom_class,
    .max_area = {.name = "HIS", .total = 173.43, .main_chain = 44.26, .side_chain = 129.18, .polar = 69.25, .apolar = 104.18},
};

static const char *protor_HOH_atom_name[] = {"O", };
static double protor_HOH_atom_radius[] = {1.46, };
static int protor_HOH_atom_class[] = {FREESASA_ATOM_POLAR, };
static struct classifier_residue protor_HOH_cfg = {
    .name = "HOH", .n_atoms = 1,
    .atom_name = (char**) protor_HOH_atom_name,
    .atom_radius = (double*) protor_HOH_atom_radius,
    .atom_class = (freesasa_atom_class*) protor_HOH_atom_class,
    .max_area = {NULL, 0, 0, 0, 0, 0},
};

static const char *protor_I_atom_name[] = {"O5'", "O3'", "C4", "C5", "C1'", "N7", "C8", "C2", "C4'", "OP2", "C6", "P", "N1", "C2'", "OP1", "O4'", "N9", "C3'", "N3", "OP3", "O6", "C5'", "O2'", };
static double protor_I_atom_radius[] = {1.46, 1.46, 1.61, 1.61, 1.88, 1.64, 1.76, 1.76, 1.88, 1.46, 1.61, 1.8, 1.64, 1.88, 1.42, 1.46, 1.64, 1.88, 1.64, 1.46, 1.42, 1.88, 1.46, };
static int protor_I_atom_class[] = {FREESASA_ATOM_POLAR, FREESASA_ATOM_POLAR, FREESASA_ATOM_APOLAR, FREESASA_ATOM_APOLAR, FREESASA_ATOM_APOLAR, FREESASA_ATOM_POLAR, FREESASA_ATOM_APOLAR, FREESASA_ATOM_APOLAR, FREESASA_ATOM_APOLAR, FREESASA_ATOM_POLAR, FREESASA_ATOM_APOLAR, FREESASA_ATOM_POLAR, FREESASA_ATOM_POLAR, FREESASA_ATOM_APOLAR, FREESASA_ATOM_POLAR, FREESASA_ATOM_POLAR, FREESASA_ATOM_POLAR, FREESASA_ATOM_APOLAR, FREESASA_ATOM_POLAR, FREESASA_ATOM_POLAR, FREESASA_ATOM_POLAR, FREESASA_ATOM_APOLAR, FREESASA_ATOM_POLAR, };
static struct classifier_residue protor_I_cfg = {
    .name = "I", .n_atoms = 23,
    .atom_name = (char**) protor_I_atom_name,
    .atom_radius = (double*) protor_I_atom_radius,
    .atom_class = (freesasa_atom_class*) protor_I_atom_class,
    .max_area = {NULL, 0, 0, 0, 0, 0},
};

static const char *protor_ILE_atom_name[] = {"C", "N", "CA", "O", "CD1", "CG1", "CB", "OXT", "CG2", };
static double protor_ILE_atom_radius[] = {1.61, 1.64, 1.88, 1.42, 1.88, 1.88, 1.88, 1.46, 1.88, };
static int protor_ILE_atom_class[] = {FREESASA_ATOM_APOLAR, FREESASA_ATOM_POLAR, FREESASA_ATOM_APOLAR, FREESASA_ATOM_POLAR, FREESASA_ATOM_APOLAR, FREESASA_ATOM_APOLAR, FREESASA_ATOM_APOLAR, FREESASA_ATOM_POLAR, FREESASA_ATOM_APOLAR, };
static struct classifier_residue protor_ILE_cfg = {
    .name = "ILE", .n_atoms = 9,
    .atom_name = (char**) protor_ILE_atom_name,
    .atom_radius = (double*) protor_ILE_atom_radius,
    .atom_class = (freesasa_atom_class*) protor_ILE_atom_class,
    .max_area = {.name = "ILE", .total = 167.30, .main_chain = 39.09, .side_chain = 128.22, .polar = 24.70, .apolar = 142.60},
};

static const char *protor_LEU_atom_name[] = {"CG", "C", "N", "CD2", "CA", "O", "CD1", "OXT", "CB", };
static double protor_LEU_atom_radius[] = {1.88, 1.61, 1.64, 1.88, 1.88, 1.42, 1.88, 1.46, 1.88, };
static int protor_LEU_atom_class[] = {FREESASA_ATOM_APOLAR, FREESASA_ATOM_APOLAR, FREESASA_ATOM_POLAR, FREESASA_ATOM_APOLAR, FREESASA_ATOM_APOLAR, FREESASA_ATOM_POLAR, FREESASA_ATOM_APOLAR, FREESASA_ATOM_POLAR, FREESASA_ATOM_APOLAR, };
static struct classifier_residue protor_LEU_cfg = {
    .name = "LEU", .n_atoms = 9,
    .atom_name = (char**) protor_LEU_atom_name,
    .atom_radius = (double*) protor_LEU_atom_radius,
    .atom_class = (freesasa_atom_class*) protor_LEU_atom_class,
    .max_area = {.name = "LEU", .total = 160.87, .main_chain = 44.85, .side_chain = 116.01, .polar = 29.89, .apolar = 130.98},
};

static const char *protor_LYS_atom_name[] = {"CD", "NZ", "CB", "OXT", "CA", "C", "CG", "N", "O", "CE", };
static double protor_LYS_atom_radius[] = {1.88, 1.64, 1.88, 1.46, 1.88, 1.61, 1.88, 1.64, 1.42, 1.88, };
static int protor_LYS_atom_class[] = {FREESASA_ATOM_APOLAR, FREESASA_ATOM_POLAR, FREESASA_ATOM_APOLAR, FREESASA_ATOM_POLAR, FREESASA_ATOM_APOLAR, FREESASA_ATOM_APOLAR, FREESASA_ATOM_APOLAR, FREESASA_ATOM_POLAR, FREESASA_ATOM_POLAR, FREESASA_ATOM_APOLAR, };
static struct classifier_residue protor_LYS_cfg = {
    .name = "LYS", .n_atoms = 10,
    .atom_name = (char**) protor_LYS_atom_name,
    .atom_radius = (double*) protor_LYS_atom_radius,
    .atom_class = (freesasa_atom_class*) protor_LYS_atom_class,
    .max_area = {.name = "LYS", .total = 197.47, .main_chain = 45.10, .side_chain = 152.38, .polar = 87.44, .apolar = 110.04},
};

static const char *protor_MET_atom_name[] = {"CE", "SD", "O", "CA", "C", "CG", "N", "OXT", "CB", };
static double protor_MET_atom_radius[] = {1.88, 1.77, 1.42, 1.88, 1.61, 1.88, 1.64, 1.46, 1.88, };
static int protor_MET_atom_class[] = {FREESASA_ATOM_APOLAR, FREESASA_ATOM_POLAR, FREESASA_ATOM_POLAR, FREESASA_ATOM_APOLAR, FREESASA_ATOM_APOLAR, FREESASA_ATOM_APOLAR, FREESASA_ATOM_POLAR, FREESASA_ATOM_POLAR, FREESASA_ATOM_APOLAR, };
static struct classifier_residue protor_MET_cfg = {
    .name = "MET", .n_atoms = 9,
    .atom_name = (char**) protor_MET_atom_name,
    .atom_radius = (double*) protor_MET_atom_radius,
    .atom_class = (freesasa_atom_class*) protor_MET_atom_class,
    .max_area = {.name = "MET", .total = 185.43, .main_chain = 45.08, .side_chain = 140.35, .polar = 67.61, .apolar = 117.83},
};

static const char *protor_NH2_atom_name[] = {"N", };
static double protor_NH2_atom_radius[] = {1.64, };
static int protor_NH2_atom_class[] = {FREESASA_ATOM_POLAR, };
static struct classifier_residue protor_NH2_cfg = {
    .name = "NH2", .n_atoms = 1,
    .atom_name = (char**) protor_NH2_atom_name,
    .atom_radius = (double*) protor_NH2_atom_radius,
    .atom_class = (freesasa_atom_class*) protor_NH2_atom_class,
    .max_area = {NULL, 0, 0, 0, 0, 0},
};

static const char *protor_PHE_atom_name[] = {"CZ", "O", "CE2", "CD2", "CA", "C", "CG", "N", "OXT", "CE1", "CB", "CD1", };
static double protor_PHE_atom_radius[] = {1.76, 1.42, 1.76, 1.76, 1.88, 1.61, 1.61, 1.64, 1.46, 1.76, 1.88, 1.76, };
static int protor_PHE_atom_class[] = {FREESASA_ATOM_APOLAR, FREESASA_ATOM_POLAR, FREESASA_ATOM_APOLAR, FREESASA_ATOM_APOLAR, FREESASA_ATOM_APOLAR, FREESASA_ATOM_APOLAR, FREESASA_ATOM_APOLAR, FREESASA_ATOM_POLAR, FREESASA_ATOM_POLAR, FREESASA_ATOM_APOLAR, FREESASA_ATOM_APOLAR, FREESASA_ATOM_APOLAR, };
static struct classifier_residue protor_PHE_cfg = {
    .name = "PHE", .n_atoms = 12,
    .atom_name = (char**) protor_PHE_atom_name,
    .atom_radius = (double*) protor_PHE_atom_radius,
    .atom_class = (freesasa_atom_class*) protor_PHE_atom_class,
    .max_area = {.name = "PHE", .total = 193.68, .main_chain = 43.52, .side_chain = 150.16, .polar = 29.89, .apolar = 163.79},
};

static const char *protor_PRO_atom_name[] = {"CD", "OXT", "CB", "CG", "N", "C", "CA", "O", };
static double protor_PRO_atom_radius[] = {1.88, 1.46, 1.88, 1.88, 1.64, 1.61, 1.88, 1.42, };
static int protor_PRO_atom_class[] = {FREESASA_ATOM_APOLAR, FREESASA_ATOM_POLAR, FREESASA_ATOM_APOLAR, FREESASA_ATOM_APOLAR, FREESASA_ATOM_POLAR, FREESASA_ATOM_APOLAR, FREESASA_ATOM_APOLAR, FREESASA_ATOM_POLAR, };
static struct classifier_residue protor_PRO_cfg = {
    .name = "PRO", .n_atoms = 8,
    .atom_name = (char**) protor_PRO_atom_name,
    .atom_radius = (double*) protor_PRO_atom_radius,
    .atom_class = (freesasa_atom_class*) protor_PRO_atom_class,
    .max_area = {.name = "PRO", .total = 132.32, .main_chain = 29.83, .side_chain = 102.49, .polar = 16.16, .apolar = 116.16},
};

static const char *protor_PYL_atom_name[] = {"CB2", "N2", "O2", "C2", "CE2", "CE", "CD", "NZ", "CB", "OXT", "CA2", "CG2", "N", "CG", "C", "CA", "CD2", "O", };
static double protor_PYL_atom_radius[] = {1.88, 1.64, 1.42, 1.61, 1.76, 1.88, 1.88, 1.64, 1.88, 1.46, 1.88, 1.88, 1.64, 1.88, 1.61, 1.88, 1.88, 1.42, };
static int protor_PYL_atom_class[] = {FREESASA_ATOM_APOLAR, FREESASA_ATOM_POLAR, FREESASA_ATOM_POLAR, FREESASA_ATOM_APOLAR, FREESASA_ATOM_APOLAR, FREESASA_ATOM_APOLAR, FREESASA_ATOM_APOLAR, FREESASA_ATOM_POLAR, FREESASA_ATOM_APOLAR, FREESASA_ATOM_POLAR, FREESASA_ATOM_APOLAR, FREESASA_ATOM_APOLAR, FREESASA_ATOM_POLAR, FREESASA_ATOM_APOLAR, FREESASA_ATOM_APOLAR, FREESASA_ATOM_APOLAR, FREESASA_ATOM_APOLAR, FREESASA_ATOM_POLAR, };
static struct classifier_residue protor_PYL_cfg = {
    .name = "PYL", .n_atoms = 18,
    .atom_name = (char**) protor_PYL_atom_name,
    .atom_radius = (double*) protor_PYL_atom_radius,
    .atom_class = (freesasa_atom_class*) protor_PYL_atom_class,
    .max_area = {NULL, 0, 0, 0, 0, 0},
};

static const char *protor_SEC_atom_name[] = {"CA", "C", "N", "SE", "CB", "O", "OXT", };
static double protor_SEC_atom_radius[] = {1.88, 1.61, 1.64, 1.9, 1.88, 1.42, 1.46, };
static int protor_SEC_atom_class[] = {FREESASA_ATOM_APOLAR, FREESASA_ATOM_APOLAR, FREESASA_ATOM_POLAR, FREESASA_ATOM_POLAR, FREESASA_ATOM_APOLAR, FREESASA_ATOM_POLAR, FREESASA_ATOM_POLAR, };
static struct classifier_residue protor_SEC_cfg = {
    .name = "SEC", .n_atoms = 7,
    .atom_name = (char**) protor_SEC_atom_name,
    .atom_radius = (double*) protor_SEC_atom_radius,
    .atom_class = (freesasa_atom_class*) protor_SEC_atom_class,
    .max_area = {NULL, 0, 0, 0, 0, 0},
};

static const char *protor_SER_atom_name[] = {"CB", "O", "OXT", "CA", "N", "C", "OG", };
static double protor_SER_atom_radius[] = {1.88, 1.42, 1.46, 1.88, 1.64, 1.61, 1.46, };
static int protor_SER_atom_class[] = {FREESASA_ATOM_APOLAR, FREESASA_ATOM_POLAR, FREESASA_ATOM_POLAR, FREESASA_ATOM_APOLAR, FREESASA_ATOM_POLAR, FREESASA_ATOM_APOLAR, FREESASA_ATOM_POLAR, };
static struct classifier_residue protor_SER_cfg = {
    .name = "SER", .n_atoms = 7,
    .atom_name = (char**) protor_SER_atom_name,
    .atom_radius = (double*) protor_SER_atom_radius,
    .atom_class = (freesasa_atom_class*) protor_SER_atom_class,
    .max_area = {.name = "SER", .total = 111.49, .main_chain = 46.10, .side_chain = 65.39, .polar = 58.63, .apolar = 52.86},
};

static const char *protor_T_atom_name[] = {"C5'", "N3", "C3'", "OP3", "OP1", "O4'", "C2'", "C7", "C6", "N1", "P", "OP2", "C4'", "C2", "C1'", "O2", "C5", "O4", "C4", "O3'", "O5'", };
static double protor_T_atom_radius[] = {1.88, 1.64, 1.88, 1.46, 1.42, 1.46, 1.88, 1.88, 1.76, 1.64, 1.8, 1.46, 1.88, 1.61, 1.88, 1.42, 1.61, 1.42, 1.61, 1.46, 1.46, };
static int protor_T_atom_class[] = {FREESASA_ATOM_APOLAR, FREESASA_ATOM_POLAR, FREESASA_ATOM_APOLAR, FREESASA_ATOM_POLAR, FREESASA_ATOM_POLAR, FREESASA_ATOM_POLAR, FREESASA_ATOM_APOLAR, FREESASA_ATOM_APOLAR, FREESASA_ATOM_APOLAR, FREESASA_ATOM_POLAR, FREESASA_ATOM_POLAR, FREESASA_ATOM_POLAR, FREESASA_ATOM_APOLAR, FREESASA_ATOM_APOLAR, FREESASA_ATOM_APOLAR, FREESASA_ATOM_POLAR, FREESASA_ATOM_APOLAR, FREESASA_ATOM_POLAR, FREESASA_ATOM_APOLAR, FREESASA_ATOM_POLAR, FREESASA_ATOM_POLAR, };
static struct classifier_residue protor_T_cfg = {
    .name = "T", .n_atoms = 21,
    .atom_name = (char**) protor_T_atom_name,
    .atom_radius = (double*) protor_T_atom_radius,
    .atom_class = (freesasa_atom_class*) protor_T_atom_class,
    .max_area = {NULL, 0, 0, 0, 0, 0},
};

static const char *protor_THR_atom_name[] = {"O", "CA", "C", "N", "CB", "CG2", "OXT", "OG1", };
static double protor_THR_atom_radius[] = {1.42, 1.88, 1.61, 1.64, 1.88, 1.88, 1.46, 1.46, };
static int protor_THR_atom_class[] = {FREESASA_ATOM_POLAR, FREESASA_ATOM_APOLAR, FREESASA_ATOM_APOLAR, FREESASA_ATOM_POLAR, FREESASA_ATOM_APOLAR, FREESASA_ATOM_APOLAR, FREESASA_ATOM_POLAR, FREESASA_ATOM_POLAR, };
static struct classifier_residue protor_THR_cfg = {
    .name = "THR", .n_atoms = 8,
    .atom_name = (char**) protor_THR_atom_name,
    .atom_radius = (double*) protor_THR_atom_radius,
    .atom_class = (freesasa_atom_class*) protor_THR_atom_class,
    .max_area = {.name = "THR", .total = 133.09, .main_chain = 40.38, .side_chain = 92.71, .polar = 49.91, .apolar = 83.18},
};

static const char *protor_TRP_atom_name[] = {"CB", "OXT", "CZ2", "NE1", "CE3", "CD1", "CH2", "CZ3", "O", "CE2", "CG", "N", "C", "CA", "CD2", };
static double protor_TRP_atom_radius[] = {1.88, 1.46, 1.76, 1.64, 1.76, 1.76, 1.76, 1.76, 1.42, 1.61, 1.61, 1.64, 1.61, 1.88, 1.61, };
static int protor_TRP_atom_class[] = {FREESASA_ATOM_APOLAR, FREESASA_ATOM_POLAR, FREESASA_ATOM_APOLAR, FREESASA_ATOM_POLAR, FREESASA_ATOM_APOLAR, FREESASA_ATOM_APOLAR, FREESASA_ATOM_APOLAR, FREESASA_ATOM_APOLAR, FREESASA_ATOM_POLAR, FREESASA_ATOM_APOLAR, FREESASA_ATOM_APOLAR, FREESASA_ATOM_POLAR, FREESASA_ATOM_APOLAR, FREESASA_ATOM_APOLAR, FREESASA_ATOM_APOLAR, };
static struct classifier_residue protor_TRP_cfg = {
    .name = "TRP", .n_atoms = 15,
    .atom_name = (char**) protor_TRP_atom_name,
    .atom_radius = (double*) protor_TRP_atom_radius,
    .atom_class = (freesasa_atom_class*) protor_TRP_atom_class,
    .max_area = {.name = "TRP", .total = 226.55, .main_chain = 40.50, .side_chain = 186.05, .polar = 61.19, .apolar = 165.37},
};

static const char *protor_TYR_atom_name[] = {"CB", "CE1", "OXT", "CD1", "CE2", "O", "OH", "CZ", "CA", "CD2", "CG", "C", "N", };
static double protor_TYR_atom_radius[] = {1.88, 1.76, 1.46, 1.76, 1.76, 1.42, 1.46, 1.61, 1.88, 1.76, 1.61, 1.61, 1.64, };
static int protor_TYR_atom_class[] = {FREESASA_ATOM_APOLAR, FREESASA_ATOM_APOLAR, FREESASA_ATOM_POLAR, FREESASA_ATOM_APOLAR, FREESASA_ATOM_APOLAR, FREESASA_ATOM_POLAR, FREESASA_ATOM_POLAR, FREESASA_ATOM_APOLAR, FREESASA_ATOM_APOLAR, FREESASA_ATOM_APOLAR, FREESASA_ATOM_APOLAR, FREESASA_ATOM_APOLAR, FREESASA_ATOM_POLAR, };
static struct classifier_residue protor_TYR_cfg = {
    .name = "TYR", .n_atoms = 13,
    .atom_name = (char**) protor_TYR_atom_name,
    .atom_radius = (double*) protor_TYR_atom_radius,
    .atom_class = (freesasa_atom_class*) protor_TYR_atom_class,
    .max_area = {.name = "TYR", .total = 208.08, .main_chain = 43.49, .side_chain = 164.58, .polar = 76.46, .apolar = 131.62},
};

static const char *protor_U_atom_name[] = {"OP2", "C4'", "C2", "C1'", "O2", "C5", "C4", "O3'", "O4", "O5'", "O2'", "C5'", "OP3", "C3'", "N3", "O4'", "OP1", "C2'", "N1", "P", "C6", };
static double protor_U_atom_radius[] = {1.46, 1.88, 1.61, 1.88, 1.42, 1.76, 1.61, 1.46, 1.42, 1.46, 1.46, 1.88, 1.46, 1.88, 1.64, 1.46, 1.42, 1.88, 1.64, 1.8, 1.76, };
static int protor_U_atom_class[] = {FREESASA_ATOM_POLAR, FREESASA_ATOM_APOLAR, FREESASA_ATOM_APOLAR, FREESASA_ATOM_APOLAR, FREESASA_ATOM_POLAR, FREESASA_ATOM_APOLAR, FREESASA_ATOM_APOLAR, FREESASA_ATOM_POLAR, FREESASA_ATOM_POLAR, FREESASA_ATOM_POLAR, FREESASA_ATOM_POLAR, FREESASA_ATOM_APOLAR, FREESASA_ATOM_POLAR, FREESASA_ATOM_APOLAR, FREESASA_ATOM_POLAR, FREESASA_ATOM_POLAR, FREESASA_ATOM_POLAR, FREESASA_ATOM_APOLAR, FREESASA_ATOM_POLAR, FREESASA_ATOM_POLAR, FREESASA_ATOM_APOLAR, };
static struct classifier_residue protor_U_cfg = {
    .name = "U", .n_atoms = 21,
    .atom_name = (char**) protor_U_atom_name,
    .atom_radius = (double*) protor_U_atom_radius,
    .atom_class = (freesasa_atom_class*) protor_U_atom_class,
    .max_area = {NULL, 0, 0, 0, 0, 0},
};

static const char *protor_VAL_atom_name[] = {"CG2", "OXT", "CB", "CG1", "CA", "N", "C", "O", };
static double protor_VAL_atom_radius[] = {1.88, 1.46, 1.88, 1.88, 1.88, 1.64, 1.61, 1.42, };
static int protor_VAL_atom_class[] = {FREESASA_ATOM_APOLAR, FREESASA_ATOM_POLAR, FREESASA_ATOM_APOLAR, FREESASA_ATOM_APOLAR, FREESASA_ATOM_APOLAR, FREESASA_ATOM_POLAR, FREESASA_ATOM_APOLAR, FREESASA_ATOM_POLAR, };
static struct classifier_residue protor_VAL_cfg = {
    .name = "VAL", .n_atoms = 8,
    .atom_name = (char**) protor_VAL_atom_name,
    .atom_radius = (double*) protor_VAL_atom_radius,
    .atom_class = (freesasa_atom_class*) protor_VAL_atom_class,
    .max_area = {.name = "VAL", .total = 146.72, .main_chain = 44.24, .side_chain = 102.48, .polar = 29.89, .apolar = 116.83},
};

static struct classifier_residue *protor_residue_cfg[] = {
    &protor_A_cfg, &protor_ACE_cfg, &protor_ALA_cfg, &protor_ARG_cfg, &protor_ASN_cfg, &protor_ASP_cfg, &protor_ASX_cfg, &protor_C_cfg, &protor_CYS_cfg, &protor_DA_cfg, &protor_DC_cfg, &protor_DG_cfg, &protor_DI_cfg, &protor_DT_cfg, &protor_DU_cfg, &protor_G_cfg, &protor_GLN_cfg, &protor_GLU_cfg, &protor_GLX_cfg, &protor_GLY_cfg, &protor_HIS_cfg, &protor_HOH_cfg, &protor_I_cfg, &protor_ILE_cfg, &protor_LEU_cfg, &protor_LYS_cfg, &protor_MET_cfg, &protor_NH2_cfg, &protor_PHE_cfg, &protor_PRO_cfg, &protor_PYL_cfg, &protor_SEC_cfg, &protor_SER_cfg, &protor_T_cfg, &protor_THR_cfg, &protor_TRP_cfg, &protor_TYR_cfg, &protor_U_cfg, &protor_VAL_cfg, };

const freesasa_classifier freesasa_protor_classifier = {
    .n_residues = 39,    .residue_name = (char**) protor_residue_name,
    .residue = (struct classifier_residue **) protor_residue_cfg,
    .name = "ProtOr",
};