from dataclasses import make_dataclass
from typing import Dict, List

NAMES: List[str] = [
    "AKT_activation_pEGFR",
    "AKT_activation_pErbB12",
    "AKT_activation_pErbB13",
    "AKT_activation_pErbB32",
    "AKT_activation_pIGF1R",
    "AKT_activation_pMetEGFR",
    "AKT_activation_pMetErbB3",
    "AKT_activation_pMetd",
    "AKT_internIGF1R_effect",
    "EGFR_BTC_binding",
    "EGFR_BTC_dimerize",
    "EGFR_ErbB2_BTC_dimerize",
    "EGFR_ErbB2_basal_act",
    "EGFR_ErbB2_dimerize",
    "EGFR_ErbB3_BTC_dimerize",
    "EGFR_ErbB3_basal_act",
    "EGFR_ErbB3_dimerize",
    "EGFR_ErbB3_dimerize_noHRG",
    "EGFR_basal_activation",
    "EGFR_basal_recycle",
    "EGFR_dimerize",
    "EGFR_lig_binding",
    "EGF_kD",
    "ERK_phosphorylation_pMEK",
    "ErbB2_ErbB3_dimerize",
    "ErbB2_dimerize",
    "ErbB2_recycle",
    "ErbB3_ErbB2_basal_act",
    "ErbB3_basal_activation",
    "ErbB3_basal_recycle",
    "ErbB3_dimerize",
    "ErbB3_lig_binding",
    "HGF_kD",
    "HRG_kD",
    "IGF1R_basal_activation",
    "IGF1R_basal_recycle",
    "IGF1R_dimerize",
    "IGF1R_lig_binding",
    "IGF1_kD",
    "MEK_internIGF1R_effect",
    "MEK_phosphorylation_pEGFR",
    "MEK_phosphorylation_pErbB12",
    "MEK_phosphorylation_pErbB13",
    "MEK_phosphorylation_pErbB32",
    "MEK_phosphorylation_pIGF1R",
    "MEK_phosphorylation_pMetEGFR",
    "MEK_phosphorylation_pMetErbB3",
    "MEK_phosphorylation_pMetd",
    "Met_EGFR_BTC_dimerize",
    "Met_EGFR_basal_act",
    "Met_EGFR_dimerize",
    "Met_ErbB3_basal_act",
    "Met_ErbB3_dimerize",
    "Met_basal_act",
    "Met_dimerize",
    "Met_lig_ErbB3_dimerize",
    "Met_lig_binding",
    "Met_recycle",
    "S6K1_phosphorylation_pAKT",
    "S6K1_phosphorylation_pERK",
    "S6_phosphorylation_pERK",
    "S6_phosphorylation_pS6K1",
    "feedback_pAKT",
    "feedback_pERK",
    "feedback_pERK_on_AKT",
    "feedback_pS6K1",
    "init_AKT",
    "init_EGFR",
    "init_EGFR_EGF",
    "init_ErbB2",
    "init_ErbB3",
    "init_ErbB3_HRG",
    "init_IGF1R",
    "init_IGF1R_IGF1",
    "init_MEK",
    "init_Met",
    "init_Met_HGF",
    "init_RTKph",
    "init_S6",
    "init_pERK",
    "init_pS6K1",
    "pAKT_deactivation",
    "pEGFR_degradation",
    "pEGFR_internalize",
    "pEGFR_phosphatase_binding",
    "pEGFRi_dephosph",
    "pERK_dephosphorylation",
    "pErbB12_degradation",
    "pErbB12_internalize",
    "pErbB12i_dephosph",
    "pErbB12i_phosphatase",
    "pErbB13_degradation",
    "pErbB13_internalize",
    "pErbB13i_dephosph",
    "pErbB13i_phosphatase",
    "pErbB2_degradation",
    "pErbB2_internalize",
    "pErbB2i_dephosph",
    "pErbB2i_phosphatase",
    "pErbB32_degradation",
    "pErbB32_internalize",
    "pErbB32i_dephosph",
    "pErbB32i_phosphatase",
    "pErbB3_degradation",
    "pErbB3_internalize",
    "pErbB3i_dephosph",
    "pErbB3i_phosphatase",
    "pIGF1R_degradation",
    "pIGF1R_internalize",
    "pIGF1Ri_dephosph",
    "pIGF1Ri_phosphatase",
    "pMEK_dephosphorylation",
    "pMetEGFR_degradation",
    "pMetEGFR_internalize",
    "pMetEGFRi_dephosph",
    "pMetEGFRi_phosphatase",
    "pMetErbB3_degradation",
    "pMetErbB3_internalize",
    "pMetErbB3i_dephosph",
    "pMetErbB3i_phosphatase",
    "pMet_degradation",
    "pMet_internalize",
    "pMeti_dephosph",
    "pMeti_phosphatase",
    "pS6K1_dephosphorylation",
    "pS6_dephosphorylation",
    "Ligand_on",
    "scale_Ligand",
    "ModelValue_122_0",
    "offset_pAKT_CelllineA431",
    "offset_pAKT_CelllineACHN_197",
    "offset_pAKT_CelllineACHN_200",
    "offset_pAKT_CelllineACHN_218",
    "offset_pAKT_CelllineACHN_DM",
    "offset_pAKT_CelllineADRr",
    "offset_pAKT_CelllineADRr_B",
    "offset_pAKT_CelllineADRr_B2",
    "offset_pAKT_CelllineBT20",
    "offset_pAKT_CelllineBxPc3",
    "offset_pAKT_CelllineH322M",
    "offset_pAKT_CelllineIGROV1",
    "offset_pEGFR_CelllineA431",
    "offset_pEGFR_CelllineACHN_197",
    "offset_pEGFR_CelllineACHN_200",
    "offset_pEGFR_CelllineACHN_218",
    "offset_pEGFR_CelllineACHN_DM",
    "offset_pEGFR_CelllineADRr",
    "offset_pEGFR_CelllineADRr_B",
    "offset_pEGFR_CelllineADRr_B2",
    "offset_pEGFR_CelllineBT20",
    "offset_pEGFR_CelllineBxPc3",
    "offset_pEGFR_CelllineH322M",
    "offset_pEGFR_CelllineIGROV1",
    "offset_pERK_CelllineA431",
    "offset_pERK_CelllineACHN_197",
    "offset_pERK_CelllineACHN_200",
    "offset_pERK_CelllineACHN_218",
    "offset_pERK_CelllineACHN_DM",
    "offset_pERK_CelllineADRr",
    "offset_pERK_CelllineADRr_B",
    "offset_pERK_CelllineADRr_B2",
    "offset_pERK_CelllineBT20",
    "offset_pERK_CelllineBxPc3",
    "offset_pERK_CelllineH322M",
    "offset_pERK_CelllineIGROV1",
    "offset_pErbB2_CelllineA431",
    "offset_pErbB2_CelllineACHN_197",
    "offset_pErbB2_CelllineACHN_200",
    "offset_pErbB2_CelllineACHN_218",
    "offset_pErbB2_CelllineACHN_DM",
    "offset_pErbB2_CelllineADRr",
    "offset_pErbB2_CelllineADRr_B",
    "offset_pErbB2_CelllineADRr_B2",
    "offset_pErbB2_CelllineBT20",
    "offset_pErbB2_CelllineBxPc3",
    "offset_pErbB2_CelllineH322M",
    "offset_pErbB2_CelllineIGROV1",
    "offset_pErbB3_CelllineA431",
    "offset_pErbB3_CelllineACHN_197",
    "offset_pErbB3_CelllineACHN_200",
    "offset_pErbB3_CelllineACHN_218",
    "offset_pErbB3_CelllineACHN_DM",
    "offset_pErbB3_CelllineADRr",
    "offset_pErbB3_CelllineADRr_B",
    "offset_pErbB3_CelllineADRr_B2",
    "offset_pErbB3_CelllineBT20",
    "offset_pErbB3_CelllineBxPc3",
    "offset_pErbB3_CelllineH322M",
    "offset_pErbB3_CelllineIGROV1",
    "offset_pIGF1R_CelllineA431",
    "offset_pIGF1R_CelllineACHN_197",
    "offset_pIGF1R_CelllineACHN_200",
    "offset_pIGF1R_CelllineACHN_218",
    "offset_pIGF1R_CelllineACHN_DM",
    "offset_pIGF1R_CelllineADRr",
    "offset_pIGF1R_CelllineADRr_B",
    "offset_pIGF1R_CelllineADRr_B2",
    "offset_pIGF1R_CelllineBT20",
    "offset_pIGF1R_CelllineBxPc3",
    "offset_pIGF1R_CelllineH322M",
    "offset_pIGF1R_CelllineIGROV1",
    "offset_pMEK_CelllineA431",
    "offset_pMEK_CelllineACHN_197",
    "offset_pMEK_CelllineACHN_200",
    "offset_pMEK_CelllineACHN_218",
    "offset_pMEK_CelllineACHN_DM",
    "offset_pMEK_CelllineADRr",
    "offset_pMEK_CelllineADRr_B",
    "offset_pMEK_CelllineADRr_B2",
    "offset_pMEK_CelllineBT20",
    "offset_pMEK_CelllineBxPc3",
    "offset_pMEK_CelllineH322M",
    "offset_pMEK_CelllineIGROV1",
    "offset_pMet_CelllineA431",
    "offset_pMet_CelllineACHN_197",
    "offset_pMet_CelllineACHN_200",
    "offset_pMet_CelllineACHN_218",
    "offset_pMet_CelllineACHN_DM",
    "offset_pMet_CelllineADRr",
    "offset_pMet_CelllineADRr_B",
    "offset_pMet_CelllineADRr_B2",
    "offset_pMet_CelllineBT20",
    "offset_pMet_CelllineBxPc3",
    "offset_pMet_CelllineH322M",
    "offset_pMet_CelllineIGROV1",
    "offset_pS6K1_CelllineA431",
    "offset_pS6K1_CelllineACHN_197",
    "offset_pS6K1_CelllineACHN_200",
    "offset_pS6K1_CelllineACHN_218",
    "offset_pS6K1_CelllineACHN_DM",
    "offset_pS6K1_CelllineADRr",
    "offset_pS6K1_CelllineADRr_B",
    "offset_pS6K1_CelllineADRr_B2",
    "offset_pS6K1_CelllineBT20",
    "offset_pS6K1_CelllineBxPc3",
    "offset_pS6K1_CelllineH322M",
    "offset_pS6K1_CelllineIGROV1",
    "offset_pS6_CelllineA431",
    "offset_pS6_CelllineACHN_197",
    "offset_pS6_CelllineACHN_200",
    "offset_pS6_CelllineACHN_218",
    "offset_pS6_CelllineACHN_DM",
    "offset_pS6_CelllineADRr",
    "offset_pS6_CelllineADRr_B",
    "offset_pS6_CelllineADRr_B2",
    "offset_pS6_CelllineBT20",
    "offset_pS6_CelllineBxPc3",
    "offset_pS6_CelllineH322M",
    "offset_pS6_CelllineIGROV1",
    "offset_tEGFR_CelllineA431",
    "offset_tEGFR_CelllineACHN_197",
    "offset_tEGFR_CelllineACHN_200",
    "offset_tEGFR_CelllineACHN_218",
    "offset_tEGFR_CelllineACHN_DM",
    "offset_tEGFR_CelllineADRr",
    "offset_tEGFR_CelllineADRr_B",
    "offset_tEGFR_CelllineADRr_B2",
    "offset_tEGFR_CelllineBT20",
    "offset_tEGFR_CelllineBxPc3",
    "offset_tEGFR_CelllineH322M",
    "offset_tEGFR_CelllineIGROV1",
    "offset_tErbB2_CelllineA431",
    "offset_tErbB2_CelllineACHN_197",
    "offset_tErbB2_CelllineACHN_200",
    "offset_tErbB2_CelllineACHN_218",
    "offset_tErbB2_CelllineACHN_DM",
    "offset_tErbB2_CelllineADRr",
    "offset_tErbB2_CelllineADRr_B",
    "offset_tErbB2_CelllineADRr_B2",
    "offset_tErbB2_CelllineBT20",
    "offset_tErbB2_CelllineBxPc3",
    "offset_tErbB2_CelllineH322M",
    "offset_tErbB2_CelllineIGROV1",
    "offset_tErbB3_CelllineA431",
    "offset_tErbB3_CelllineACHN_197",
    "offset_tErbB3_CelllineACHN_200",
    "offset_tErbB3_CelllineACHN_218",
    "offset_tErbB3_CelllineACHN_DM",
    "offset_tErbB3_CelllineADRr",
    "offset_tErbB3_CelllineADRr_B",
    "offset_tErbB3_CelllineADRr_B2",
    "offset_tErbB3_CelllineBT20",
    "offset_tErbB3_CelllineBxPc3",
    "offset_tErbB3_CelllineH322M",
    "offset_tErbB3_CelllineIGROV1",
    "offset_tIGF1R_CelllineA431",
    "offset_tIGF1R_CelllineACHN_197",
    "offset_tIGF1R_CelllineACHN_200",
    "offset_tIGF1R_CelllineACHN_218",
    "offset_tIGF1R_CelllineACHN_DM",
    "offset_tIGF1R_CelllineADRr",
    "offset_tIGF1R_CelllineADRr_B",
    "offset_tIGF1R_CelllineADRr_B2",
    "offset_tIGF1R_CelllineBT20",
    "offset_tIGF1R_CelllineBxPc3",
    "offset_tIGF1R_CelllineH322M",
    "offset_tIGF1R_CelllineIGROV1",
    "scale_pAKT_CelllineA431",
    "scale_pAKT_CelllineACHN_197",
    "scale_pAKT_CelllineACHN_200",
    "scale_pAKT_CelllineACHN_218",
    "scale_pAKT_CelllineACHN_DM",
    "scale_pAKT_CelllineADRr",
    "scale_pAKT_CelllineADRr_B",
    "scale_pAKT_CelllineADRr_B2",
    "scale_pAKT_CelllineBT20",
    "scale_pAKT_CelllineBxPc3",
    "scale_pAKT_CelllineH322M",
    "scale_pAKT_CelllineIGROV1",
    "scale_pEGFR_CelllineA431",
    "scale_pEGFR_CelllineACHN_197",
    "scale_pEGFR_CelllineACHN_200",
    "scale_pEGFR_CelllineACHN_218",
    "scale_pEGFR_CelllineACHN_DM",
    "scale_pEGFR_CelllineADRr",
    "scale_pEGFR_CelllineADRr_B",
    "scale_pEGFR_CelllineADRr_B2",
    "scale_pEGFR_CelllineBT20",
    "scale_pEGFR_CelllineBxPc3",
    "scale_pEGFR_CelllineH322M",
    "scale_pEGFR_CelllineIGROV1",
    "scale_pERK_CelllineA431",
    "scale_pERK_CelllineACHN_197",
    "scale_pERK_CelllineACHN_200",
    "scale_pERK_CelllineACHN_218",
    "scale_pERK_CelllineACHN_DM",
    "scale_pERK_CelllineADRr",
    "scale_pERK_CelllineADRr_B",
    "scale_pERK_CelllineADRr_B2",
    "scale_pERK_CelllineBT20",
    "scale_pERK_CelllineBxPc3",
    "scale_pERK_CelllineH322M",
    "scale_pERK_CelllineIGROV1",
    "scale_pErbB2_CelllineA431",
    "scale_pErbB2_CelllineACHN_197",
    "scale_pErbB2_CelllineACHN_200",
    "scale_pErbB2_CelllineACHN_218",
    "scale_pErbB2_CelllineACHN_DM",
    "scale_pErbB2_CelllineADRr",
    "scale_pErbB2_CelllineADRr_B",
    "scale_pErbB2_CelllineADRr_B2",
    "scale_pErbB2_CelllineBT20",
    "scale_pErbB2_CelllineBxPc3",
    "scale_pErbB2_CelllineH322M",
    "scale_pErbB2_CelllineIGROV1",
    "scale_pErbB3_CelllineA431",
    "scale_pErbB3_CelllineACHN_197",
    "scale_pErbB3_CelllineACHN_200",
    "scale_pErbB3_CelllineACHN_218",
    "scale_pErbB3_CelllineACHN_DM",
    "scale_pErbB3_CelllineADRr",
    "scale_pErbB3_CelllineADRr_B",
    "scale_pErbB3_CelllineADRr_B2",
    "scale_pErbB3_CelllineBT20",
    "scale_pErbB3_CelllineBxPc3",
    "scale_pErbB3_CelllineH322M",
    "scale_pErbB3_CelllineIGROV1",
    "scale_pIGF1R_CelllineA431",
    "scale_pIGF1R_CelllineACHN_197",
    "scale_pIGF1R_CelllineACHN_200",
    "scale_pIGF1R_CelllineACHN_218",
    "scale_pIGF1R_CelllineACHN_DM",
    "scale_pIGF1R_CelllineADRr",
    "scale_pIGF1R_CelllineADRr_B",
    "scale_pIGF1R_CelllineADRr_B2",
    "scale_pIGF1R_CelllineBT20",
    "scale_pIGF1R_CelllineBxPc3",
    "scale_pIGF1R_CelllineH322M",
    "scale_pIGF1R_CelllineIGROV1",
    "scale_pMEK_CelllineA431",
    "scale_pMEK_CelllineACHN_197",
    "scale_pMEK_CelllineACHN_200",
    "scale_pMEK_CelllineACHN_218",
    "scale_pMEK_CelllineACHN_DM",
    "scale_pMEK_CelllineADRr",
    "scale_pMEK_CelllineADRr_B",
    "scale_pMEK_CelllineADRr_B2",
    "scale_pMEK_CelllineBT20",
    "scale_pMEK_CelllineBxPc3",
    "scale_pMEK_CelllineH322M",
    "scale_pMEK_CelllineIGROV1",
    "scale_pMet_CelllineA431",
    "scale_pMet_CelllineACHN_197",
    "scale_pMet_CelllineACHN_200",
    "scale_pMet_CelllineACHN_218",
    "scale_pMet_CelllineACHN_DM",
    "scale_pMet_CelllineADRr",
    "scale_pMet_CelllineADRr_B",
    "scale_pMet_CelllineADRr_B2",
    "scale_pMet_CelllineBT20",
    "scale_pMet_CelllineBxPc3",
    "scale_pMet_CelllineH322M",
    "scale_pMet_CelllineIGROV1",
    "scale_pS6K1_CelllineA431",
    "scale_pS6K1_CelllineACHN_197",
    "scale_pS6K1_CelllineACHN_200",
    "scale_pS6K1_CelllineACHN_218",
    "scale_pS6K1_CelllineACHN_DM",
    "scale_pS6K1_CelllineADRr",
    "scale_pS6K1_CelllineADRr_B",
    "scale_pS6K1_CelllineADRr_B2",
    "scale_pS6K1_CelllineBT20",
    "scale_pS6K1_CelllineBxPc3",
    "scale_pS6K1_CelllineH322M",
    "scale_pS6K1_CelllineIGROV1",
    "scale_pS6_CelllineA431",
    "scale_pS6_CelllineACHN_197",
    "scale_pS6_CelllineACHN_200",
    "scale_pS6_CelllineACHN_218",
    "scale_pS6_CelllineACHN_DM",
    "scale_pS6_CelllineADRr",
    "scale_pS6_CelllineADRr_B",
    "scale_pS6_CelllineADRr_B2",
    "scale_pS6_CelllineBT20",
    "scale_pS6_CelllineBxPc3",
    "scale_pS6_CelllineH322M",
    "scale_pS6_CelllineIGROV1",
    "scale_tEGFR_CelllineA431",
    "scale_tEGFR_CelllineACHN_197",
    "scale_tEGFR_CelllineACHN_200",
    "scale_tEGFR_CelllineACHN_218",
    "scale_tEGFR_CelllineACHN_DM",
    "scale_tEGFR_CelllineADRr",
    "scale_tEGFR_CelllineADRr_B",
    "scale_tEGFR_CelllineADRr_B2",
    "scale_tEGFR_CelllineBT20",
    "scale_tEGFR_CelllineBxPc3",
    "scale_tEGFR_CelllineH322M",
    "scale_tEGFR_CelllineIGROV1",
    "scale_tErbB2_CelllineA431",
    "scale_tErbB2_CelllineACHN_197",
    "scale_tErbB2_CelllineACHN_200",
    "scale_tErbB2_CelllineACHN_218",
    "scale_tErbB2_CelllineACHN_DM",
    "scale_tErbB2_CelllineADRr",
    "scale_tErbB2_CelllineADRr_B",
    "scale_tErbB2_CelllineADRr_B2",
    "scale_tErbB2_CelllineBT20",
    "scale_tErbB2_CelllineBxPc3",
    "scale_tErbB2_CelllineH322M",
    "scale_tErbB2_CelllineIGROV1",
    "scale_tErbB3_CelllineA431",
    "scale_tErbB3_CelllineACHN_197",
    "scale_tErbB3_CelllineACHN_200",
    "scale_tErbB3_CelllineACHN_218",
    "scale_tErbB3_CelllineACHN_DM",
    "scale_tErbB3_CelllineADRr",
    "scale_tErbB3_CelllineADRr_B",
    "scale_tErbB3_CelllineADRr_B2",
    "scale_tErbB3_CelllineBT20",
    "scale_tErbB3_CelllineBxPc3",
    "scale_tErbB3_CelllineH322M",
    "scale_tErbB3_CelllineIGROV1",
    "scale_tIGF1R_CelllineA431",
    "scale_tIGF1R_CelllineACHN_197",
    "scale_tIGF1R_CelllineACHN_200",
    "scale_tIGF1R_CelllineACHN_218",
    "scale_tIGF1R_CelllineACHN_DM",
    "scale_tIGF1R_CelllineADRr",
    "scale_tIGF1R_CelllineADRr_B",
    "scale_tIGF1R_CelllineADRr_B2",
    "scale_tIGF1R_CelllineBT20",
    "scale_tIGF1R_CelllineBxPc3",
    "scale_tIGF1R_CelllineH322M",
    "scale_tIGF1R_CelllineIGROV1",
]

NUM: int = len(NAMES)

Parameters = make_dataclass(
    cls_name="Parameters",
    fields=[(name, int) for name in NAMES],
    namespace={"NAMES": NAMES, "NUM": NUM},
    frozen=True,
)

name2idx: Dict[str, int] = {k: v for v, k in enumerate(NAMES)}

C = Parameters(**name2idx)

del name2idx
