C_beta = Atom('CH2')
C_delta_1 = Atom('CH')
C_delta_2 = Atom('C')
C_epsilon_2 = Atom('C')
C_epsilon_3 = Atom('CH')
C_eta_2 = Atom('CH')
C_gamma = Atom('C')
C_zeta_2 = Atom('CH')
C_zeta_3 = Atom('CH')
H_epsilon_1 = Atom('H')
N_epsilon_1 = Atom('N')
H_delta_1 = Atom('H')
H_epsilon_3 = Atom('H')
H_zeta_2 = Atom('H')
H_zeta_3 = Atom('H')
H_eta_2 = Atom('H')

bonds = [Bond(C_gamma, C_beta), Bond(C_delta_1, C_gamma), Bond(N_epsilon_1, C_delta_1), Bond(H_epsilon_1, N_epsilon_1), Bond(C_epsilon_2, N_epsilon_1), Bond(C_zeta_2, C_epsilon_2), Bond(C_eta_2, C_zeta_2), Bond(C_zeta_3, C_eta_2), Bond(C_epsilon_3, C_zeta_3), Bond(C_delta_2, C_epsilon_3), Bond(C_gamma, C_delta_2), Bond(C_epsilon_2, C_delta_2), Bond(C_delta_1,H_delta_1), Bond(C_zeta_2,H_zeta_2), Bond(C_zeta_3,H_zeta_3), Bond(C_eta_2,H_eta_2), Bond(C_epsilon_3,H_epsilon_3) ]
opls_atom_type = {C_gamma: 'CK', H_epsilon_1: 'H', C_eta_2: 'CK', C_zeta_3: 'CK', C_epsilon_2: 'CN', N_epsilon_1: 'NA', C_zeta_2: 'CK', C_delta_2: 'CB', C_delta_1: 'CK', C_epsilon_3: 'CK', C_beta: 'C2', H_delta_1: 'HK', H_epsilon_3: 'HK', H_zeta_2: 'HK', H_zeta_3: 'HK', H_eta_2: 'HK' }
name = 'trp_sidechain'
pdbmap = [('TRP', {'NE1': N_epsilon_1, '1HD': H_delta_1, '3HE': H_epsilon_3, 'CH2': C_eta_2, '3HZ': H_zeta_3, 'CB': C_beta, 'CD1': C_delta_1, '1HE': H_epsilon_1, 'CD2': C_delta_2, 'CE2': C_epsilon_2, 'CE3': C_epsilon_3, '2HH': H_eta_2, 'CG': C_gamma, 'CZ3': C_zeta_3, 'CZ2': C_zeta_2, '2HZ': H_zeta_2, }, ), ]
pdb_alternative = {'1HZ': '3HZ', 'HD1': '1HD', 'HD': '1HD', 'HZ2': '2HZ', 'HZ3': '3HZ', 'HE1': '1HE', 'HE3': '3HE', 'HH2': '2HH', 'HNE': '1HE', 'HH': '2HH', 'HE': '3HE'}
