def calc_R_matrix (beta, gamma, alpha): # calculate R matrix from beta value # calc contact matrix C #C = func.calc_contact_matrix(filename_germ_contact_data, filename_germ_pop_data, alpha) q_c, q_a, p_c, p_a, _, _ = func.calc_p(filename_germ_within_group_contact_data, filename_germ_pop_data, filename_germ_all_contact_data) C = func.calc_contact_matrix_pqa(p_c, p_a, q_c, q_a, alpha) # new calc of contact matrix # assign components of C matrix C_cc = C.item((0, 0)) C_ca = C.item((0, 1)) C_ac = C.item((1, 0)) C_aa = C.item((1, 1)) # multiply components of matrix C by alpha or (1-alpha) mx_11 = (C_cc * alpha) mx_12 = (C_ca * alpha) mx_21 = (C_ac * (1 - alpha)) mx_22 = (C_aa * (1 - alpha)) # calc R matrix # SB needs to check - might be (beta / (beta + gamma)) R = ((beta / gamma) * (np.matrix([[mx_11, mx_12], [mx_21, mx_22]]))) #R = ((beta / (beta + gamma)) * (np.matrix([[mx_11, mx_12], [mx_21, mx_22]]))) return C, R
filename_germ_within_group_contact_data = 'Dropbox/Anne_Bansal_lab/Contact_Data/within_group_polymod_germany_contact_matrix_Mossong_2008.csv' filename_germ_all_contact_data = 'Dropbox/Anne_Bansal_lab/Contact_Data/all_ages_polymod_germany_contact_matrix_Mossong_2008.csv' # READ Germany population data filename_germ_pop_data = 'Dropbox/Anne_Bansal_lab/UNdata_Export_2008_Germany_Population.csv' # DEFINE POPULATION PARAMETERS year = 2010 alpha = pop_func.calc_alpha(year, dict_childpop, dict_adultpop) d_metro_age_pop = pop_func.calc_metro_age_pop(filename_metropop, alpha) ch_travelers_r = 0.0 # fraction of children who travel ad_travelers_s = 1 # CONTACT MATRIX q_c, q_a, p_c, p_a, _, _ = pop_func.calc_p(filename_germ_within_group_contact_data, filename_germ_pop_data, filename_germ_all_contact_data) C = pop_func.calc_contact_matrix_pqa(p_c, p_a, q_c, q_a, alpha) #print C # DEFINE DISEASE PARAMETERS R0 = 1.2 gamma = 0.5 # recovery rate based on (1/gamma) day infectious period ### UNIT TEST ### unit_test = 'no_trans' # NO TRANSMISSION # #BETA = 0 beta = 0.0 num_metro_zeros = 1 # set how many metros to select patients from to start with num_child_zeros = 1 num_adult_zeros = 0 time_end = 150