#include "classifier.h"

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

static const char *naccess_residue_name[] = {"A", "ALA", "ANY", "ARG", "ASN", "ASP", "C", "CYS", "DA", "DC", "DG", "DI", "DT", "DU", "G", "GLN", "GLU", "GLY", "HIS", "I", "ILE", "LEU", "LYS", "MET", "PHE", "PRO", "SEC", "SER", "T", "THR", "TRP", "TYR", "U", "VAL", };
static const char *naccess_A_atom_name[] = {"N1", "N3", "C2", "C6", "N7", "C8", "C4", "N6", "C5", "N9", };
static double naccess_A_atom_radius[] = {1.60, 1.60, 1.80, 1.80, 1.60, 1.80, 1.80, 1.60, 1.80, 1.60, };
static int naccess_A_atom_class[] = {FREESASA_ATOM_POLAR, FREESASA_ATOM_POLAR, FREESASA_ATOM_APOLAR, FREESASA_ATOM_APOLAR, FREESASA_ATOM_POLAR, FREESASA_ATOM_APOLAR, FREESASA_ATOM_APOLAR, FREESASA_ATOM_POLAR, FREESASA_ATOM_APOLAR, FREESASA_ATOM_POLAR, };
static struct classifier_residue naccess_A_cfg = {
    .name = "A", .n_atoms = 10,
    .atom_name = (char**) naccess_A_atom_name,
    .atom_radius = (double*) naccess_A_atom_radius,
    .atom_class = (freesasa_atom_class*) naccess_A_atom_class,
    .max_area = {NULL, 0, 0, 0, 0, 0},
};

static const char *naccess_ALA_atom_name[] = {"CB", };
static double naccess_ALA_atom_radius[] = {1.87, };
static int naccess_ALA_atom_class[] = {FREESASA_ATOM_APOLAR, };
static struct classifier_residue naccess_ALA_cfg = {
    .name = "ALA", .n_atoms = 1,
    .atom_name = (char**) naccess_ALA_atom_name,
    .atom_radius = (double*) naccess_ALA_atom_radius,
    .atom_class = (freesasa_atom_class*) naccess_ALA_atom_class,
    .max_area = {.name = "ALA", .total = 102.31, .main_chain = 46.96, .side_chain = 55.35, .polar = 28.51, .apolar = 73.80},
};

static const char *naccess_ANY_atom_name[] = {"O2'", "OP2", "C2'", "OXT", "O5'", "CA", "O4'", "O3'", "C1'", "C3'", "P", "OP3", "O", "C5'", "N", "C4'", "CB", "C", "OP1", };
static double naccess_ANY_atom_radius[] = {1.40, 1.40, 1.80, 1.40, 1.40, 1.87, 1.40, 1.40, 1.80, 1.80, 1.90, 1.40, 1.40, 1.80, 1.65, 1.80, 1.87, 1.76, 1.40, };
static int naccess_ANY_atom_class[] = {FREESASA_ATOM_POLAR, FREESASA_ATOM_POLAR, 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_APOLAR, FREESASA_ATOM_POLAR, 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 naccess_ANY_cfg = {
    .name = "ANY", .n_atoms = 19,
    .atom_name = (char**) naccess_ANY_atom_name,
    .atom_radius = (double*) naccess_ANY_atom_radius,
    .atom_class = (freesasa_atom_class*) naccess_ANY_atom_class,
    .max_area = {NULL, 0, 0, 0, 0, 0},
};

static const char *naccess_ARG_atom_name[] = {"CG", "CZ", "CD", "NH1", "NE", "NH2", };
static double naccess_ARG_atom_radius[] = {1.87, 1.76, 1.87, 1.65, 1.65, 1.65, };
static int naccess_ARG_atom_class[] = {FREESASA_ATOM_APOLAR, FREESASA_ATOM_APOLAR, FREESASA_ATOM_APOLAR, FREESASA_ATOM_POLAR, FREESASA_ATOM_POLAR, FREESASA_ATOM_POLAR, };
static struct classifier_residue naccess_ARG_cfg = {
    .name = "ARG", .n_atoms = 6,
    .atom_name = (char**) naccess_ARG_atom_name,
    .atom_radius = (double*) naccess_ARG_atom_radius,
    .atom_class = (freesasa_atom_class*) naccess_ARG_atom_class,
    .max_area = {.name = "ARG", .total = 232.08, .main_chain = 45.58, .side_chain = 186.50, .polar = 148.95, .apolar = 83.13},
};

static const char *naccess_ASN_atom_name[] = {"CG", "OD1", "ND2", };
static double naccess_ASN_atom_radius[] = {1.76, 1.40, 1.65, };
static int naccess_ASN_atom_class[] = {FREESASA_ATOM_APOLAR, FREESASA_ATOM_POLAR, FREESASA_ATOM_POLAR, };
static struct classifier_residue naccess_ASN_cfg = {
    .name = "ASN", .n_atoms = 3,
    .atom_name = (char**) naccess_ASN_atom_name,
    .atom_radius = (double*) naccess_ASN_atom_radius,
    .atom_class = (freesasa_atom_class*) naccess_ASN_atom_class,
    .max_area = {.name = "ASN", .total = 137.97, .main_chain = 44.26, .side_chain = 93.71, .polar = 87.92, .apolar = 50.05},
};

static const char *naccess_ASP_atom_name[] = {"OD1", "OD2", "CG", };
static double naccess_ASP_atom_radius[] = {1.40, 1.40, 1.76, };
static int naccess_ASP_atom_class[] = {FREESASA_ATOM_POLAR, FREESASA_ATOM_POLAR, FREESASA_ATOM_APOLAR, };
static struct classifier_residue naccess_ASP_cfg = {
    .name = "ASP", .n_atoms = 3,
    .atom_name = (char**) naccess_ASP_atom_name,
    .atom_radius = (double*) naccess_ASP_atom_radius,
    .atom_class = (freesasa_atom_class*) naccess_ASP_atom_class,
    .max_area = {.name = "ASP", .total = 134.50, .main_chain = 45.25, .side_chain = 89.25, .polar = 81.36, .apolar = 53.14},
};

static const char *naccess_C_atom_name[] = {"C5", "C4", "O2", "N4", "C6", "N1", "C2", "N3", };
static double naccess_C_atom_radius[] = {1.80, 1.80, 1.40, 1.60, 1.80, 1.60, 1.80, 1.60, };
static int naccess_C_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_POLAR, };
static struct classifier_residue naccess_C_cfg = {
    .name = "C", .n_atoms = 8,
    .atom_name = (char**) naccess_C_atom_name,
    .atom_radius = (double*) naccess_C_atom_radius,
    .atom_class = (freesasa_atom_class*) naccess_C_atom_class,
    .max_area = {NULL, 0, 0, 0, 0, 0},
};

static const char *naccess_CYS_atom_name[] = {"SG", };
static double naccess_CYS_atom_radius[] = {1.85, };
static int naccess_CYS_atom_class[] = {FREESASA_ATOM_APOLAR, };
static struct classifier_residue naccess_CYS_cfg = {
    .name = "CYS", .n_atoms = 1,
    .atom_name = (char**) naccess_CYS_atom_name,
    .atom_radius = (double*) naccess_CYS_atom_radius,
    .atom_class = (freesasa_atom_class*) naccess_CYS_atom_class,
    .max_area = {.name = "CYS", .total = 127.09, .main_chain = 45.71, .side_chain = 81.38, .polar = 28.51, .apolar = 98.58},
};

static const char *naccess_DA_atom_name[] = {"C8", "C4", "C5", "N6", "N9", "C2", "N3", "N1", "C6", "N7", };
static double naccess_DA_atom_radius[] = {1.80, 1.80, 1.80, 1.60, 1.60, 1.80, 1.60, 1.60, 1.80, 1.60, };
static int naccess_DA_atom_class[] = {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_APOLAR, FREESASA_ATOM_POLAR, };
static struct classifier_residue naccess_DA_cfg = {
    .name = "DA", .n_atoms = 10,
    .atom_name = (char**) naccess_DA_atom_name,
    .atom_radius = (double*) naccess_DA_atom_radius,
    .atom_class = (freesasa_atom_class*) naccess_DA_atom_class,
    .max_area = {NULL, 0, 0, 0, 0, 0},
};

static const char *naccess_DC_atom_name[] = {"C6", "N3", "N1", "C2", "N4", "C5", "C4", "O2", };
static double naccess_DC_atom_radius[] = {1.80, 1.60, 1.60, 1.80, 1.60, 1.80, 1.80, 1.40, };
static int naccess_DC_atom_class[] = {FREESASA_ATOM_APOLAR, FREESASA_ATOM_POLAR, FREESASA_ATOM_POLAR, FREESASA_ATOM_APOLAR, FREESASA_ATOM_POLAR, FREESASA_ATOM_APOLAR, FREESASA_ATOM_APOLAR, FREESASA_ATOM_POLAR, };
static struct classifier_residue naccess_DC_cfg = {
    .name = "DC", .n_atoms = 8,
    .atom_name = (char**) naccess_DC_atom_name,
    .atom_radius = (double*) naccess_DC_atom_radius,
    .atom_class = (freesasa_atom_class*) naccess_DC_atom_class,
    .max_area = {NULL, 0, 0, 0, 0, 0},
};

static const char *naccess_DG_atom_name[] = {"O6", "N3", "N1", "C2", "C6", "N7", "C8", "C4", "C5", "N2", "N9", };
static double naccess_DG_atom_radius[] = {1.40, 1.60, 1.60, 1.80, 1.80, 1.60, 1.80, 1.80, 1.80, 1.60, 1.60, };
static int naccess_DG_atom_class[] = {FREESASA_ATOM_POLAR, 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_POLAR, };
static struct classifier_residue naccess_DG_cfg = {
    .name = "DG", .n_atoms = 11,
    .atom_name = (char**) naccess_DG_atom_name,
    .atom_radius = (double*) naccess_DG_atom_radius,
    .atom_class = (freesasa_atom_class*) naccess_DG_atom_class,
    .max_area = {NULL, 0, 0, 0, 0, 0},
};

static const char *naccess_DI_atom_name[] = {"C5", "N9", "C4", "C8", "N7", "O6", "C6", "N3", "C2", "N1", };
static double naccess_DI_atom_radius[] = {1.80, 1.60, 1.80, 1.80, 1.60, 1.40, 1.80, 1.60, 1.80, 1.60, };
static int naccess_DI_atom_class[] = {FREESASA_ATOM_APOLAR, 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_POLAR, };
static struct classifier_residue naccess_DI_cfg = {
    .name = "DI", .n_atoms = 10,
    .atom_name = (char**) naccess_DI_atom_name,
    .atom_radius = (double*) naccess_DI_atom_radius,
    .atom_class = (freesasa_atom_class*) naccess_DI_atom_class,
    .max_area = {NULL, 0, 0, 0, 0, 0},
};

static const char *naccess_DT_atom_name[] = {"C6", "C2", "N3", "N1", "C4", "O2", "C7", "C5", "O4", };
static double naccess_DT_atom_radius[] = {1.80, 1.80, 1.60, 1.60, 1.80, 1.40, 1.80, 1.80, 1.40, };
static int naccess_DT_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, };
static struct classifier_residue naccess_DT_cfg = {
    .name = "DT", .n_atoms = 9,
    .atom_name = (char**) naccess_DT_atom_name,
    .atom_radius = (double*) naccess_DT_atom_radius,
    .atom_class = (freesasa_atom_class*) naccess_DT_atom_class,
    .max_area = {NULL, 0, 0, 0, 0, 0},
};

static const char *naccess_DU_atom_name[] = {"C6", "C2", "N1", "N3", "C5", "O4", "C4", "O2", };
static double naccess_DU_atom_radius[] = {1.80, 1.80, 1.60, 1.60, 1.80, 1.40, 1.80, 1.40, };
static int naccess_DU_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_POLAR, };
static struct classifier_residue naccess_DU_cfg = {
    .name = "DU", .n_atoms = 8,
    .atom_name = (char**) naccess_DU_atom_name,
    .atom_radius = (double*) naccess_DU_atom_radius,
    .atom_class = (freesasa_atom_class*) naccess_DU_atom_class,
    .max_area = {NULL, 0, 0, 0, 0, 0},
};

static const char *naccess_G_atom_name[] = {"N2", "C5", "N9", "C4", "C8", "N7", "O6", "C6", "N3", "C2", "N1", };
static double naccess_G_atom_radius[] = {1.60, 1.80, 1.60, 1.80, 1.80, 1.60, 1.40, 1.80, 1.60, 1.80, 1.60, };
static int naccess_G_atom_class[] = {FREESASA_ATOM_POLAR, FREESASA_ATOM_APOLAR, 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_POLAR, };
static struct classifier_residue naccess_G_cfg = {
    .name = "G", .n_atoms = 11,
    .atom_name = (char**) naccess_G_atom_name,
    .atom_radius = (double*) naccess_G_atom_radius,
    .atom_class = (freesasa_atom_class*) naccess_G_atom_class,
    .max_area = {NULL, 0, 0, 0, 0, 0},
};

static const char *naccess_GLN_atom_name[] = {"CG", "NE2", "OE1", "CD", };
static double naccess_GLN_atom_radius[] = {1.87, 1.65, 1.40, 1.76, };
static int naccess_GLN_atom_class[] = {FREESASA_ATOM_APOLAR, FREESASA_ATOM_POLAR, FREESASA_ATOM_POLAR, FREESASA_ATOM_APOLAR, };
static struct classifier_residue naccess_GLN_cfg = {
    .name = "GLN", .n_atoms = 4,
    .atom_name = (char**) naccess_GLN_atom_name,
    .atom_radius = (double*) naccess_GLN_atom_radius,
    .atom_class = (freesasa_atom_class*) naccess_GLN_atom_class,
    .max_area = {.name = "GLN", .total = 172.15, .main_chain = 45.58, .side_chain = 126.57, .polar = 117.24, .apolar = 54.91},
};

static const char *naccess_GLU_atom_name[] = {"OE2", "CG", "OE1", "CD", };
static double naccess_GLU_atom_radius[] = {1.40, 1.87, 1.40, 1.76, };
static int naccess_GLU_atom_class[] = {FREESASA_ATOM_POLAR, FREESASA_ATOM_APOLAR, FREESASA_ATOM_POLAR, FREESASA_ATOM_APOLAR, };
static struct classifier_residue naccess_GLU_cfg = {
    .name = "GLU", .n_atoms = 4,
    .atom_name = (char**) naccess_GLU_atom_name,
    .atom_radius = (double*) naccess_GLU_atom_radius,
    .atom_class = (freesasa_atom_class*) naccess_GLU_atom_class,
    .max_area = {.name = "GLU", .total = 166.09, .main_chain = 45.60, .side_chain = 120.49, .polar = 103.10, .apolar = 63.00},
};

static const char *naccess_GLY_atom_name[] = {"CA", };
static double naccess_GLY_atom_radius[] = {1.87, };
static int naccess_GLY_atom_class[] = {FREESASA_ATOM_APOLAR, };
static struct classifier_residue naccess_GLY_cfg = {
    .name = "GLY", .n_atoms = 1,
    .atom_name = (char**) naccess_GLY_atom_name,
    .atom_radius = (double*) naccess_GLY_atom_radius,
    .atom_class = (freesasa_atom_class*) naccess_GLY_atom_class,
    .max_area = {.name = "GLY", .total = 71.50, .main_chain = 71.50, .side_chain = 0.00, .polar = 29.80, .apolar = 41.69},
};

static const char *naccess_HIS_atom_name[] = {"NE2", "CD2", "ND1", "CG", "CE1", };
static double naccess_HIS_atom_radius[] = {1.65, 1.76, 1.65, 1.76, 1.76, };
static int naccess_HIS_atom_class[] = {FREESASA_ATOM_POLAR, FREESASA_ATOM_APOLAR, FREESASA_ATOM_POLAR, FREESASA_ATOM_APOLAR, FREESASA_ATOM_APOLAR, };
static struct classifier_residue naccess_HIS_cfg = {
    .name = "HIS", .n_atoms = 5,
    .atom_name = (char**) naccess_HIS_atom_name,
    .atom_radius = (double*) naccess_HIS_atom_radius,
    .atom_class = (freesasa_atom_class*) naccess_HIS_atom_class,
    .max_area = {.name = "HIS", .total = 173.15, .main_chain = 44.71, .side_chain = 128.44, .polar = 68.23, .apolar = 104.92},
};

static const char *naccess_I_atom_name[] = {"N7", "C6", "C2", "N3", "N1", "O6", "C5", "N9", "C4", "C8", };
static double naccess_I_atom_radius[] = {1.60, 1.80, 1.80, 1.60, 1.60, 1.40, 1.80, 1.60, 1.80, 1.80, };
static int naccess_I_atom_class[] = {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_APOLAR, };
static struct classifier_residue naccess_I_cfg = {
    .name = "I", .n_atoms = 10,
    .atom_name = (char**) naccess_I_atom_name,
    .atom_radius = (double*) naccess_I_atom_radius,
    .atom_class = (freesasa_atom_class*) naccess_I_atom_class,
    .max_area = {NULL, 0, 0, 0, 0, 0},
};

static const char *naccess_ILE_atom_name[] = {"CG1", "CG2", "CD1", };
static double naccess_ILE_atom_radius[] = {1.87, 1.87, 1.87, };
static int naccess_ILE_atom_class[] = {FREESASA_ATOM_APOLAR, FREESASA_ATOM_APOLAR, FREESASA_ATOM_APOLAR, };
static struct classifier_residue naccess_ILE_cfg = {
    .name = "ILE", .n_atoms = 3,
    .atom_name = (char**) naccess_ILE_atom_name,
    .atom_radius = (double*) naccess_ILE_atom_radius,
    .atom_class = (freesasa_atom_class*) naccess_ILE_atom_class,
    .max_area = {.name = "ILE", .total = 166.62, .main_chain = 38.94, .side_chain = 127.68, .polar = 24.25, .apolar = 142.37},
};

static const char *naccess_LEU_atom_name[] = {"CD1", "CD2", "CG", };
static double naccess_LEU_atom_radius[] = {1.87, 1.87, 1.87, };
static int naccess_LEU_atom_class[] = {FREESASA_ATOM_APOLAR, FREESASA_ATOM_APOLAR, FREESASA_ATOM_APOLAR, };
static struct classifier_residue naccess_LEU_cfg = {
    .name = "LEU", .n_atoms = 3,
    .atom_name = (char**) naccess_LEU_atom_name,
    .atom_radius = (double*) naccess_LEU_atom_radius,
    .atom_class = (freesasa_atom_class*) naccess_LEU_atom_class,
    .max_area = {.name = "LEU", .total = 159.40, .main_chain = 45.05, .side_chain = 114.35, .polar = 28.51, .apolar = 130.89},
};

static const char *naccess_LYS_atom_name[] = {"CG", "CE", "CD", "NZ", };
static double naccess_LYS_atom_radius[] = {1.87, 1.87, 1.87, 1.50, };
static int naccess_LYS_atom_class[] = {FREESASA_ATOM_APOLAR, FREESASA_ATOM_APOLAR, FREESASA_ATOM_APOLAR, FREESASA_ATOM_POLAR, };
static struct classifier_residue naccess_LYS_cfg = {
    .name = "LYS", .n_atoms = 4,
    .atom_name = (char**) naccess_LYS_atom_name,
    .atom_radius = (double*) naccess_LYS_atom_radius,
    .atom_class = (freesasa_atom_class*) naccess_LYS_atom_class,
    .max_area = {.name = "LYS", .total = 192.51, .main_chain = 45.59, .side_chain = 146.93, .polar = 77.19, .apolar = 115.32},
};

static const char *naccess_MET_atom_name[] = {"SD", "CG", "CE", };
static double naccess_MET_atom_radius[] = {1.85, 1.87, 1.87, };
static int naccess_MET_atom_class[] = {FREESASA_ATOM_APOLAR, FREESASA_ATOM_APOLAR, FREESASA_ATOM_APOLAR, };
static struct classifier_residue naccess_MET_cfg = {
    .name = "MET", .n_atoms = 3,
    .atom_name = (char**) naccess_MET_atom_name,
    .atom_radius = (double*) naccess_MET_atom_radius,
    .atom_class = (freesasa_atom_class*) naccess_MET_atom_class,
    .max_area = {.name = "MET", .total = 185.85, .main_chain = 45.57, .side_chain = 140.28, .polar = 28.51, .apolar = 157.34},
};

static const char *naccess_PHE_atom_name[] = {"CE1", "CG", "CZ", "CE2", "CD1", "CD2", };
static double naccess_PHE_atom_radius[] = {1.76, 1.76, 1.76, 1.76, 1.76, 1.76, };
static int naccess_PHE_atom_class[] = {FREESASA_ATOM_APOLAR, FREESASA_ATOM_APOLAR, FREESASA_ATOM_APOLAR, FREESASA_ATOM_APOLAR, FREESASA_ATOM_APOLAR, FREESASA_ATOM_APOLAR, };
static struct classifier_residue naccess_PHE_cfg = {
    .name = "PHE", .n_atoms = 6,
    .atom_name = (char**) naccess_PHE_atom_name,
    .atom_radius = (double*) naccess_PHE_atom_radius,
    .atom_class = (freesasa_atom_class*) naccess_PHE_atom_class,
    .max_area = {.name = "PHE", .total = 193.15, .main_chain = 44.02, .side_chain = 149.13, .polar = 28.51, .apolar = 164.64},
};

static const char *naccess_PRO_atom_name[] = {"CG", "CD", };
static double naccess_PRO_atom_radius[] = {1.87, 1.87, };
static int naccess_PRO_atom_class[] = {FREESASA_ATOM_APOLAR, FREESASA_ATOM_APOLAR, };
static struct classifier_residue naccess_PRO_cfg = {
    .name = "PRO", .n_atoms = 2,
    .atom_name = (char**) naccess_PRO_atom_name,
    .atom_radius = (double*) naccess_PRO_atom_radius,
    .atom_class = (freesasa_atom_class*) naccess_PRO_atom_class,
    .max_area = {.name = "PRO", .total = 131.26, .main_chain = 29.75, .side_chain = 101.50, .polar = 14.98, .apolar = 116.27},
};

static const char *naccess_SEC_atom_name[] = {"SE", };
static double naccess_SEC_atom_radius[] = {1.80, };
static int naccess_SEC_atom_class[] = {FREESASA_ATOM_APOLAR, };
static struct classifier_residue naccess_SEC_cfg = {
    .name = "SEC", .n_atoms = 1,
    .atom_name = (char**) naccess_SEC_atom_name,
    .atom_radius = (double*) naccess_SEC_atom_radius,
    .atom_class = (freesasa_atom_class*) naccess_SEC_atom_class,
    .max_area = {NULL, 0, 0, 0, 0, 0},
};

static const char *naccess_SER_atom_name[] = {"OG", };
static double naccess_SER_atom_radius[] = {1.40, };
static int naccess_SER_atom_class[] = {FREESASA_ATOM_POLAR, };
static struct classifier_residue naccess_SER_cfg = {
    .name = "SER", .n_atoms = 1,
    .atom_name = (char**) naccess_SER_atom_name,
    .atom_radius = (double*) naccess_SER_atom_radius,
    .atom_class = (freesasa_atom_class*) naccess_SER_atom_class,
    .max_area = {.name = "SER", .total = 109.82, .main_chain = 46.67, .side_chain = 63.15, .polar = 54.97, .apolar = 54.85},
};

static const char *naccess_T_atom_name[] = {"C2", "N3", "N1", "C6", "C7", "O4", "C5", "O2", "C4", };
static double naccess_T_atom_radius[] = {1.80, 1.60, 1.60, 1.80, 1.80, 1.40, 1.80, 1.40, 1.80, };
static int naccess_T_atom_class[] = {FREESASA_ATOM_APOLAR, FREESASA_ATOM_POLAR, 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 naccess_T_cfg = {
    .name = "T", .n_atoms = 9,
    .atom_name = (char**) naccess_T_atom_name,
    .atom_radius = (double*) naccess_T_atom_radius,
    .atom_class = (freesasa_atom_class*) naccess_T_atom_class,
    .max_area = {NULL, 0, 0, 0, 0, 0},
};

static const char *naccess_THR_atom_name[] = {"CG2", "OG1", };
static double naccess_THR_atom_radius[] = {1.87, 1.40, };
static int naccess_THR_atom_class[] = {FREESASA_ATOM_APOLAR, FREESASA_ATOM_POLAR, };
static struct classifier_residue naccess_THR_cfg = {
    .name = "THR", .n_atoms = 2,
    .atom_name = (char**) naccess_THR_atom_name,
    .atom_radius = (double*) naccess_THR_atom_radius,
    .atom_class = (freesasa_atom_class*) naccess_THR_atom_class,
    .max_area = {.name = "THR", .total = 131.81, .main_chain = 40.30, .side_chain = 91.51, .polar = 47.59, .apolar = 84.22},
};

static const char *naccess_TRP_atom_name[] = {"CH2", "CG", "CZ2", "CE3", "NE1", "CD2", "CE2", "CZ3", "CD1", };
static double naccess_TRP_atom_radius[] = {1.76, 1.76, 1.76, 1.76, 1.65, 1.76, 1.76, 1.76, 1.76, };
static int naccess_TRP_atom_class[] = {FREESASA_ATOM_APOLAR, FREESASA_ATOM_APOLAR, FREESASA_ATOM_APOLAR, FREESASA_ATOM_APOLAR, FREESASA_ATOM_POLAR, FREESASA_ATOM_APOLAR, FREESASA_ATOM_APOLAR, FREESASA_ATOM_APOLAR, FREESASA_ATOM_APOLAR, };
static struct classifier_residue naccess_TRP_cfg = {
    .name = "TRP", .n_atoms = 9,
    .atom_name = (char**) naccess_TRP_atom_name,
    .atom_radius = (double*) naccess_TRP_atom_radius,
    .atom_class = (freesasa_atom_class*) naccess_TRP_atom_class,
    .max_area = {.name = "TRP", .total = 226.33, .main_chain = 40.90, .side_chain = 185.43, .polar = 58.94, .apolar = 167.40},
};

static const char *naccess_TYR_atom_name[] = {"CD2", "CD1", "OH", "CG", "CE1", "CE2", "CZ", };
static double naccess_TYR_atom_radius[] = {1.76, 1.76, 1.40, 1.76, 1.76, 1.76, 1.76, };
static int naccess_TYR_atom_class[] = {FREESASA_ATOM_APOLAR, FREESASA_ATOM_APOLAR, FREESASA_ATOM_POLAR, FREESASA_ATOM_APOLAR, FREESASA_ATOM_APOLAR, FREESASA_ATOM_APOLAR, FREESASA_ATOM_APOLAR, };
static struct classifier_residue naccess_TYR_cfg = {
    .name = "TYR", .n_atoms = 7,
    .atom_name = (char**) naccess_TYR_atom_name,
    .atom_radius = (double*) naccess_TYR_atom_radius,
    .atom_class = (freesasa_atom_class*) naccess_TYR_atom_class,
    .max_area = {.name = "TYR", .total = 206.14, .main_chain = 43.99, .side_chain = 162.14, .polar = 70.47, .apolar = 135.66},
};

static const char *naccess_U_atom_name[] = {"C4", "O2", "C5", "O4", "C6", "C2", "N1", "N3", };
static double naccess_U_atom_radius[] = {1.80, 1.40, 1.80, 1.40, 1.80, 1.80, 1.60, 1.60, };
static int naccess_U_atom_class[] = {FREESASA_ATOM_APOLAR, 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 naccess_U_cfg = {
    .name = "U", .n_atoms = 8,
    .atom_name = (char**) naccess_U_atom_name,
    .atom_radius = (double*) naccess_U_atom_radius,
    .atom_class = (freesasa_atom_class*) naccess_U_atom_class,
    .max_area = {NULL, 0, 0, 0, 0, 0},
};

static const char *naccess_VAL_atom_name[] = {"CG2", "CG1", };
static double naccess_VAL_atom_radius[] = {1.87, 1.87, };
static int naccess_VAL_atom_class[] = {FREESASA_ATOM_APOLAR, FREESASA_ATOM_APOLAR, };
static struct classifier_residue naccess_VAL_cfg = {
    .name = "VAL", .n_atoms = 2,
    .atom_name = (char**) naccess_VAL_atom_name,
    .atom_radius = (double*) naccess_VAL_atom_radius,
    .atom_class = (freesasa_atom_class*) naccess_VAL_atom_class,
    .max_area = {.name = "VAL", .total = 146.03, .main_chain = 44.72, .side_chain = 101.31, .polar = 28.51, .apolar = 117.52},
};

static struct classifier_residue *naccess_residue_cfg[] = {
    &naccess_A_cfg, &naccess_ALA_cfg, &naccess_ANY_cfg, &naccess_ARG_cfg, &naccess_ASN_cfg, &naccess_ASP_cfg, &naccess_C_cfg, &naccess_CYS_cfg, &naccess_DA_cfg, &naccess_DC_cfg, &naccess_DG_cfg, &naccess_DI_cfg, &naccess_DT_cfg, &naccess_DU_cfg, &naccess_G_cfg, &naccess_GLN_cfg, &naccess_GLU_cfg, &naccess_GLY_cfg, &naccess_HIS_cfg, &naccess_I_cfg, &naccess_ILE_cfg, &naccess_LEU_cfg, &naccess_LYS_cfg, &naccess_MET_cfg, &naccess_PHE_cfg, &naccess_PRO_cfg, &naccess_SEC_cfg, &naccess_SER_cfg, &naccess_T_cfg, &naccess_THR_cfg, &naccess_TRP_cfg, &naccess_TYR_cfg, &naccess_U_cfg, &naccess_VAL_cfg, };

const freesasa_classifier freesasa_naccess_classifier = {
    .n_residues = 34,    .residue_name = (char**) naccess_residue_name,
    .residue = (struct classifier_residue **) naccess_residue_cfg,
    .name = "NACCESS",
};

