import ajustador as aju def params_fitness(morph_file,ntype,modeltype,ghkkluge=1): P = aju.optimize.AjuParam params = aju.optimize.ParamSet( P('junction_potential', -12e-3, min=-20e-3, max = 20e-3), P('RA', 2.5, min=.4, max=4), P('RM', 2.3, min=0.01, max=100), P('CM', 0.014, min=0.0025, max=0.05), P('Cond_Kir', 9.3, min=.1, max=50), P('Eleak', -0.07, min=-0.09, max=-0.020), P('Cond_NaF_0', 153e3, min=20e3, max=10000e3), P('Cond_NaF_1', 10000, min=0, max=100e3), P('Cond_NaF_2', 1200, min=0, max=100e3), P('Cond_KaS_0', 114, min=1, max=10000), P('Cond_KaS_1', 613, min=1, max=10000), P('Cond_KaS_2', 60, min=1, max=10000), P('Cond_KaF_0', 1228, min=10, max=10000), P('Cond_KaF_1', 1624, min=10, max=10000), P('Cond_KaF_2', 40, min=10, max=10000), P('Cond_Krp', 0.06, min=0, max=100), #P('Cond_Krp_1', 0.05, min=0, max=50), #P('Cond_Krp_2', 0.05, min=0, max=50), P('Cond_SKCa', 1.3, min=0, max=10), P('Cond_CaCC', 1.9, min=.1, max=100), P('Cond_BKCa', 10, min=1, max=100), P('Cond_CaN_0', 1*ghkkluge, min=0, max=10*ghkkluge), P('Cond_CaT32_1', 0.01*ghkkluge, min=0, max=10*ghkkluge), P('Cond_CaT32_2', 2.3*ghkkluge, min=0, max=10*ghkkluge), P('Cond_CaT33_1', 0.01*ghkkluge, min=0, max=10*ghkkluge), P('Cond_CaT33_2', 2.3*ghkkluge, min=0, max=10*ghkkluge), P('Cond_CaL12_0', 2.5*ghkkluge, min=0, max=20*ghkkluge), P('Cond_CaL12_1', 3.5*ghkkluge, min=0, max=20*ghkkluge), P('Cond_CaL12_2', 3*ghkkluge, min=0, max=20*ghkkluge), P('Cond_CaL13_0', 5.5*ghkkluge, min=0, max=20*ghkkluge), P('Cond_CaL13_1', 0.15*ghkkluge, min=0, max=20*ghkkluge), P('Cond_CaL13_2', 0.12*ghkkluge, min=0, max=20*ghkkluge), P('Cond_CaR_0', 5*ghkkluge, min=0, max=60*ghkkluge), P('Cond_CaR_1', 10*ghkkluge, min=0, max=60*ghkkluge), P('Cond_CaR_2', 10*ghkkluge, min=0, max=60*ghkkluge), P('Chan_NaF_vshift_X', 0.0004, min=-0.02, max=0.02), P('Chan_NaF_vshift_Y', 0.009, min=-0.02, max=0.02), P('Chan_NaF_taumul_X', 1.35, min=0.25, max=3), P('Chan_NaF_taumul_Y', 1.34, min=0.25, max=3), P('Chan_KaF_vshift_X', -0.003, min=-0.02, max=0.02), P('Chan_KaF_vshift_Y', 0.0048, min=-0.02, max=0.02), P('Chan_KaF_taumul_X', 0.63, min=0.25, max=3), P('Chan_KaF_taumul_Y', .88, min=0.25, max=3), P('Chan_KaS_vshift_X', -0.02, min=-0.030, max=0.020), P('Chan_KaS_vshift_Y', 0.0015, min=-0.020, max=0.020), P('Chan_KaS_taumul_X', 1, min=0.2, max=4), P('Chan_KaS_taumul_Y', 1.01, min=0.25, max=3), #P('Chan_CaCC_vshift', 0.0, min=-0.01, max=0.01), P('Chan_CaCC_taumul', 1.0, min=0.25, max=3), P('Chan_Kir_vshift', 0.012, min = -.03, max = .03), P('Chan_Kir_taumul', 1.7, min = .25, max = 3), P('morph_file', morph_file, fixed=1), P('neuron_type', ntype, fixed=1), P('model', modeltype, fixed=1)) #fitness=aju.fitnesses.combined_fitness('new_combined_fitness') fitness = aju.fitnesses.combined_fitness('empty', response=3, baseline_pre=2, baseline_post=2, rectification=1, falling_curve_time=1, spike_time=3, spike_width=2, spike_height=10, spike_latency=3, spike_count=3, spike_ahp=2, ahp_curve=1, #charging_curve_time=2, charging_curve_full=4, spike_range_y_histogram=1, mean_isi=1, isi_spread=1, #spike_threshold=.25, #response_variance=0.05, post_injection_curve_tau = 2) return params,fitness